Salut!
Voilà mon problème:
J'ai une classe (qui s'occupe de la partie gestion des pieces d'un hopital en mode texte toute simple) avec en private :Pour gérer le nombre de pieces (qui pourrait être important) bah je fais appel à un vector (et j'veux utiliser que sa pour l'instant) et pour construire, je demande à l'utilisateur quel type de piece il veut créer. De la, des variables globales sont incrémentées et des valeurs leurs sont ajoutées:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 enum piec{ reception=0, cabinet_generaliste=1, infirmerie=2, WC=3, salle_operation=4, radiologie=5, soins_intensifs=6, repos=7};(pour l'instant je les utilise pas toutes).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 static int nb_reception=0; static int nb_cabinet_generaliste=0; static int nb_infirmerie=0; static int nb_WC=0; static int nb_salle_operation=0; static int nb_radiologie=0; static int nb_soins_intensifs=0; static int nb_repos=0; static int rennovations=0; static int superficie=0; static int reputation_pieces=0;
Mais, lorsque je veux supprimer une pièce, bah je demande son numéro, et supprime la case qui y correspond dans mon vector. Là, bah faut que je fasse l'inverse de créer. Et j'arrive (enfin) au problème: mon code a une erreur que jarrive, mais vraiment pas du tout à corrgier:Et cette saleté de compilateur me met:
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 void supprimer_piece() { switch(piec) //premiere erreur ici { case 0: { //seconde ici nb_reception--; superficie-=6; reputation_pieces-=5; break;} case 1:{ nb_cabinet_generaliste--; superficie-=10; reputation_pieces-=75; break;} case 2:{ nb_infirmerie--; superficie-=7; reputation_pieces-=30; break;} case 3: { nb_WC--; superficie-=20; reputation_pieces-=10; break;} case 4: { nb_salle_operation--; superficie-=50; reputation_pieces-=250; break;} case 5: { nb_radiologie--; superficie-=30; reputation_pieces-=170; break;} case 6: { nb_soins_intensifs--; superficie-=75; reputation_pieces-=200; break;} case 7:{ nb_repos--; superficie-=150; reputation_pieces-=135; break;} } }
Pour vous aider, ma fonction qui n'est pas membre de ma classe (void supprimer_piece() l'etait) et qui s'occupes de supprimer une piece de vector :Le compilateur me dit:
--E:\Guillaume\Classe piece.cpp In member function `void Piece::supprimer_piece()':
--108 E:\Guillaume\Classe piece.cpp syntax error before `;' token
--E:\Guillaume\Classe piece.cpp At global scope:
--111 E:\GuillaumeClasse piece.cpp parse error at end of saved function text
Voilà, alors j'ai essayé de remplacer par des 'if', c'est pareil, memes erreurs, j'ai aussi essayé de mettre des { et } aux switch, marche pas nan plus ...
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 { system("cls"); int numero=0; char choix; cout<<"Entrez le numero (de la liste des pieces) : "<<flush; fflush(stdin); cin>>numero; if(numero>=liste_pieces.size()) { cout<<"Cette) piece) n\'existe pas "<<endl; system("PAUSE>nul"); } else { liste_pieces[numero].afficher_piece(); cout<<"Voulez-vous licencier cette piece? (o/n) : "<<flush; fflush(stdin); cin>>choix; cout<<endl; if((choix=='o')||(choix=='O')) { liste_pieces[numero].supprimer_piece(); for(int i=numero;i<liste_pieces.size();i++) { liste_pieces[i]=liste_pieces[i+1]; } liste_pieces.resize(liste_pieces.size()-1); } else cout<<"La piece n\'a pas ete detruite"<<endl; system("PAUSE>nul"); } }
J'en ai deduis que sa venait pas du contenu de la fonction ...
Merci de m'aider, ces erreurs m'ont vraiment foutu les b**les aujourd'hui.
Partager