00160129
rsSimonin
creation main.c
|
1
2
3
4
5
6
|
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include "arbre.h"
|
2f317645
rsSimonin
end
|
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
void clearInputBuffer() // works only if the input buffer is not empty
{
int c;
do
{
c = getchar();
} while (c != '\n' && c != EOF);
}
void pause()
{
printf("\nAppuyez sur ENTREE pour continuer...\n");
getchar();
}
void bonjour(){
|
35bdc271
rsimonin
affichage
|
22
|
system("clear");
|
1e85143f
rsimonin
modif_affichage
|
23
24
25
|
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf("\nBonjour et bienvenue dans le projet de Programmation Avancée IMA 3\n\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n");
|
2f317645
rsSimonin
end
|
26
27
28
29
30
|
}
void test_arguments(int argc, char *argv[],char mot_dico[20], char mot_fichier[20]){
if(argc <2){
|
1e85143f
rsimonin
modif_affichage
|
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
printf("Vous n'avez pas entrée de dictionnaire ainsi que de fichier\n");
printf("Veuillez entrez votre nom de dictionnaire\n");
scanf("%s",mot_dico);
printf("\n\n");
printf("Veuillez entrez votre nom de fichier\n");
scanf("%s",mot_fichier);
printf("\n\n");
}
else if(argc <3){
printf("Vous n'avez pas entrée de fichier\n");
printf("Veuillez entrez votre nom de fichier\n");
scanf("%s",mot_fichier);
printf("\n\n");
}
|
2f317645
rsSimonin
end
|
45
46
47
|
}
void lire_dico(int argc, char *argv[],char mot_dico[20], char mot_fichier[20],Dico* mondico,FILE* dico){
|
1e85143f
rsimonin
modif_affichage
|
48
|
printf("==================================================================\n");
|
35bdc271
rsimonin
affichage
|
49
50
51
52
53
|
if(argc >1){
printf("chargement de votre dictionnaire \n");
printf("nom: %s\n",argv[1]);
dico=fopen(argv[1],"r");
}
|
1e85143f
rsimonin
modif_affichage
|
54
55
56
57
58
|
else {
printf("chargement de votre dictionnaire \n");
printf("nom: %s\n",mot_dico);
dico=fopen(mot_dico,"r");
}
|
35bdc271
rsimonin
affichage
|
59
60
61
|
// else dico=fopen("words-no-accents","r");
if(dico == NULL){
|
1e85143f
rsimonin
modif_affichage
|
62
|
printf("Nous avons pas compris votre demande.\nNous vous chargeons le dictionnaire par default\n");
|
35bdc271
rsimonin
affichage
|
63
64
|
printf("nom du dico: words-no-accents\n");
dico=fopen("words-no-accents","r");
|
1e85143f
rsimonin
modif_affichage
|
65
66
|
}
|
35bdc271
rsimonin
affichage
|
67
|
|
2f317645
rsSimonin
end
|
68
|
|
35bdc271
rsimonin
affichage
|
69
70
71
|
charger_dico(dico,&mondico);
// affiche_dico(mondico);
fclose(dico);
|
1e85143f
rsimonin
modif_affichage
|
72
|
printf("==================================================================\n\n\n");
|
2f317645
rsSimonin
end
|
73
|
}
|
1e85143f
rsimonin
modif_affichage
|
74
|
|
2f317645
rsSimonin
end
|
75
|
void lire_fichier(int argc, char *argv[],char mot_fichier[20],Dico* mondico,FILE** fichier_utilisateur){
|
1e85143f
rsimonin
modif_affichage
|
76
|
printf("##################################################################\n");
|
35bdc271
rsimonin
affichage
|
77
|
if(argc >2){
|
1e85143f
rsimonin
modif_affichage
|
78
|
printf("Ouverture de votre fichier: %s \n",argv[2]);
|
2f317645
rsSimonin
end
|
79
|
*fichier_utilisateur=fopen(argv[2],"r");
|
1e85143f
rsimonin
modif_affichage
|
80
81
82
|
}
else {
printf("Ouverture de votre fichier: %s \n",mot_fichier);
|
2f317645
rsSimonin
end
|
83
84
|
*fichier_utilisateur=fopen(mot_fichier,"r");
|
1e85143f
rsimonin
modif_affichage
|
85
86
87
|
}
if (fichier_utilisateur==NULL){
printf("Nous avons pas reussi à ouvrir le fichier\n");
|
35bdc271
rsimonin
affichage
|
88
|
}
|
1e85143f
rsimonin
modif_affichage
|
89
|
printf("##################################################################\n");
|
35bdc271
rsimonin
affichage
|
90
|
|
2f317645
rsSimonin
end
|
91
92
93
94
95
96
97
98
99
|
}
void fin(Dico* mondico){
printf("\n\n\nLe programme est fini, vous pouvez relancer une execution\nCommande: ./executable NOM-DICO NOM-FICHIER\n\nA bientôt\n");
free_dico(mondico);
}
void test_fichier(Dico* mondico,FILE* fichier_utilisateur){
if (fichier_utilisateur!=NULL){
|
1e85143f
rsimonin
modif_affichage
|
100
101
|
printf("\n\n¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤\n");
printf("analyse en cours\n\n");
|
35bdc271
rsimonin
affichage
|
102
103
104
|
int juste=0;
int faux=0;
analyse_fichier(fichier_utilisateur,mondico,&juste,&faux);
|
1e85143f
rsimonin
modif_affichage
|
105
106
|
printf("Votre fichier contient %d de mots, dont %d justes et %d faux.\n",juste+faux,juste,faux);
printf("¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤\n");
|
2f317645
rsSimonin
end
|
107
|
pause();
|
35bdc271
rsimonin
affichage
|
108
|
}
|
2f317645
rsSimonin
end
|
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
|
}
int main (int argc,char *argv[]){
FILE* dico = NULL;
char mot_dico[20]; //opti
char mot_fichier[20];
FILE* fichier_utilisateur = NULL;
struct dico mondico;
bonjour();
pause();
test_arguments(argc,argv,mot_dico,mot_fichier);
lire_dico(argc,argv,mot_dico,mot_fichier,&mondico,dico);
clearInputBuffer();
pause();
lire_fichier(argc,argv,mot_fichier,&mondico,&fichier_utilisateur);
|
00929a75
rsSimonin
f
|
136
|
pause();
|
2f317645
rsSimonin
end
|
137
138
139
|
test_fichier(&mondico,fichier_utilisateur);
|
35bdc271
rsimonin
affichage
|
140
|
|
35bdc271
rsimonin
affichage
|
141
142
143
|
if (fichier_utilisateur!=NULL){
fclose(fichier_utilisateur);
}
|
2f317645
rsSimonin
end
|
144
|
fin(&mondico);
|
00160129
rsSimonin
creation main.c
|
145
146
|
return 0;
}
|