diff options
| author | Gaspard Coulet <gaspard.coulet@mines-ales.org> | 2021-04-28 23:05:53 +0200 |
|---|---|---|
| committer | Gaspard Coulet <gaspard.coulet@mines-ales.org> | 2021-04-28 23:05:53 +0200 |
| commit | 9fe033ea88c2f705ec18c232873d056e0c229d72 (patch) | |
| tree | 0647dc8c51610c7336c88c04de2068ea14b21e17 /sem_6/HLIN603/TP1 | |
Initial commit
Diffstat (limited to 'sem_6/HLIN603/TP1')
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteBancaire.cpp | 15 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteBancaire.h | 16 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteDepot.cpp | 15 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteDepot.h | 14 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteDepotRemunere.cpp | 15 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteDepotRemunere.h | 16 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteDepotRemunereCB.cpp | 15 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteDepotRemunereCB.h | 16 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteRemunere.cpp | 15 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteRemunere.h | 15 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteRemunereAvecCB.cpp | 17 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/CompteRemunereAvecCB.h | 15 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/Prog.cpp | 39 | ||||
| -rw-r--r-- | sem_6/HLIN603/TP1/a.out | bin | 0 -> 25919 bytes |
14 files changed, 223 insertions, 0 deletions
diff --git a/sem_6/HLIN603/TP1/CompteBancaire.cpp b/sem_6/HLIN603/TP1/CompteBancaire.cpp new file mode 100644 index 0000000..486b74f --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteBancaire.cpp @@ -0,0 +1,15 @@ +#include<cstdlib>
+#include<iostream>
+#include"CompteBancaire.h"
+
+CompteBancaire::CompteBancaire(){}
+CompteBancaire::~CompteBancaire(){
+ std::cout<<"Destru Compte Bancaire"<<std::endl;
+ std::cout<<"Argent à rendre : "<<solde<<std::endl;
+}
+CompteBancaire::CompteBancaire(float v): solde(v){
+ std::cout<<"Constru Compte Bancaire"<<std::endl;
+};
+void CompteBancaire::deposer(float v){
+ solde += v;
+}
diff --git a/sem_6/HLIN603/TP1/CompteBancaire.h b/sem_6/HLIN603/TP1/CompteBancaire.h new file mode 100644 index 0000000..ee525b2 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteBancaire.h @@ -0,0 +1,16 @@ +#ifndef _CB_H
+#define _CB_H
+#include<cstdlib>
+#include<iostream>
+
+class CompteBancaire
+{
+ protected :
+ float solde;
+ public :
+ CompteBancaire(float v);
+ CompteBancaire();
+ virtual ~CompteBancaire();
+ virtual void deposer(float v);
+};
+#endif
diff --git a/sem_6/HLIN603/TP1/CompteDepot.cpp b/sem_6/HLIN603/TP1/CompteDepot.cpp new file mode 100644 index 0000000..afbcb88 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteDepot.cpp @@ -0,0 +1,15 @@ +#include<cstdlib>
+#include<iostream>
+#include"CompteDepot.h"
+CompteDepot::CompteDepot(){}
+CompteDepot::~CompteDepot(){
+ std::cout<<"Destru Compte Depot"<<std::endl;
+ solde-=100;
+}
+CompteDepot::CompteDepot(float v) : CompteBancaire(v){
+ std::cout<<"Constru Compte Depot"<<std::endl;
+};
+void CompteDepot::deposer(float v){
+ float w = v>1000? v + 9 : v - 1;
+ CompteBancaire::deposer(w);
+}
diff --git a/sem_6/HLIN603/TP1/CompteDepot.h b/sem_6/HLIN603/TP1/CompteDepot.h new file mode 100644 index 0000000..7016746 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteDepot.h @@ -0,0 +1,14 @@ +#ifndef _CD_H
+#define _CD_H
+#include<cstdlib>
+#include<iostream>
+#include"./CompteBancaire.h"
+class CompteDepot : virtual public CompteBancaire
+{
+ public :
+ CompteDepot(float v);
+ CompteDepot();
+ virtual ~CompteDepot();
+ virtual void deposer(float);
+};
+#endif
diff --git a/sem_6/HLIN603/TP1/CompteDepotRemunere.cpp b/sem_6/HLIN603/TP1/CompteDepotRemunere.cpp new file mode 100644 index 0000000..2e12d17 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteDepotRemunere.cpp @@ -0,0 +1,15 @@ +#include<cstdlib>
+#include<iostream>
+#include"CompteDepotRemunere.h"
+
+CompteDepotRemunere::CompteDepotRemunere(){}
+CompteDepotRemunere::~CompteDepotRemunere(){
+ std::cout<<"Destru Compte Depot Remu"<<std::endl;
+}
+CompteDepotRemunere::CompteDepotRemunere(float v ) : CompteDepot(v){
+ std::cout<<"Constru Compte Depot Remunere"<<std::endl;
+};
+void CompteDepotRemunere::deposer(float v){
+ CompteRemunere::deposer(v);
+ CompteDepot::deposer(0);
+}
diff --git a/sem_6/HLIN603/TP1/CompteDepotRemunere.h b/sem_6/HLIN603/TP1/CompteDepotRemunere.h new file mode 100644 index 0000000..0b81395 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteDepotRemunere.h @@ -0,0 +1,16 @@ +#ifndef _CDR_H
+#define _CDR_H
+#include<cstdlib>
+#include<iostream>
+#include"./CompteRemunere.h"
+#include"./CompteDepot.h"
+
+class CompteDepotRemunere : public CompteRemunere,public CompteDepot
+{
+ public :
+ CompteDepotRemunere(float v);
+ CompteDepotRemunere();
+ virtual ~CompteDepotRemunere();
+ virtual void deposer(float);
+};
+#endif
diff --git a/sem_6/HLIN603/TP1/CompteDepotRemunereCB.cpp b/sem_6/HLIN603/TP1/CompteDepotRemunereCB.cpp new file mode 100644 index 0000000..1c7c872 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteDepotRemunereCB.cpp @@ -0,0 +1,15 @@ +#include<cstdlib>
+#include<iostream>
+#include"CompteDepotRemunereCB.h"
+
+CompteDepotRemunereCB::CompteDepotRemunereCB(){}
+CompteDepotRemunereCB::~CompteDepotRemunereCB(){
+ std::cout<<"Destru Compte Depot Remu CB"<<std::endl;
+}
+CompteDepotRemunereCB::CompteDepotRemunereCB(float v ) : CompteDepot(v){
+ std::cout<<"Constru Compte Depot Remunere CB"<<std::endl;
+};
+void CompteDepotRemunereCB::deposer(float v){
+ CompteRemunere::deposer(v);
+ CompteDepot::deposer(0);
+}
diff --git a/sem_6/HLIN603/TP1/CompteDepotRemunereCB.h b/sem_6/HLIN603/TP1/CompteDepotRemunereCB.h new file mode 100644 index 0000000..f4f1179 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteDepotRemunereCB.h @@ -0,0 +1,16 @@ +#ifndef _CDR_H
+#define _CDR_H
+#include<cstdlib>
+#include<iostream>
+#include"./CompteRemunere.h"
+#include"./CompteDepot.h"
+
+class CompteDepotRemunereCB : public CompteDepotRemunere,public CompteDepotAvecCB
+{
+ public :
+ CompteDepotRemunere(float v);
+ CompteDepotRemunere();
+ virtual ~CompteDepotRemunere();
+ virtual void deposer(float);
+};
+#endif
diff --git a/sem_6/HLIN603/TP1/CompteRemunere.cpp b/sem_6/HLIN603/TP1/CompteRemunere.cpp new file mode 100644 index 0000000..fc409fb --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteRemunere.cpp @@ -0,0 +1,15 @@ +#include<cstdlib>
+#include<iostream>
+#include"CompteRemunere.h"
+CompteRemunere::CompteRemunere(){}
+CompteRemunere::~CompteRemunere(){
+ std::cout<<"Destru Compte Remu"<<std::endl;
+ solde+=0.1*solde;
+}
+CompteRemunere::CompteRemunere(float v ) : CompteBancaire(v){
+ std::cout<<"Constru Compte Remunere"<<std::endl;
+};
+void CompteRemunere::deposer(float v){
+ float w = 1.01*v;
+ CompteBancaire::deposer(w);
+}
diff --git a/sem_6/HLIN603/TP1/CompteRemunere.h b/sem_6/HLIN603/TP1/CompteRemunere.h new file mode 100644 index 0000000..cb22d1e --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteRemunere.h @@ -0,0 +1,15 @@ +#ifndef _CR_H
+#define _CR_H
+#include<cstdlib>
+#include<iostream>
+#include"./CompteBancaire.h"
+
+class CompteRemunere : virtual public CompteBancaire
+{
+ public :
+ CompteRemunere(float v);
+ CompteRemunere();
+ virtual ~CompteRemunere();
+ virtual void deposer(float);
+};
+#endif
diff --git a/sem_6/HLIN603/TP1/CompteRemunereAvecCB.cpp b/sem_6/HLIN603/TP1/CompteRemunereAvecCB.cpp new file mode 100644 index 0000000..d8b1186 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteRemunereAvecCB.cpp @@ -0,0 +1,17 @@ +#include<cstdlib>
+#include<iostream>
+#include"CompteRemunere.h"
+
+CompteRemunereAvecCB::CompteRemunereAvecCB(){
+}
+CompteRemunereAvecCB::~CompteRemunereAvecCB(){
+ std::cout<<"Destru Compte Remu CB"<<std::endl;
+ solde -= 5;
+}
+CompteRemunereAvecCB::CompteRemunereAvecCB(float v ) : CompteRemunere(v){
+ std::cout<<"Constru Compte Remunere CB"<<std::endl;
+};
+float CompteRemunereAvecCB::deposer(float v){
+ CompteRemunere::deposer(v);
+ return solde;
+}
diff --git a/sem_6/HLIN603/TP1/CompteRemunereAvecCB.h b/sem_6/HLIN603/TP1/CompteRemunereAvecCB.h new file mode 100644 index 0000000..995fb39 --- /dev/null +++ b/sem_6/HLIN603/TP1/CompteRemunereAvecCB.h @@ -0,0 +1,15 @@ +#ifndef _CR_H
+#define _CR_H
+#include<cstdlib>
+#include<iostream>
+#include"./CompteBancaire.h"
+
+class CompteRemunereAvecCB : public CompteRemunere
+{
+ public :
+ CompteRemunereAvecCB(float v);
+ CompteRemunereAvecCB();
+ virtual ~CompteRemunereAvecCB();
+ virtual void deposer(float);
+};
+#endif
diff --git a/sem_6/HLIN603/TP1/Prog.cpp b/sem_6/HLIN603/TP1/Prog.cpp new file mode 100644 index 0000000..d4bbc36 --- /dev/null +++ b/sem_6/HLIN603/TP1/Prog.cpp @@ -0,0 +1,39 @@ +#include<cstdlib>
+#include<iostream>
+#include"CompteDepot.h"
+#include"CompteBancaire.h"
+#include"CompteRemunere.h"
+#include"CompteDepotRemunere.h"
+#include<time.h>
+int main(int argc, char ** argv){
+ srand(time(NULL));
+ CompteBancaire * vp[atoi(argv[1])];
+ for (int i = 0 ; i < atoi(argv[1]); i ++){
+ if (i % 2 == 1){
+ std::cout<<"Avec COmpte Depot"<<std::endl;
+ vp[i]= new CompteDepot(rand()%2000+1);
+ }
+ else {
+ std::cout<<"Avec COmpte Depot Remunere"<<std::endl;
+ vp[i]= new CompteDepotRemunere(rand()%2000+1);
+ }
+ }
+ for (int i =0; i < atoi(argv[1]); i ++){
+ delete vp[i];
+ }
+ // float Argent = (float) atoi(argv[1]);
+ // std::cout<<"Avec Compte Bancaire"<<std::endl;
+ // CompteBancaire * cb = new CompteBancaire(Argent);
+ // cb->deposer(Argent);
+ // delete cb;
+ // std::cout<<"Avec Compte Depot"<<std::endl;
+ // cb = new CompteDepot(Argent);
+ // cb->deposer(Argent);
+ // delete cb;
+ // std::cout<<"Avec Compte Remunere"<<std::endl;
+ // cb = new CompteRemunere(Argent);
+ // cb->deposer(Argent);
+ // delete cb;
+
+ return 0;
+}
diff --git a/sem_6/HLIN603/TP1/a.out b/sem_6/HLIN603/TP1/a.out Binary files differnew file mode 100644 index 0000000..38df8c4 --- /dev/null +++ b/sem_6/HLIN603/TP1/a.out |
