Bonjour !!
J'aimerais votre aide pour un problème étrange en Pascal. Je débute en pascal et j'ai voulu écrire un programme qui convertit les caractères d'une chaîne en majuscules.
Mon programme ressemble à ceci :
Mon astuce principale consiste à retrancher 32 sur la valeur numérique ASCII d'un caractère minuscule, on obtient le caractere majuscule correspondant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37 program conversion_minuscules_en_majuscules ; type lettres_min = 'a'..'z' ; var chaine : string[50] ; i : integer ; minuscules : set of lettres_min ; c : char ; x : integer ; BEGIN writeln ('Entrez votre phrase !') ; readln (chaine) ; for i := 1 to length(chaine) do begin if chaine[i] in minuscules then begin c := chaine[i] ; x := (ord(c))-32 ; c := chr(x) ; chaine[i] := c ; end ; end ; writeln ('Voici votre nouvelle phrase !') ; writeln (chaine) ; readln END.
Seulement ... le programme ne détecte aucune erreur et pourtant il ne fonctionne pas DU TOUT, enfin c'est comme si il passe de l'instruction readln (chaine) au début à l'instruction writeln (chaine) en fin de programme, en ignorant complétement la boucle for.
Donc j'aimerais comprendre ce qui va pas : (
Merci
Partager