begin process at 2012 02 10 09:25:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pb getline dans switch


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb getline dans switch

vendredi 22 août 2003 à 22:46:46 | pb getline dans switch

tintin72

Bonjour,

Je débute en c++ et travaille pour l'instant en mode console
(ben ouais, mais pour apprendre c'est bien).
j'ai un problème quand j'inclue getline dans une fonction switch, ex:

string laPhrase;
int choix;

switch(choix)
{
case 1:
cout<<"Entrez une phrase :"<<endl;
getline(cin,laPhrase);
break;

case 2:
etc.........
}

Lorsque que le case 1 s'exécute, il affiche bien le cout<< mais zappe complètement la saisie de la phrase, autrement dit getline, et passe à la suite du programme.
Quelqu'un pourrait me dire pourquoi????
Merci!
vendredi 22 août 2003 à 23:09:45 | Re : pb getline dans switch

BruNews

Administrateur CodeS-SourceS
"console pour apprendre c'est bien"
A part te faire perdre du temps, tu y vois un autre interet ?
Tu es certain de la syntaxe ??? Tu vois, moi je l'ignore totalement et c'est tres bien, place libre pour les choses utiles.
Penses-y.
BruNews, ciao...


-------------------------------
Réponse au message :
-------------------------------

> Bonjour,
>
> Je débute en c++ et travaille pour l'instant en mode console
> (ben ouais, mais pour apprendre c'est bien).
> j'ai un problème quand j'inclue getline dans une fonction switch, ex:
>
> string laPhrase;
> int choix;
>
> switch(choix)
> {
> case 1:
> cout<<"Entrez une phrase :"<<endl;
> getline(cin,laPhrase);
> break;
>
> case 2:
> etc.........
> }
>
> Lorsque que le case 1 s'exécute, il affiche bien le cout<< mais zappe complètement la saisie de la phrase, autrement dit getline, et passe à la suite du programme.
> Quelqu'un pourrait me dire pourquoi????
> Merci!
vendredi 22 août 2003 à 23:58:31 | Re : pb getline dans switch

JCDjcd


heu le 1er param de getline est un fichier
cin en est-un, ce n'est pas un mot-cle du langage C++ ?

Bon de toutes facon ecrit ton code en C et non en C++:

case1:
{
char buffer[256];
printf("input the sentence ...\n");
gets(buffer);
break;
}



ou sinon au lieu de cin met stdin !!









-------------------------------
Réponse au message :
-------------------------------

> "console pour apprendre c'est bien"
> A part te faire perdre du temps, tu y vois un autre interet ?
> Tu es certain de la syntaxe ??? Tu vois, moi je l'ignore totalement et c'est tres bien, place libre pour les choses utiles.
> Penses-y.
> BruNews, ciao...
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > Bonjour,
> >
> > Je débute en c++ et travaille pour l'instant en mode console
> > (ben ouais, mais pour apprendre c'est bien).
> > j'ai un problème quand j'inclue getline dans une fonction switch, ex:
> >
> > string laPhrase;
> > int choix;
> >
> > switch(choix)
> > {
> > case 1:
> > cout<<"Entrez une phrase :"<<endl;
> > getline(cin,laPhrase);
> > break;
> >
> > case 2:
> > etc.........
> > }
> >
> > Lorsque que le case 1 s'exécute, il affiche bien le cout<< mais zappe complètement la saisie de la phrase, autrement dit getline, et passe à la suite du programme.
> > Quelqu'un pourrait me dire pourquoi????
> > Merci!
>
samedi 23 août 2003 à 13:46:13 | Re : pb getline dans switch

vecchio56

Administrateur CodeS-SourceS
cin n'est pas un mot clé mais un istream, donc il convient bien pour la premier argument de getline.
D'ailleurs chez moi le code de tintin72 marche très bien


-------------------------------
Réponse au message :
-------------------------------

>
> heu le 1er param de getline est un fichier
> cin en est-un, ce n'est pas un mot-cle du langage C++ ?
>
> Bon de toutes facon ecrit ton code en C et non en C++:
>
> case1:
> {
> char buffer[256];
> printf("input the sentence ...\n");
> gets(buffer);
> break;
> }
>
>
>
> ou sinon au lieu de cin met stdin !!
>
>
>
>
>
>
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > "console pour apprendre c'est bien"
> > A part te faire perdre du temps, tu y vois un autre interet ?
> > Tu es certain de la syntaxe ??? Tu vois, moi je l'ignore totalement et c'est tres bien, place libre pour les choses utiles.
> > Penses-y.
> > BruNews, ciao...
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > Bonjour,
> > >
> > > Je débute en c++ et travaille pour l'instant en mode console
> > > (ben ouais, mais pour apprendre c'est bien).
> > > j'ai un problème quand j'inclue getline dans une fonction switch, ex:
> > >
> > > string laPhrase;
> > > int choix;
> > >
> > > switch(choix)
> > > {
> > > case 1:
> > > cout<<"Entrez une phrase :"<<endl;
> > > getline(cin,laPhrase);
> > > break;
> > >
> > > case 2:
> > > etc.........
> > > }
> > >
> > > Lorsque que le case 1 s'exécute, il affiche bien le cout<< mais zappe complètement la saisie de la phrase, autrement dit getline, et passe à la suite du programme.
> > > Quelqu'un pourrait me dire pourquoi????
> > > Merci!
> >
>
samedi 23 août 2003 à 14:22:45 | Re : pb getline dans switch

flatmax

essaye ce code :
cin.getline(laPhrase, sizeof(laPhrase));

-------------------------------
Réponse au message :
-------------------------------

> cin n'est pas un mot clé mais un istream, donc il convient bien pour la premier argument de getline.
> D'ailleurs chez moi le code de tintin72 marche très bien
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> >
> > heu le 1er param de getline est un fichier
> > cin en est-un, ce n'est pas un mot-cle du langage C++ ?
> >
> > Bon de toutes facon ecrit ton code en C et non en C++:
> >
> > case1:
> > {
> > char buffer[256];
> > printf("input the sentence ...\n");
> > gets(buffer);
> > break;
> > }
> >
> >
> >
> > ou sinon au lieu de cin met stdin !!
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > > "console pour apprendre c'est bien"
> > > A part te faire perdre du temps, tu y vois un autre interet ?
> > > Tu es certain de la syntaxe ??? Tu vois, moi je l'ignore totalement et c'est tres bien, place libre pour les choses utiles.
> > > Penses-y.
> > > BruNews, ciao...
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > Bonjour,
> > > >
> > > > Je débute en c++ et travaille pour l'instant en mode console
> > > > (ben ouais, mais pour apprendre c'est bien).
> > > > j'ai un problème quand j'inclue getline dans une fonction switch, ex:
> > > >
> > > > string laPhrase;
> > > > int choix;
> > > >
> > > > switch(choix)
> > > > {
> > > > case 1:
> > > > cout<<"Entrez une phrase :"<<endl;
> > > > getline(cin,laPhrase);
> > > > break;
> > > >
> > > > case 2:
> > > > etc.........
> > > > }
> > > >
> > > > Lorsque que le case 1 s'exécute, il affiche bien le cout<< mais zappe complètement la saisie de la phrase, autrement dit getline, et passe à la suite du programme.
> > > > Quelqu'un pourrait me dire pourquoi????
> > > > Merci!
> > >
> >
>
samedi 23 août 2003 à 14:29:09 | Re : pb getline dans switch

vecchio56

Administrateur CodeS-SourceS
Non ca marchera pas car laPhrase est de type string et il faut un char*.
Pourquoi pas tout simplement cin >> laPhrase;
?

-------------------------------
Réponse au message :
-------------------------------

> essaye ce code :
> cin.getline(laPhrase, sizeof(laPhrase));
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > cin n'est pas un mot clé mais un istream, donc il convient bien pour la premier argument de getline.
> > D'ailleurs chez moi le code de tintin72 marche très bien
> >
> >
> > -------------------------------
> > Réponse au message :
> > -------------------------------
> >
> > >
> > > heu le 1er param de getline est un fichier
> > > cin en est-un, ce n'est pas un mot-cle du langage C++ ?
> > >
> > > Bon de toutes facon ecrit ton code en C et non en C++:
> > >
> > > case1:
> > > {
> > > char buffer[256];
> > > printf("input the sentence ...\n");
> > > gets(buffer);
> > > break;
> > > }
> > >
> > >
> > >
> > > ou sinon au lieu de cin met stdin !!
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > -------------------------------
> > > Réponse au message :
> > > -------------------------------
> > >
> > > > "console pour apprendre c'est bien"
> > > > A part te faire perdre du temps, tu y vois un autre interet ?
> > > > Tu es certain de la syntaxe ??? Tu vois, moi je l'ignore totalement et c'est tres bien, place libre pour les choses utiles.
> > > > Penses-y.
> > > > BruNews, ciao...
> > > >
> > > >
> > > > -------------------------------
> > > > Réponse au message :
> > > > -------------------------------
> > > >
> > > > > Bonjour,
> > > > >
> > > > > Je débute en c++ et travaille pour l'instant en mode console
> > > > > (ben ouais, mais pour apprendre c'est bien).
> > > > > j'ai un problème quand j'inclue getline dans une fonction switch, ex:
> > > > >
> > > > > string laPhrase;
> > > > > int choix;
> > > > >
> > > > > switch(choix)
> > > > > {
> > > > > case 1:
> > > > > cout<<"Entrez une phrase :"<<endl;
> > > > > getline(cin,laPhrase);
> > > > > break;
> > > > >
> > > > > case 2:
> > > > > etc.........
> > > > > }
> > > > >
> > > > > Lorsque que le case 1 s'exécute, il affiche bien le cout<< mais zappe complètement la saisie de la phrase, autrement dit getline, et passe à la suite du programme.
> > > > > Quelqu'un pourrait me dire pourquoi????
> > > > > Merci!
> > > >
> > >
> >
>


Cette discussion est classée dans : pb, case, switch, getline, laphrase


Répondre à ce message

Sujets en rapport avec ce message

pb de switch, certainement tout bête mais.... [ par phenX ] bonjour, j'ai un switch avec cette structure: GO: switch(car) {     case'1': ---------------------                 ---------------------<b probléme de switch case [ par dgac ] Bonjour j'ai un programme dans lequel j'utilise un switch case avec une variable qui doit prendre pour valeur "paire" "impaire" "sans" et non seulemen switch avec des intervalles [ par nisaloncaje ] Bonjour, je sais qu'en c++, si on a une variable x, on peut faire :switch(x){case 0://si x=0, traitementbreak;case 1://si x=1, traitementbreak;....}ai Problème avec un switch en C [ par alexis69 ] Alors voilà. J'ai coder un petit code avec un menu. À la fin de mon switch j'ai ajouté l'option default comme ça si une personne tape autre chose que switch avec une structure [ par sakthivel ] Bonjour,Peut on faire un switch qui a comme argument des structures ?je m'explique j'ai fait un switch qui ressemble à cela :switch (cheval_inter)    Problème switch [ par seleccao ] Bonjours à tous Pour mon application en c++ je travaille avec de l'hexadecimal et j'utilise un switch switch(n1) { case '0000': hexa1 = "0";break; ca switch???? [ par kalf2000 ] salut, je voudrais savoir si l'on peut utiliser le switch de facon à si la variable que l'on compare prend 2 valeur différentes mais que l'on face la switch & case [ par DeadStarXt ] Bonjour,Nous souhaiterions compacter la syntaxe suivante SANS PASSER PAR default :case 'a' : Instructions;break;case 'b' : Instructions;break;case 'c' lectrue a partir un fichier [ par houdita18 ] Bonsoir; est ce ke vs pouvez me donner le code de pb suivant: on a une matice stoké dans un fichier;une matrice qui contient des 0 et des caractére, fonction switch et équivalent [ par gromhouleux ] Bonjour, en fait je cherche un équivalent à la fonction switch en C++. Je m'explique,Switch permet de faire une action en fonction d'une valeur entiè


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,650 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales