main.c
2.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include "tree.h"
int main()
{
setlocale(LC_ALL, "");
//Récupération du fichier contenant le dictionnaire
char fichier[100];
FILE* fp = NULL;
wprintf(L"Quel fichier voulez-vous utiliser comme dictionnaire ?\n");
do{
wscanf(L"%s",fichier);
fp = fopen(fichier,"r");
if(fp == NULL)
{
wprintf(L"Le fichier n'est pas accessible !\nEntrez un autre nom de fichier :\n");
}
}while(fp == NULL);
//Choix des séparateurs
wchar_t separateur[] = L",?;.:/!*+\\\"()=«»[]";
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');
}
//Chargement du dictionnaire
dico Dico;
init_dico(&Dico);
load_dico(fp,&Dico,separateur);
fclose(fp);
wprintf(L"Chargement du dictionnaire effectué!\n\n");
//Récupération du fichier contenant les mots à tester
char recommencer = ' ';
do{
FILE* fp = NULL;
wprintf(L"Quel fichier voulez-vous tester ?\n");
do{
wscanf(L"%s",fichier);
fp = fopen(fichier,"r");
if(fp == NULL)
{
wprintf(L"Le fichier n'est pas accessible !\nEntrez un autre nom de fichier :\n");
}
}while(fp == NULL);
//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
wprintf(L"Voulez vous tester un autre fichier ?[Y]\n");
wscanf(L" %c",&recommencer);
}while(recommencer == 'Y' || recommencer == 'y');
free_dico(Dico);//libérer la mémoire du dictionnaire
wprintf(L"Fin du programme\n");
return 0;
}