Commit d6eeddaa3870a8d46b1a7af5e22ef204e2c5d8fd
1 parent
46b621e7
toutes les fonctions sont finis
Showing
1 changed file
with
27 additions
and
36 deletions
Show diff stats
arbre.c
... | ... | @@ -31,27 +31,18 @@ int calculcase(char c) |
31 | 31 | return c-'a'; |
32 | 32 | } |
33 | 33 | } |
34 | - | |
35 | -bool est_vide(struct arbre *arbre) | |
36 | -{ | |
37 | - return arbre==NULL; | |
38 | -} | |
39 | - | |
34 | + | |
40 | 35 | bool mot_existe(struct arbre *monarbre,char *mot,int i){ |
41 | 36 | if (monarbre==NULL){ |
42 | -// printf("false\n"); | |
37 | + printf("%s n'est pas dans le dictionnaire\n",mot); | |
43 | 38 | return false; |
44 | 39 | } |
45 | -// printf("%c \n",(monarbre->val)); | |
46 | 40 | if (mot[i+1]=='\0'){ |
47 | -// printf("finmot\n"); | |
41 | + printf("%s %d\n",mot, monarbre->finmot); | |
48 | 42 | return monarbre->finmot; |
49 | 43 | } |
50 | - else { | |
51 | - i++; | |
52 | - return mot_existe(monarbre->suite[calculcase(mot[i])],mot,i); | |
53 | - | |
54 | - } | |
44 | + i++; | |
45 | + return mot_existe(monarbre->suite[calculcase(mot[i])],mot,i); | |
55 | 46 | } |
56 | 47 | |
57 | 48 | void ini_dico(struct dico *pt_dico) |
... | ... | @@ -84,13 +75,14 @@ void ajout_mot(struct arbre **arbrecourant,char *mot,int i) |
84 | 75 | if (*arbrecourant==NULL){ |
85 | 76 | creation_arbre(arbrecourant,mot[i]); |
86 | 77 | } |
87 | - i++; | |
88 | 78 | if(mot[i+1]=='\0'){ |
89 | -// printf("mot:%s %d\n\n\n",mot,i); | |
79 | + printf("mot:%s %c\n",mot,mot[i]); | |
90 | 80 | (*arbrecourant)->finmot=true; |
91 | 81 | } |
92 | - else ajout_mot(&((*arbrecourant)->suite[calculcase(mot[i])]),mot,i); | |
82 | + i++; | |
83 | + ajout_mot(&((*arbrecourant)->suite[calculcase(mot[i])]),mot,i); | |
93 | 84 | } |
85 | + else return ; | |
94 | 86 | |
95 | 87 | } |
96 | 88 | |
... | ... | @@ -156,20 +148,20 @@ void affiche_dico(struct dico *dico) |
156 | 148 | } |
157 | 149 | |
158 | 150 | |
159 | -void analyse_fichier(FILE *fp,Dico *pt_dico, int *res[2]){ | |
151 | +void analyse_fichier(FILE *fp,Dico *pt_dico, int *nb_t, int *nb_f){ | |
160 | 152 | int nbmot_t=0; |
161 | 153 | int nbmot_f=0; |
162 | 154 | char mot[20]; |
163 | 155 | while (fscanf(fp, "%s", mot)==1){ |
164 | 156 | // printf("mot:%s\n\n\n",mot); |
165 | 157 | // printf("\nlettre:%c\n",mot[0]); |
166 | - if(mot_existe(pt_dico->alpha[calculcase(mot[0])],mot,0)){ | |
158 | + if(mot_existe(pt_dico->alpha[calculcase(mot[0])],mot,0)==1){ | |
167 | 159 | nbmot_t++; |
168 | 160 | } |
169 | 161 | else nbmot_f++; |
170 | 162 | } |
171 | - *res[0]=nbmot_t; | |
172 | - *res[1]=nbmot_f; | |
163 | + *nb_t=nbmot_t; | |
164 | + *nb_f=nbmot_f; | |
173 | 165 | } |
174 | 166 | |
175 | 167 | int main (int argc,char *argv[]){ |
... | ... | @@ -188,15 +180,15 @@ int main (int argc,char *argv[]){ |
188 | 180 | |
189 | 181 | struct dico *mondico=malloc(sizeof(struct dico)); |
190 | 182 | charger_dico(dico,&mondico); |
191 | - affiche_dico(mondico); | |
183 | +// affiche_dico(mondico); | |
192 | 184 | fclose(dico); |
193 | 185 | char mot[]="zombie"; |
194 | - char mot2[]="zombbbiiee"; | |
195 | -// mot_existe(mondico->alpha[calculcase(mot[0])],mot,0); | |
196 | -// mot_existe(mondico->alpha[calculcase(mot2[0])],mot2,0); | |
186 | + char mot2[]="chaine"; | |
187 | +// mot_existe(mondico->alpha[calculcase('r')],"rerere",0); | |
188 | + //mot_existe(mondico->alpha[calculcase(mot2[0])],mot2,0); | |
197 | 189 | |
198 | - printf("%s:%d \n",mot,mot_existe(mondico->alpha[calculcase(mot[0])],mot,0)); | |
199 | - printf("%s:%d \n",mot2,mot_existe(mondico->alpha[calculcase(mot2[0])],mot2,0)); | |
190 | + printf("1: %s:%d \n",mot,mot_existe(mondico->alpha[calculcase(mot[0])],mot,0)); | |
191 | + printf("2: %s:%d \n",mot2,mot_existe(mondico->alpha[calculcase(mot2[0])],mot2,0)); | |
200 | 192 | |
201 | 193 | FILE* fichier_utilisateur = NULL; |
202 | 194 | if(argc >2){ |
... | ... | @@ -205,17 +197,16 @@ int main (int argc,char *argv[]){ |
205 | 197 | printf("Fin Analyse de votre fichier \n"); |
206 | 198 | } |
207 | 199 | |
208 | -// if (fichier_utilisateur!=NULL){ | |
209 | -// printf("analyse en cours"); | |
210 | -// int *res[2]; | |
211 | -// analyse_fichier(fichier_utilisateur,mondico,res); | |
212 | -// printf("juste:%d \n",*res[0]); | |
213 | -// printf("faux:%d \n",*res[1]); | |
214 | -// } | |
200 | + if (fichier_utilisateur!=NULL){ | |
201 | + printf("analyse en cours\n"); | |
202 | + int juste=0; | |
203 | + int faux=0; | |
204 | + analyse_fichier(fichier_utilisateur,mondico,&juste,&faux); | |
205 | + printf("juste:%d \n",juste); | |
206 | + printf("faux:%d \n",faux); | |
207 | + } | |
215 | 208 | |
216 | 209 | printf("fin programme \n"); |
217 | - | |
218 | - | |
219 | 210 | free_dico(mondico); |
220 | 211 | if (fichier_utilisateur!=NULL){ |
221 | 212 | fclose(fichier_utilisateur); | ... | ... |