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;
}
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;
}
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
#ifndef SAUVEGARDE_H_
#define SAUVEGARDE_H_
#include<iostream>
 
class Sauvegarde
{
 public:
	void sauvegarde();
	void restitution();
 
};
 
#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
#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;
	 	  }
}
Concretement , comment pourai je faire ?
Merci de votre aide.