Bonjour à tous,
j'ai un problème dans la réalisation d'une procédure pour passer un texte contenu dans un fichier en majuscules.
Par exemple, j'ai "coucou, comment ça va?" et je dois renvoyer "COUCOU, COMMENT CA VA?".
Ma procédure lit bien le texte dans le fichier et le réécrit bien dans un second mais ne fait pas le passage en majuscules.
Où est le problème?
Voici ma procédure et le programme principal :
Merci beaucoup de votre aide.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 type Fichier = file of char; var f: Fichier; procedure Majuscule( var f: Fichier ); var c : char; n : integer; g : Fichier; begin reset(f); Assign(g,'c:\tp7\projet\Mtest.txt'); rewrite(g); c:='Z'; n:=0; read(f,c); while not eof(f) do begin n := ord(c); if ( (97 <= n) and (n >= 122) ) then c:= chr(n-32); else if ( (n = 128) or (n = 135) ) then c:= 'C' else if ( (n = 129) or (n = 150) or (n = 151) or (n = 154) or (n = 163)) then c:='U' else if ( (n = 130) or (n = 136) or (n = 137) or (n = 138) or (n = 144) ) then c:='E' else if ( (n = 131) or (n = 132) or (n = 133) or (n = 134) or (n = 142) or (n = 143) or (n = 160) ) then c:='A' else if ( (n = 139) or (n = 140) or (n = 141) or (n = 161) ) then c:='I' else if ( (n = 147) or (n = 148) or (n = 149) or (n = 153) or (n = 162) ) then c:='O' else if ( (n = 164) or (n = 165) ) then c:='N'; write(g,c); read(f,c); end; close(f); close(g); end; var f1, f2 : Fichier; c : integer; n : char; begin Assign(f1,'c:\tp7\projet\test.txt'); Majuscule(f1); writeln('fini'); end.
Partager