Commit d6eeddaa3870a8d46b1a7af5e22ef204e2c5d8fd

Authored by rsimonin
1 parent 46b621e7

toutes les fonctions sont finis

Showing 1 changed file with 27 additions and 36 deletions   Show diff stats
@@ -31,27 +31,18 @@ int calculcase(char c) @@ -31,27 +31,18 @@ int calculcase(char c)
31 return c-'a'; 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 bool mot_existe(struct arbre *monarbre,char *mot,int i){ 35 bool mot_existe(struct arbre *monarbre,char *mot,int i){
41 if (monarbre==NULL){ 36 if (monarbre==NULL){
42 -// printf("false\n"); 37 + printf("%s n'est pas dans le dictionnaire\n",mot);
43 return false; 38 return false;
44 } 39 }
45 -// printf("%c \n",(monarbre->val));  
46 if (mot[i+1]=='\0'){ 40 if (mot[i+1]=='\0'){
47 -// printf("finmot\n"); 41 + printf("%s %d\n",mot, monarbre->finmot);
48 return monarbre->finmot; 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 void ini_dico(struct dico *pt_dico) 48 void ini_dico(struct dico *pt_dico)
@@ -84,13 +75,14 @@ void ajout_mot(struct arbre **arbrecourant,char *mot,int i) @@ -84,13 +75,14 @@ void ajout_mot(struct arbre **arbrecourant,char *mot,int i)
84 if (*arbrecourant==NULL){ 75 if (*arbrecourant==NULL){
85 creation_arbre(arbrecourant,mot[i]); 76 creation_arbre(arbrecourant,mot[i]);
86 } 77 }
87 - i++;  
88 if(mot[i+1]=='\0'){ 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 (*arbrecourant)->finmot=true; 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,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 int nbmot_t=0; 152 int nbmot_t=0;
161 int nbmot_f=0; 153 int nbmot_f=0;
162 char mot[20]; 154 char mot[20];
163 while (fscanf(fp, "%s", mot)==1){ 155 while (fscanf(fp, "%s", mot)==1){
164 // printf("mot:%s\n\n\n",mot); 156 // printf("mot:%s\n\n\n",mot);
165 // printf("\nlettre:%c\n",mot[0]); 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 nbmot_t++; 159 nbmot_t++;
168 } 160 }
169 else nbmot_f++; 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 int main (int argc,char *argv[]){ 167 int main (int argc,char *argv[]){
@@ -188,15 +180,15 @@ int main (int argc,char *argv[]){ @@ -188,15 +180,15 @@ int main (int argc,char *argv[]){
188 180
189 struct dico *mondico=malloc(sizeof(struct dico)); 181 struct dico *mondico=malloc(sizeof(struct dico));
190 charger_dico(dico,&mondico); 182 charger_dico(dico,&mondico);
191 - affiche_dico(mondico); 183 +// affiche_dico(mondico);
192 fclose(dico); 184 fclose(dico);
193 char mot[]="zombie"; 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 FILE* fichier_utilisateur = NULL; 193 FILE* fichier_utilisateur = NULL;
202 if(argc >2){ 194 if(argc >2){
@@ -205,17 +197,16 @@ int main (int argc,char *argv[]){ @@ -205,17 +197,16 @@ int main (int argc,char *argv[]){
205 printf("Fin Analyse de votre fichier \n"); 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 printf("fin programme \n"); 209 printf("fin programme \n");
217 -  
218 -  
219 free_dico(mondico); 210 free_dico(mondico);
220 if (fichier_utilisateur!=NULL){ 211 if (fichier_utilisateur!=NULL){
221 fclose(fichier_utilisateur); 212 fclose(fichier_utilisateur);