Bonsoir à tous
mon programme consiste à creer des pieces(classe Piece) chaque piece a un identifiant(classe Identifiant).

class PieceMusee
{
private:

Identifiant id;
char category[SIZE];
char description[SIZE];

etc........

j'ai une methode Encode() qui retourne une Piece
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
Piece Piece::Encode()
{
 	PieceMusee p;
     	cout<<"--------------Encodage de la piece-----------"<<endl;
 
	Identifiant i;
	char l;int a;
	cout<<"Inserer la lettre de l'id alphanumerique de la piece"<<endl;
	cin>>l;
	i.setLettre(l);
	cout<<"Quelle est son annee d acquisition?"<<endl;
	cin>>a;
	i.setAnnee_dacq(a);
	p.setIdentifiant(i);
 etc.....
return p;
Le probleme se pose qd je veux afficher l'id de la piece avec ailleur de la methode encode().

Code : Sélectionner tout - Visualiser dans une fenêtre à part
cout<<"---l'id de la Piece est"<<p.id<<endl;
il me donne comme resultat l'id que j'ai mis dans mon constructeur par defaut.

d'ou pourrai venir le probleme???

Ma 2éme question comment je peux faire un cin>>sur une chaine de caracteres qui contient un espace car avec cin>>machaine il me coupe tout apres l'espace.