Blame view

main.c 1.89 KB
7d87f7e2   grouille   Makefile + complè...
1
2
3
4
5
6
7
8
9
10
  // --------------------------------------------------------

  // 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[])

  {

0e62ceb1   grouille   Code propre
11
    init_pgrm();

7d87f7e2   grouille   Makefile + complè...
12
    Node tree = NULL;

1e4b8b9c   grouille   Code complet comm...
13
14
    int error = 0; // compteur d'erreurs

    int correct = 0; // compteur de corrections effectuées

7d87f7e2   grouille   Makefile + complè...
15
16
    FILE* fp_lib;

    FILE* fp_txt;

0e62ceb1   grouille   Code propre
17
18
19
20
21
22
23
  

    if(argc < 3)

      {

        printf("Le nombre d'arguments est incorrect. Veuillez réessayer.\n");

        return EXIT_FAILURE;

      }

    

1e4b8b9c   grouille   Code complet comm...
24
25
    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

7d87f7e2   grouille   Makefile + complè...
26
  

0e62ceb1   grouille   Code propre
27
28
29
30
31
32
    if(fp_lib==NULL || fp_txt==NULL)

      {

        printf("Erreur de lecture d'un des fichiers passés en paramètres.\n");

        return EXIT_FAILURE;

      }

    

1e4b8b9c   grouille   Code complet comm...
33
34
35
    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

7d87f7e2   grouille   Makefile + complè...
36
  

ffa95c23   grouille   Version finale sa...
37
38
39
    // Si vous souhaitez imprimer l'arbre indexé complet :

    //char word[MAX] = "";

    //print_tree(tree, 0, word);

0e62ceb1   grouille   Code propre
40
  

1e4b8b9c   grouille   Code complet comm...
41
    // Impression du nombre d'erreurs

0e62ceb1   grouille   Code propre
42
43
    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]);

7d87f7e2   grouille   Makefile + complè...
44
  

1e4b8b9c   grouille   Code complet comm...
45
    // Impression du nombre de corrections

ffa95c23   grouille   Version finale sa...
46
47
48
    if(correct<2) printf("%d a été corrigé.\n", correct);

    else printf("%d ont été corrigés.\n", correct);

  

1e4b8b9c   grouille   Code complet comm...
49
50
    free_tree(&tree); // Libération de l'espace mémoire

    fclose(fp_lib); // Fermeture des fichiers texte

7d87f7e2   grouille   Makefile + complè...
51
52
53
    fclose(fp_txt);

    return EXIT_SUCCESS;

  }