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 :
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.
Merci beaucoup de votre aide.