begin process at 2010 02 10 12:24:03
  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' switch....case [ par cabarrus ] salut !!je veux un programme qui demande l'âge, puis qui affiche un message selon l'âge frappé en utilisant switch...case.voici mon programme mais j'a switch ... case [ par didrocks ] J'ai un problème est mon case:int n=App->run; // dépendant de la partie du programme en cours switch(n); { case 1: // intro { App->BmpDeFond = App->


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,967 sec (3)

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