Hello, voilà je dois créer une sorte de simulation d'ascenseur, pour cela j'ai des classes à dispo pour tracer des rectangles etc (donc vous occupez pas des fonctions f.TraceImage, f.traceArc etc).
Je pose dessuite les codes qui vous faudra :
Cabine.hpp :
Cabine.cpp :
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 #ifndef _Cabine #define _Cabine #include "Fenetre.h" #include "Porte.hpp" class cabine { private : int NumEtage ; int x, y, longueur, largeur ; Fenetre f ; public : void AccelererCabine() ; void MaintenirVitesse() ; void RalentirCabine() ; void ArreterCabine() ; cabine(int,int); cabine(const cabine &); }; #endif
BPExterieur.hpp:
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 #include "cabine.hpp" #include <string.h> #include <iostream> #include "cabine.hpp"; using namespace std ; void cabine::AccelererCabine() { f.choixCouleurTrace(250,250,250); f.ecrit(50,50,"En acceleration") ; } void cabine::RalentirCabine() { f.delai(2000); f.choixCouleurTrace(255,255,255); f.ecrit(50,50,"Vitesse stabilisee") ; f.choixCouleurTrace(250,250,250); f.ecrit(50,50,"En ralentissement") ; } void cabine::MaintenirVitesse() { f.delai(2000); f.choixCouleurTrace(255,255,255); f.ecrit(50,50,"En acceleration") ; f.choixCouleurTrace(250,250,250); f.ecrit(50,50,"Vitesse stabilisee"); } void cabine::ArreterCabine() { f.delai(2000); f.choixCouleurTrace(255,255,255); f.ecrit(50,50,"En ralentissement") ; f.choixCouleurTrace(250,250,250); f.ecrit(50,50,"Cabine arreter); } cabine::cabine(int x1,int y1) { AccelererCabine(); MaintenirVitesse(); RalentirCabine(); ArreterCabine(); f.remplitRectangle(x1,y1,10,15); } cabine::cabine(const cabine & source): x(source.x), y(source.y), longueur(source.longueur), largeur(source.largeur), numEtage(source.numEtage){}
BPExterieur.cpp :
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 #ifndef _BPExterieur #define _BPExterieur #include "Fenetre.h" #include "cabine.hpp" class BPExterieur : public cabine{ private : int BoutonEtageExt ; Fenetre f ; cabine MethodeCabine ; public : void Appeler(int) ; BPExterieur() ; BPExterieur(const BPExterieur); }; #endif
Donc voilà le message d'erreur de mon compilateur (code::blocks) :
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 #include "BPExterieur.hpp" #include <string.h> #include <iostream> using namespace std ; void BPExterieur::Appeler(int numero) { BoutonEtageExt = numero ; // Ici on crée un petit cercle qui montrera qu'un bouton a été cocher en fonction du numéro de l'étage switch (BoutonEtageExt) { case 6 : MethodeCabine.AccelererCabine() ; MethodeCabine.MaintenirVitesse() ; MethodeCabine.RalentirCabine() ; MethodeCabine.ArreterCabine() ; f.traceArc(57,22,2,2); break ; case 5 : MethodeCabine.AccelererCabine() ; MethodeCabine.MaintenirVitesse() ; MethodeCabine.RalentirCabine() ; MethodeCabine.ArreterCabine() ; f.traceArc(57,42,2,2); break ; case 4 : MethodeCabine.AccelererCabine() ; MethodeCabine.MaintenirVitesse() ; MethodeCabine.RalentirCabine() ; MethodeCabine.ArreterCabine() ; f.traceArc(57,62,2,2); break ; case 3 : MethodeCabine.AccelererCabine() ; MethodeCabine.MaintenirVitesse() ; MethodeCabine.RalentirCabine() ; MethodeCabine.ArreterCabine() ; f.traceArc(57,82,2,2); break ; case 2 : MethodeCabine.AccelererCabine() ; MethodeCabine.MaintenirVitesse() ; MethodeCabine.RalentirCabine() ; MethodeCabine.ArreterCabine() ; f.traceArc(57,102,2,2); break ; case 1 : MethodeCabine.AccelererCabine() ; MethodeCabine.MaintenirVitesse() ; MethodeCabine.RalentirCabine() ; MethodeCabine.ArreterCabine() ; f.traceArc(57,122,2,2); break ; default : MethodeCabine.AccelererCabine() ; MethodeCabine.MaintenirVitesse() ; MethodeCabine.RalentirCabine() ; MethodeCabine.ArreterCabine() ; f.traceArc(57,142,2,2); break ; } } BPExterieur::BPExterieur() { // Ici je crée 6 cercles qui correspondront aux boutons d'appels exterieurs qui sera en face de chaque etage f.traceArc(55,20,6,6); f.traceArc(55,40,6,6); f.traceArc(55,60,6,6); f.traceArc(55,80,6,6); f.traceArc(55,100,6,6); f.traceArc(55,120,6,6); f.traceArc(55,140,6,6); } BPExterieur::BPExterieur(const BPExterieur & source): MethodeCabine(source.MethodeCabine), BoutonEtageExt(source.BoutonEtageExt){}
Merci d'avance !
Je viens de reprendre un peut le c++ il y a 3 jours et je m'en sors pas![]()
Partager