#include #include #include #include #include "tree.h" bool caractere_stop(char c) { return(c==',' || c=='.' || c=='!' || c=='?'||c==':'|| c== 39); } void compare(cell *pliste1,char mot[],int *fautes){ cell *pliste; int lettre,i=0; bool fin_mot; pliste = pliste1; if(pliste == NULL){ printf("\nL'arbre est vide\n"); return;//si l'arbre est vide, la comparaison s'arrête. } while(mot[i]!='\0'){ lettre = mot[i]; while(pliste != NULL && pliste->lettre != lettre){//tant que la lettre n'est pas trouvée dans la liste correspondant à sont rang, on continue l'analyse dans la liste. pliste=pliste->suivant; } if(pliste == NULL){ printf("\nErreur : %s",mot); (*fautes)++;//si la lettre n'est pas trouvée dans la liste, on affiche une erreur sur le mot analysé break; } fin_mot = pliste->fin_mot; pliste = pliste->fils; i++; } if(!fin_mot && (mot[i]=='\0')){ printf("\nErreur : %s",mot);//si le mot analysé est trop court par rapport aux mots correspondant dans le dictionnaire, on affiche une erreur. (*fautes)++; return; } } void lecture_mot(cell *pliste,FILE *fichier,int *fautes) { char mot[MAX]; int longueur; while(1) { if(fscanf(fichier, "%s", mot)!=1) break; longueur=strlen(mot); for(int i=0; i