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();
 
}