Bonsoir,
Voilà, j'ai un autre exercice qui permet de calculer le nombre de mots dans un fichier texte. J'ai essayé avec ce code mais j'ai un résultat d'exécution incorrect : 4361 mots dans le fichier. Je ne trouve pas mon erreur de programmation, voilà mon code.
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
61
62
63
64
65
66 program NBRMOT; uses wincrt; var t:text; ph:string; procedure creation (var t:text); begin assign(t,'D:\TPPAS\source.txt'); rewrite(t); end; procedure saisie_PH(p:string); begin repeat writeln('Saisir une phrase'); readln(p); until (p[1] in ['A'..'Z'])and (p[length(p)]='.'); end; Procedure saisie (var t:text); var n,i:integer; begin repeat writeln('Donner le nombre de phrase à saisir'); readln(n); until (n>0); for i:=1 to n do begin saisie_PH(ph); append(t); writeln(t,ph); end; end; Function MOT (p:string):integer; var i,nb:integer; begin nb:=1; for i:=1 to length(p) do if p[i]=' 'then nb:=nb+1; end; Function NBMOT (var t:text):integer; var nbm:integer; begin reset(t);nbm:=0; while not(eof(t)) do begin readln(t,ph); nbm:=Mot(ph); end; NBMOT:=nbm; end; BEGIN creation(t); saisie(t); writeln(NBMOT(t)); END.
Partager