Commit 2a8b7b7a9aff3f9acf31b0edb25a4657d6b9ee9c

Authored by tvieuble
1 parent 64de9332

Suppression fichiers inutiles

Showing 1 changed file with 0 additions and 181 deletions   Show diff stats
projetfinalaccent.c~ deleted
@@ -1,181 +0,0 @@ @@ -1,181 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -#include <wchar.h>  
4 -#include <locale.h>  
5 -  
6 -#define A 26  
7 -  
8 -struct node {  
9 - wchar_t lettre;  
10 - struct cell* listeFils;  
11 -};  
12 -  
13 -struct cell {  
14 - struct node* arbre;  
15 - struct cell* arbreSuivant;  
16 -};  
17 -  
18 -void lien_listeFils(struct cell** pL) {  
19 - struct cell* p;  
20 - p = malloc(sizeof(struct cell));  
21 -  
22 - (*pL)->arbre->listeFils = p;  
23 -}  
24 -  
25 -void initialisation_tab_arbre(struct node tab[]) {  
26 - for(int i = 0; i < A; i++) {  
27 - tab[i].lettre = 97+i; //ajout lettres minuscules  
28 - tab[i].listeFils = NULL;  
29 - }  
30 -}  
31 -  
32 -void ajout_tete(wchar_t elem, struct cell** pL) {  
33 - struct cell* p;  
34 - p = malloc(sizeof(struct cell));  
35 - p->arbre = malloc(sizeof(struct node));  
36 - p->arbre->listeFils = NULL;  
37 - p->arbre->lettre = elem;  
38 - p->arbreSuivant = *pL;  
39 - *pL = p;  
40 -}  
41 -  
42 -struct cell ** insertion(wchar_t elem, struct cell** pL) {  
43 - if(((*pL) == NULL) || ((*pL)->arbre->lettre > elem)) {  
44 - ajout_tete(elem, pL);  
45 - return &(*pL)->arbre->listeFils;  
46 - }  
47 - else if((*pL)->arbre->lettre == elem) {  
48 - return &(*pL)->arbre->listeFils;  
49 - }  
50 - else {  
51 - return insertion(elem, &(*pL)->arbreSuivant);  
52 - }  
53 -}  
54 -  
55 -  
56 -void remplir_dico(FILE* fd, struct node tab_arbre_prcp[]) {  
57 -  
58 - struct cell** localisationArbre = NULL;  
59 - int cptmot = 0;  
60 - wchar_t motLu[50];  
61 - while(fwscanf(Lfd, "%ls", motLu)==1) {  
62 - wprintf(L"mot lu : %ls\n", motLu);  
63 - int estUneLettre = 1;  
64 - int i = 0;  
65 - cptmot += 1;  
66 - if((motLu[0] >= 'A') && (motLu[0] <= 'Z')) {  
67 - localisationArbre = &tab_arbre_prcp[motLu[0]-65].listeFils;  
68 - }  
69 - else if((motLu[0] >= 'a') && (motLu[0] <= 'z')) {  
70 - localisationArbre = &tab_arbre_prcp[motLu[0]-97].listeFils;  
71 - }  
72 - else {  
73 - wprintf(L"Erreur remplissage dico : L'un des caracteres n'est pas une lettre\n");  
74 - wprintf(L"Mot : %ls incorrect\n", motLu);  
75 - estUneLettre = 0;  
76 - }  
77 - while((motLu[i] != '\0') && (estUneLettre == 1)) {  
78 - i += 1;  
79 - wprintf(L"lettre lue %d\n", motLu[i]);  
80 - localisationArbre = insertion(motLu[i], localisationArbre);  
81 - }  
82 - }  
83 - wprintf(L"\n");  
84 - fclose(fd);  
85 - wprintf(L"%d mots inseres dans le dictionnaire.\n", cptmot);  
86 -}  
87 -  
88 -struct cell** test_mot(wchar_t mot, struct cell** localisation, int* verif) {  
89 -  
90 - if((*localisation == NULL) || (*localisation)->arbre->lettre > mot) {  
91 - *verif = 0;  
92 - return NULL;  
93 - }  
94 - if((*localisation)->arbre->lettre == mot) {  
95 - return &(*localisation)->arbre->listeFils;  
96 - }  
97 - else {  
98 - return test_mot(mot, &(*localisation)->arbreSuivant, verif);  
99 - }  
100 -}  
101 -  
102 -void correction_txt(FILE* fd, struct node tab_arbre_prcp[]) {  
103 - struct cell** localisationArbre = NULL;  
104 - int verif;  
105 - wchar_t motLu[50];  
106 - while(fwscanf(Lfd, "%ls", motLu)==1) {  
107 - verif = 1;  
108 - int i = 0;  
109 - if((motLu[0] >= 'A') && (motLu[0] <= 'Z')) {  
110 - localisationArbre = &tab_arbre_prcp[motLu[0]-65].listeFils;  
111 - }  
112 - else if((motLu[0] >= 'a') && (motLu[0] <= 'z')) {  
113 - localisationArbre = &tab_arbre_prcp[motLu[0]-97].listeFils;  
114 - }  
115 - else {  
116 - wprintf(L"Erreur correction txt : L'un des caracteres n'est pas une lettre\n");  
117 - verif = 0;  
118 - }  
119 - while((verif == 1) && (motLu[i] != '\0')) {  
120 - i += 1;  
121 - localisationArbre = test_mot(motLu[i], localisationArbre, &verif);  
122 - }  
123 - if(verif == 0) wprintf(L"Mot %ls non present dans le dicitonnaire.\n", motLu);  
124 - }  
125 - fclose(fd);  
126 -}  
127 -  
128 -void correction_mot(struct node tab_arbre_prcp[]) {  
129 - struct cell** localisationArbre = NULL;  
130 - int verif;  
131 - wchar_t motLu[50];  
132 - wprintf(L"Entrez un mot ou une phrase a corriger : \n(0 pour quitter)\n");  
133 - while(wscanf(L"%ls", motLu)==1) {  
134 - if(motLu[0]=='0') return;  
135 - verif = 1;  
136 - int i = 0;  
137 - if((motLu[0] >= 'A') && (motLu[0] <= 'Z')) {  
138 - localisationArbre = &tab_arbre_prcp[motLu[0]-65].listeFils;  
139 - }  
140 - else if((motLu[0] >= 'a') && (motLu[0] <= 'z')) {  
141 - localisationArbre = &tab_arbre_prcp[motLu[0]-97].listeFils;  
142 - }  
143 - else {  
144 - wprintf(L"Erreur correction txt : L'un des caracteres n'est pas une lettre\n");  
145 - verif = 0;  
146 - }  
147 - while((verif == 1) && (motLu[i] != '\0')) {  
148 - i += 1;  
149 - wprintf(L"lettre lue %d\n", motLu[i]);  
150 - localisationArbre = test_mot(motLu[i], localisationArbre, &verif);  
151 - }  
152 - if(verif == 0) wprintf(L"Mot : %ls non present dans le dicitonnaire.\n", motLu);  
153 - else wprintf(L"Mot : %ls correct\n", motLu);  
154 - }  
155 -}  
156 -  
157 -  
158 -int main(int argc, char* argv[]) {  
159 - FILE* dico = NULL;  
160 - FILE* txt = NULL;  
161 - struct node tab_arbre[A];  
162 -  
163 - if(argc>2) {  
164 - dico = fopen(argv[1], "r");  
165 - txt = fopen(argv[2], "r");  
166 - }  
167 - else {  
168 - dico = NULL;  
169 - txt = NULL;  
170 - }  
171 - if ((dico == NULL) || (txt == NULL)) {  
172 - wprintf(L"Erreur : il manque un ou plusieurs fichiers !\n");  
173 - return 1;  
174 - }  
175 - initialisation_tab_arbre(tab_arbre);  
176 - remplir_dico(dico, tab_arbre); //on suppose qu'il n'y a pas d'accents dans le dictionnaire  
177 - correction_txt(txt, tab_arbre);  
178 - correction_mot(tab_arbre);  
179 -  
180 - return 0;  
181 -}