Bonsoir à tous
J'essaie de me créer un petit programme pour réviser du vocabulaire d'anglais, d'espagnol, de turc etc
Bref ce que fais mon programme n'est pas important.
J'ai trois erreurs de compilation.
"NB_MOTS was not declared in this scope"
"T_mot was not declared in this scope"
"T_traduction was not declared in this scope"
Il me semble que ces erreurs sont dues à la portée de mes variables qui n'est que dans la première boucle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 int main(){ ifstream fichier("dictionnaires/dico.txt",ios::in); if (fichier){ // compter le nombre de mot du dictionnaire int i(0); string ligne; while(getline(fichier,ligne)){ i++; } int NB_MOTS=(0.5*i); // creer deux tableaux qui contiennent les motsss du dico string T_mot[NB_MOTS]; string T_traduction[NB_MOTS]; for(int i(0);i<NB_MOTS;i++) { getline(fichier,T_mot[i]); getline(fichier,T_traduction[i]); } fichier.close(); } else cout << "Impossible d'ouvrir le fichier" << endl; // aléatoire srand(time(NULL)); int i=0; int* t=NULL; t=init_sans_doublons(0,NB_MOTS); melanger(t,NB_MOTS); // exercice int j; for(i=0;i<NB_MOTS;i++){ j=t[i]; cout << T_mot[j] << " ?" << endl; string reponse; cin >> reponse; if (reponse==T_traduction[j]) cout << "gg" <<endl; else{ cout << "Non. Encore un essai" << endl; cin >> reponse; if (reponse==T_traduction[j]) cout << "gg" <<endl; else cout << "Non. " << T_mot[j] << " signifie " << T_traduction[j] << endl; } return 0; } }
Pouvez vous me dire comment augmenter la portée de ces variables ?
J'avais pensé aux constantes ou aux variables globales mais T_mot et T_traduction sont deux tableaux alors je ne pense pas que ce soit faisable. Sinon dois-je le faire avec des pointeurs/allocation dynamiques ? Je ne sais pas comment m'y prendre ni s'il y a une autre solution.
Je remercie ceux qui ont pris la peine de me lire,
bonne soirée.
Partager