salut

je suis nouveau dans le monde C++ et j'ai un mini projet à réaliser d'ici 15 juin.

il s'agit d'une application de gestion de comptes bancaires développée sous Visual C++ 6.


les classes qu'il faut définir sont les suivantes :

Personne : titulaire du compte

Compte simple : caractérisé par son titulaire et qu'on peut bien sûr débiter ou créditer d'un certain montant .

Compte courant: pour lequel l'historique des opérations de crédit et de débit sont conservées.il offre la possibilité d'afficher toutes les opérations , les opérations de crédit ou de débit.

pour représenter l'historique , il faudra définir une classe Opération spécialisée en opération de débit et (opération de ) crédit .(il faudra conserver toutes les opérations dans une liste d'opérations chainée encapsulée dans une classe Historique).

NB: pour chaque opération en plus du montant de l'opération d'autres informations peuvent êtres conservées telles que la date de l'opération.

j'ai commencé par implémenter les deux premières classes Personne et Comptesimple , et voilà le code ci dessous :

************ClassPersonne***************
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
class Personne  
{
 
private:
 
	int id;
	char * nom;
	char * adresse;
 
public:
 
	Personne();
	void Print();
	Personne(int,char*,char*);
	Personne& operator=(const Personne&);
	virtual ~Personne();
 
};
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
#include "Personne.h"
#include <string.h>
#include <iostream.h>
 
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
Personne::Personne()
{
	id=0;
	nom=0;
	adresse=0;
 
}
 
Personne::Personne(int x,char * y,char* z)
{
 
	this->id=x;
	this->nom= new char[strlen(y)+1];
	this->adresse= new char[strlen(z)+1];
	this->id++;
 
}
 
Personne::~Personne()
{
 
if (nom) delete nom;
if (adresse) delete adresse;
 
}
 
 
 
Personne& Personne::operator =(const Personne& p)
{
	if(this!=&p)
	{
		if(nom) delete nom;
		if(adresse) delete adresse;
		this->id=p.id;
		this->nom= new char[strlen(p.nom)+1];
		strcpy(nom,p.nom);
		this->adresse= new char[strlen(p.adresse)+1];
		strcpy(adresse,p.adresse);
												}
 
	return (*this);
}
 
 
void Personne::Print()
{
	cout<<"**************Infos Clients**************"<<"\n"<<"\n"<<"\n"<<endl;
	cout<<"ID		:"<<"\t"<<id<<"\n"<<endl;
	cout<<"NOM		:"<<"\t"<<this->nom<<"\n"<<endl;
	cout<<"ADRESSE		:"<<"\t"<<adresse<<"\n"<<endl;
}
***********************CompteSimple*********************
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
class CompteSimple 
{
 
 
private:
 
 
	Personne titulaire;
	int credit;
 
 
public:
 
	CompteSimple();
 
	void print();
	void crediter(int);
	void debiter(int);
 
	CompteSimple(int,char*,char*,int=0);
	virtual ~CompteSimple();
 
 
};
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
#include "ompteSimple.h"
 
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CompteSimple::CompteSimple()
{
 
}
 
 
CompteSimple::CompteSimple(int a,char* b,char* c,int y):titulaire(a,b,c)
{
 
	y=0;
	this->credit=y;
 
}
 
CompteSimple::~CompteSimple()
{
 
}
 
 
void CompteSimple::debiter(int x)
{
	this->credit=credit-x;
}
 
 
 
void CompteSimple::crediter(int x)
{
 
		this->credit=credit+x;
 
}
 
 
 
 
void CompteSimple::print()
{
	titulaire.Print();
	cout<<"SOLDE		:"<<"\t"<<credit<<"\t"<<"DHS"<<"\n"<<endl;
 
}
j'aimerai avoir vos proposition pour la classe CompteCourant .

Merci