Gestion de comptes bancaires sous C++
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:
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:
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:
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:
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