Bonjour a tous voila je n'ai aucune erreur a la compilation ni au link mais a l'execution ca me sort une vielle erreur du genre Debug assertion failed...
Voila si qql peut maider sur mon erreur...voici le code et tous le dossier si qql veut bien l'executer...http://cagnesumadre.rockweb.org/TP3.rarMerci Beaucoups!![]()
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 //ARTICLE.H #include <iostream.h> #include <string.h> #define DIM 10 class CArticle { private: unsigned int m_uRef; char* m_pNom; float m_fPrixHT; unsigned int m_uQte; public: CArticle(unsigned int,char*,float); //On connait pas la quantité dans ce contructeur; CArticle(unsigned int,char*,float,unsigned int); //On connait la quantité dans ce contructeur; CArticle(const CArticle & C,char *); //Constructeur de Copie ~CArticle(); //Destructeur void Ajouter(unsigned int); //Ajouter un nombre à la quantité void Retirer(unsigned int); //Retirer un nombre a la quantité float CalCulerPrix(); //Calcule du prix TTC //void Afficher(); //Fonction d'affichage du prix friend ostream& operator<<(ostream&,CArticle); //Surchage de l'operateur << };
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 //Article.CPP #include "ARTICLE.H" //On connait pas la quantité dans ce contructeur; CArticle::CArticle(unsigned int uRef,char* pNom,float fPrixHT) { m_uRef=uRef; m_pNom=new char[DIM]; strcpy(m_pNom,pNom); m_fPrixHT=fPrixHT; m_uQte=0; } CArticle::CArticle(const CArticle & C,char* pNom) { m_pNom=new char[DIM]; strcpy(m_pNom,pNom); m_uRef=C.m_uRef; m_uQte=C.m_uQte; m_fPrixHT=C.m_fPrixHT; } //On connait la quantité dans ce contructeur; CArticle::CArticle(unsigned int uRef,char* pNom,float fPrixHT,unsigned int uQte) { m_uRef=uRef; strcpy(m_pNom,pNom); m_pNom=new char[DIM]; m_fPrixHT=fPrixHT; //CArticle(uRef,pNom,fPrixHT); m_uQte=uQte; } CArticle::~CArticle() { delete m_pNom; } //Ajouter un nombre à la quantité void CArticle::Ajouter(unsigned int Nb=0) { m_uQte=m_uQte+Nb; } //Retourne le stock quand on ajoute un nombre à la quantite void CArticle::Retirer(unsigned int Nb=0) { m_uQte=m_uQte-Nb; } //Retourne le stock enlever un nombre à la quantite float CArticle::CalCulerPrix() { const float TVA=19.6f; return (m_uQte*(m_fPrixHT+(m_fPrixHT*(TVA/100)))); } //Fonction d'affichage du prix /*void CArticle::Afficher() { cout<<"Nom :"<<m_pNom<<endl; cout<<"Quantité :" <<m_uQte<<endl; cout<<"Prix TTC :"<<CalCulerPrix()<<endl; } */ ostream& operator<<(ostream& cS,CArticle article) { cS<<"Nom :"<<article.m_pNom<<endl; cS<<"Quantite :" <<article.m_uQte<<endl; cS<<"Prix TTC :"<<article.CalCulerPrix()<<endl; return cS; }
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 //T_Arcticle #include "ARTICLE.H" void main() { cout<<"-----------------------------"<<endl; cout<<"|Test de la classe CArticle |"<<endl; cout<<"-----------------------------"<<endl; CArticle cArt(1,"Art",12.1f); CArticle cArt2(cArt); CArticle cArt3(1,"Foot",12.1f); //cArt.Afficher(); cout<<cArt2; cArt2.~CArticle(); }
Partager