Blame view

main.c 2.55 KB
76053da1   Thorsieger   update des fichiers
1
  #include "tree.h"
03168857   mertz   create tree op
2
  
a2991896   Thorsieger   ajout dernier com...
3
  int main(int argc, char *argv[])
03168857   mertz   create tree op
4
  {
284154ca   Thorsieger   gestion des accents
5
    setlocale(LC_ALL, "");
a2991896   Thorsieger   ajout dernier com...
6
    
16e67e7e   Thorsieger   l'utilisateur peu...
7
8
    //Récupération du fichier contenant le dictionnaire
    char fichier[100];
a2991896   Thorsieger   ajout dernier com...
9
    if (argc == 3) strcpy(fichier, argv[1]);
0c5c5f59   Thorsieger   lancer le program...
10
  
a2991896   Thorsieger   ajout dernier com...
11
12
13
14
15
16
17
    FILE *fp = NULL;
    if (argc != 3) wprintf(L"Quel fichier voulez-vous utiliser comme dictionnaire ?\n");
    do
    {
      if (argc != 3) wscanf(L"%s", fichier);
      fp = fopen(fichier, "r");
      if (fp == NULL)
16e67e7e   Thorsieger   l'utilisateur peu...
18
      {
a2991896   Thorsieger   ajout dernier com...
19
20
21
22
23
24
        if (argc == 3)
        {
          wprintf(L"Le fichier n'est pas accessible !\n");
          return 1;
        }
        else wprintf(L"Le fichier n'est pas accessible !\nEntrez un autre nom de fichier :\n");
16e67e7e   Thorsieger   l'utilisateur peu...
25
      }
a2991896   Thorsieger   ajout dernier com...
26
27
    } while (fp == NULL);
  
f5b960c9   Thorsieger   utilisateur peut ...
28
    //Choix des séparateurs
fdfde24a   Thorsieger   ajout de dictionn...
29
    wchar_t separateur[] = L",?;.:/!*+\\\"()=«»[]";
f5b960c9   Thorsieger   utilisateur peut ...
30
  
a2991896   Thorsieger   ajout dernier com...
31
    wprintf(L"La liste des séparateurs est : %ls  \nVoulez vous la changer ?[Y]\n", separateur);
f5b960c9   Thorsieger   utilisateur peut ...
32
    char changer_separateur = ' ';
a2991896   Thorsieger   ajout dernier com...
33
34
    wscanf(L" %c", &changer_separateur);
    if (changer_separateur == 'Y' || changer_separateur == 'y')
f5b960c9   Thorsieger   utilisateur peut ...
35
    {
a2991896   Thorsieger   ajout dernier com...
36
37
      do
      {
f5b960c9   Thorsieger   utilisateur peut ...
38
        wprintf(L"Entrez la nouvelle liste des séparateur :\n");
a2991896   Thorsieger   ajout dernier com...
39
40
41
42
        wscanf(L"%ls", separateur);
        wprintf(L"La liste des séparateurs :  %ls vous convient ?[Y]\n", separateur);
        wscanf(L" %c", &changer_separateur);
      } while (changer_separateur != 'Y' && changer_separateur != 'y');
f5b960c9   Thorsieger   utilisateur peut ...
43
44
    }
  
16e67e7e   Thorsieger   l'utilisateur peu...
45
46
    //Chargement du dictionnaire
    dico Dico;
0f6db57b   Thorsieger   gestion des accen...
47
    init_dico(&Dico);
a2991896   Thorsieger   ajout dernier com...
48
    load_dico(fp, &Dico, separateur);
16e67e7e   Thorsieger   l'utilisateur peu...
49
    fclose(fp);
f5b960c9   Thorsieger   utilisateur peut ...
50
    wprintf(L"Chargement du dictionnaire effectué!\n\n");
16e67e7e   Thorsieger   l'utilisateur peu...
51
52
  
    //Récupération du fichier contenant les mots à tester
0c5c5f59   Thorsieger   lancer le program...
53
    char recommencer = ' ';
a2991896   Thorsieger   ajout dernier com...
54
55
56
57
58
59
    do
    {
      FILE *fp = NULL;
      if (argc != 3) wprintf(L"Quel fichier voulez-vous tester ?\n");
      else strcpy(fichier, argv[2]);
      do
16e67e7e   Thorsieger   l'utilisateur peu...
60
      {
a2991896   Thorsieger   ajout dernier com...
61
62
63
64
65
66
67
68
69
70
71
72
        if (argc != 3) wscanf(L"%s", fichier);
        fp = fopen(fichier, "r");
        if (fp == NULL)
        {
          if (argc == 3)
          {
            wprintf(L"Le fichier n'est pas accessible !\n");
            return 1;
          }
          else wprintf(L"Le fichier n'est pas accessible !\nEntrez un autre nom de fichier :\n");
        }
      } while (fp == NULL);
16e67e7e   Thorsieger   l'utilisateur peu...
73
  
a2991896   Thorsieger   ajout dernier com...
74
75
76
77
78
79
80
81
82
83
      //Vérification des mots du fichier
      int result = find_erreur(Dico, fp, separateur);
      wprintf(L"Le fichier testé contient %d mots qui ne sont pas présent dans le dictionnaire.\n", result);
      fclose(fp);
  
      //Demande si volonté de recommencer
      if (argc != 3){
        wprintf(L"Voulez vous tester un autre fichier ?[Y]\n");
        wscanf(L" %c", &recommencer);
      }else recommencer = ' ';
264d2b59   Thorsieger   debut verif ortho...
84
  
a2991896   Thorsieger   ajout dernier com...
85
    } while (recommencer == 'Y' || recommencer == 'y');
264d2b59   Thorsieger   debut verif ortho...
86
  
a2991896   Thorsieger   ajout dernier com...
87
    free_dico(Dico); //libérer la mémoire du dictionnaire
131759ee   Thorsieger   fin free arbre
88
  
f5b960c9   Thorsieger   utilisateur peut ...
89
    wprintf(L"Fin du programme\n");
131759ee   Thorsieger   fin free arbre
90
  
03168857   mertz   create tree op
91
92
    return 0;
  }