Prob avec cin.getline();

yafuka Messages postés 236 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 18 juillet 2006 - 20 sept. 2003 à 19:50
cs_C2S Messages postés 38 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 20 mars 2005 - 24 sept. 2003 à 19:57
salut!

j''essai de rentrer des chaines de caracteres de la misere a boucler le cin.getline.

ma fonction ajoutee

void book::Ajouter()
{

cout << "Titre du Livre : "; cin.getline(titre,nb_char+1,''\\n'');
cout << "Nom auteur : "; cin.getline(auteur,nb_char+1,''\\n'');
cout << "Nombre de pages : "; cin >> nb_pages;
cout << "Annee publication : "; cin >> annee;
cout << "Nom editeur : "; cin >> editeur;
cout << "\\n";

}

est appellee dans un une boucle for

for(int i = 0; i < nb_livres; i++)
livres[i].Ajouter();

mais a partir du 2eme appelle il ne m est plus possible d''entrer le titre du livre. (je pense qu''il reste un ''\\n'' dans le flux.. si oui comment le vider.. ??)

Merci d''avance !

Yafuka ( * _ * ) 8-)

1 réponse

cs_C2S Messages postés 38 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 20 mars 2005
24 sept. 2003 à 19:57
cout << flush videra ton flux... et cout << endl; vide ET va a la ligne
autrement dis ta derniere ligne sera :
cout << endl;

ca sera parfait je penses ;-)
------------
C2S
------------
0
Rejoignez-nous