Blame view

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