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 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);
... ...