Bonjour a toutes et a tous ,
Mon code fonctionne correctement , mais mon main est peut etre un peu trop surchargé . Je souhaiterai creer une 2 eme classe " Sauvegarde ".
Je ne maitrise pas encore la notion de définition et d'instanciation lorsqu'il y a plus d'une classe : je ne sais pas comment les faire interagir entre elles .
Voici le code tel qu'il est actuelement :
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 #ifndef COMPTE_H_ #define COMPTE_H_ class Compte { private : int solde,rib; public : Compte(int a); int getsolde()const; void setsolde(int b); void saisir(int s); void deposer(int montant); bool retirer(int montant); void afficher(); }; #endif
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 #include "compte.h" #include <iostream> #include <string> using namespace std; Compte :: Compte(int a):solde(0),rib(a){} int Compte::getsolde()const { return solde; } void Compte :: setsolde(int b) { solde = b; } void Compte :: deposer(int montant) { solde += montant; } bool Compte ::retirer(int montant) { if(solde >= montant) { solde -= montant; cout <<"votre retrait a bien été éffectué sur votre compte" << endl; return true; }else cout <<"solde insuffisant , operation refusée" << endl; return false; } void Compte :: afficher() { cout << "Le solde de votre compte : " << rib <<" est de : " << solde <<" euros" << endl; } void Compte :: saisir(int s) { solde = s; }Je pensais faire quelque chose de ce genre mais ca ne fonctionne pas :
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115 int main() { Compte ccp (12348), livretA(987654); int a(0); fstream file("sauvegarde.txt",ios::in); if(file.is_open()) { int input; file >> input; ccp.setsolde(input); file >> input; livretA.setsolde(input); file.close(); cout << "solde lu avec succès" << endl; }else{ cout << "solde non lu"<< endl; } do { cout << "Quelle operation souhaitez vous faire ?" << endl; cout << "1 : Afficher le solde de votre compte CCP: " << endl; cout << "2 : Afficher le solde de votre livret A : " << endl; cout << "3 : Saisir votre nouveau solde CCP : " << endl; cout << "4 : Saisir votre nouveau solde livret A : " << endl; cout << "5 : Faire un depot sur votre compte CCP : " << endl; cout << "6 : Faire un depot sur votre livret A : " << endl; cout << "7 : Faire un retrait sur votre compte CCP : " << endl; cout << "8 : Faire un retrait sur votre livret A : " << endl; cout << "9 : Faire un virement sur votre compte CCP : " << endl; cout << "10 : Faire un virement sur votre livret A : " << endl; cout << "11 : Quitter le programme " << endl; cin >> a; cin.ignore(); switch(a) { case 1 : ccp.afficher(); break; case 2 : livretA.afficher(); break; case 3 : { int s(0); cout << "Entrez votre solde : " << endl; cin >> s; ccp.saisir(s); } break; case 4 : { int s(0); cout << "Entrez votre solde : " << endl; cin >> s; livretA.saisir(s); } break; case 5 : { int s(0); cout << " Quel est le montant de votre depot : " << endl; cin >> s ; ccp.deposer(s); } break; case 6 : { int s(0); cout << " Quel est le montant de votre depot : " << endl; cin >> s ; livretA.deposer(s); } break; case 7 : { int s(0); cout << " Quel est le montant de votre retrait : " << endl; cin >> s ; ccp.retirer(s); } break; case 8 : { int s(0); cout << " Quel est le montant de votre retrait : " << endl; cin >> s ; livretA.retirer(s); } break; case 11 : { fstream file("sauvegarde.txt",ios::out); if(file.is_open()) { file << ccp.getsolde()<< endl; file << livretA.getsolde()<<endl; file.close(); cout << "solde enregistré avec succès" << endl; }else{ cout << "solde non enregistré"<< endl; } cout << "Aurevoir" << endl; } break; default : cout << "Mauvais choix " << endl; break; } }while( a != 11); return 0; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #ifndef SAUVEGARDE_H_ #define SAUVEGARDE_H_ #include<iostream> class Sauvegarde { public: void sauvegarde(); void restitution(); }; #endifConcretement , comment pourai je faire ?
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 #include "sauvegarde.h" #include "compte.h" using namespace std; void Sauvegarde::sauvegarde() { fstream file("sauvegarde.txt",ios::out); if(file.is_open()) { file << ccp.getsolde()<< endl; file << livretA.getsolde()<<endl; file.close(); cout << "solde enregistré avec succès" << endl; }else{ cout << "solde non enregistré"<< endl; } cout << "Aurevoir" << endl; } void restitution() { fstream file("sauvegarde.txt",ios::in); if(file.is_open()) { int input; file >> input; ccp.setsolde(input); file >> input; livretA.setsolde(input); file.close(); cout << "solde lu avec succès" << endl; }else{ cout << "solde non lu"<< endl; } }
Merci de votre aide.
Partager