README.txt
Programmation Avancée - Salingue Valériane - Vollerin Thibault
Réalisation d'un correcteur orthographique
Ce programme réalise un dictionnaire à partir d'un fichier de référence passé en premier paramètre et corrige les fautes dans un texte passé en deuxième paramètre. Il faut corriger un texte qui est dans la même langue que le dictionnaire choisi. On considère que le mot "etude" est faux par rapport au mot "étude". Le fichier de référence doit être un fichier texte composé d'une suite de mots séparés par des retour à la ligne.
Fonctionnement du projet:
La première étape est de constuire le dictionnaire. Pour cela, il ajoute une à une les lettres des mots du fichier de références pour l'ajouter à la structure.
Pour ajouter, soit on utilise init_dico car c'est la première lettre du premier mot du dictionnaire. Ou on utilise ajout_dico_tete si c'est la première lettre à cet indice ( par exemple il n'y a pas encore de mots avec une 5ème lettre). Sinon, on utilise ajout_dico pour ajouter une lettre à un indice (2eme mot avec 3 lettres). Par exemple, pour le premier mot 'voir', on utilise init_dico et pour les 3 autres lettres on utilise ajout_dico_tete. Ensuite, pour voile, on utilise ajout_dico pour 'l' et ajout_dico pour 'e' ( 'v', 'o', 'i' déjà présents dans l'arbre).
La deuxième étape est la comparaison entre le dictionnaire enregistré et le texte passé en deuxième paramètre. Le programme commence donc par recupérer les lettres consituants les différents mots constituant le texte à corriger dans un tableau. Le programme va donc analyser les mots un par un, et lettre par lettre à l'aide de la fonction lecture_mot. Lorsque le tableau est constitué, une deuxième fonction intervient (compare) qui va quant à elle analyser chaque rang du tableau et comparer avec l'arbre créé lors de la construction du dictionnaire. Cette fonction va donc analyser rang par rang le tableau créé précédement. Il va comparer la lettre au rang 0 aux premières lettres du dictionnaire. Si le caractère correspond à un caractère dans l'arbre, l'indice du tableau va s'incrémenter de 1 et va ensuite comparer le caractère aux caractères présents à l'étage inférieur dans l'arbre. S'il ne trouve pas, on passe à l'indice suivant dans l'arbre et il compare avec tous les caractères de la liste. Si à la fin de la liste, un caractère correspondant n'est pas trouvé, le programme annonce une faute dans le mot.
Ce projet fonctionne avec les librairies suivantes :
stdio.h
stdlib.h
stdbool.h
string.h
Pour lancer le programme, il suffit de lancer le Makefile (make) et ensuite d'éxécuter la commande suivante :
./main