// -------------------------------------------------------- // Projet IMA3 2019 - Lecture d'une bibliothèque // Décompte du nombre de fautes d'orthographe dans un texte // Normand Quentin & Rouillé Guillaume // -------------------------------------------------------- #include "tree.h" int main(int argc, char *argv[]) { init_pgrm(); Node tree = NULL; int error = 0; // compteur d'erreurs int correct = 0; // compteur de corrections effectuées FILE* fp_lib; FILE* fp_txt; if(argc < 3) { printf("Le nombre d'arguments est incorrect. Veuillez réessayer.\n"); return EXIT_FAILURE; } fp_lib = fopen(argv[argc-2], "r"); // ouverture du fichier bibliothèque en mode lecture fp_txt = fopen(argv[argc-1], "r+"); // ouverture du fichier à analyser en mode lecture/écriture if(fp_lib==NULL || fp_txt==NULL) { printf("Erreur de lecture d'un des fichiers passés en paramètres.\n"); return EXIT_FAILURE; } init_tree(&tree); // initialisation de l'arbre indexé read_lib(fp_lib, &tree); // lecture de la bibliothèque read_txt(fp_txt, &tree, &error, &correct); // analyse du fichier et corrections éventuelles // Si vous souhaitez imprimer l'arbre indexé complet : //char word[MAX] = ""; //print_tree(tree, 0, word); // Impression du nombre d'erreurs if(error<2) printf("Dans le texte %s, %d mot n'est pas dans le dictionnaire %s.\n", argv[argc-1], error, argv[argc-2]); else printf("Dans le texte %s, %d mots ne sont pas dans le dictionnaire %s.\n", argv[argc-1], error, argv[argc-2]); // Impression du nombre de corrections if(correct<2) printf("%d a été corrigé.\n", correct); else printf("%d ont été corrigés.\n", correct); free_tree(&tree); // Libération de l'espace mémoire fclose(fp_lib); // Fermeture des fichiers texte fclose(fp_txt); return EXIT_SUCCESS; }