Commit 0aa091e733d47f2884ba5d33b25a634b96c0750d

Authored by Fontaine Maxime
1 parent ef5eea94

Algorithme modifié

Showing 1 changed file with 18 additions and 13 deletions   Show diff stats
correcteur.c
... ... @@ -66,11 +66,10 @@ void ajout_alphab(Node ** pn, char * mot,int cpt)
66 66 Node * tmp= *pn;
67 67 char lettre=mot[cpt];
68 68 int pos;
69   - /*if (lettre>=97 && lettre<=122) pos = lettre - 'a';
70   - if (lettre == 39) pos=26;
71   - if (lettre>='A' && lettre <= 'Z') pos =lettre -'A';*/
  69 +
72 70 pos=lettre;
73   - if (lettre == '\0'){
  71 + if (lettre>='A' && lettre <= 'Z') pos =lettre -'A'+'a';
  72 + if (lettre == '\0' || pos == 44 || pos == 46){
74 73 (*tmp).fin_de_mot=1;
75 74 return;
76 75 }
... ... @@ -153,35 +152,41 @@ void initialisation(Node ** Arbre){
153 152  
154 153  
155 154  
156   -void comparaison(Node ** pn, char * mot,int cpt)
  155 +int comparaison(Node ** pn, char * mot,int cpt,int * erreur)
157 156 {
158 157 char lettre=mot[cpt];
159 158 int pos = lettre ;
  159 + if (lettre>='A' && lettre <= 'Z') pos =lettre -'A'+'a';
160 160 cpt++;
161   - if (lettre == '\0'){
  161 + if (lettre == '\0' || pos == 44 || pos == 46){
162 162 if((*pn)->fin_de_mot==0){
163   - printf("1 erreur \n");
  163 + (*erreur)++;
164 164 }
165 165  
166   - return ;
  166 + return (*erreur);
167 167 }
  168 + if (lettre == '?' || lettre == '!' || lettre == ':' || lettre == ';') return 0;
168 169 if ((*pn)->lettres[pos] == NULL) {
169   - printf("1 erreur \n");
170   - return;
  170 + (*erreur)++;
  171 + return (*erreur);
171 172 }
172   - return comparaison(&(*pn)->lettres[pos],mot,cpt);
  173 + return comparaison(&(*pn)->lettres[pos],mot,cpt,erreur);
173 174  
174 175  
175 176 }
176 177  
177 178 void test_erreur(Node * Dico){
178 179 FILE * texte;
  180 + int * erreur=malloc(sizeof(int));
  181 + (*erreur)=0;
179 182 char mot[MAX_LETTRES];
180 183 texte = fopen("test.txt","r");
181 184 int i;
182 185 while ((i = fscanf(texte,"%s",mot)) == 1){
183   - comparaison(&Dico,mot,0);
  186 + (*erreur)=comparaison(&Dico,mot,0,erreur);
184 187 }
  188 + if ((*erreur)==0 || (*erreur)==1 ) printf("%d erreur",(*erreur));
  189 + else printf("%d erreurs",(*erreur));
185 190 fclose(texte);
186 191 }
187 192  
... ... @@ -194,7 +199,7 @@ int main(){
194 199 Node * Arbre;
195 200 initialisation(&Arbre);
196 201 charger_arbre(&Arbre);
197   - affichage_arbre(Arbre);
  202 + //affichage_arbre(Arbre);
198 203 printf("Arbre fini \n");
199 204 test_erreur(Arbre);
200 205 detruire_arbre(&Arbre);
... ...