Bug cin >> C++ [WXDevC++]
Résolu
Bonjour,
Je début en C++ sous WXDevC++ .
Mon probleme est que mon programe se termine quand je valide la valeur que je souhaite attribuer a ma variable en utilisant cin...
Voici mon programme :
Pourtant je marque bien une pause grace a :
Je ne comprend pas pourquoi cette ligne est le reste ne s'execute pas :
Merci d'avancenpour vos réponses très nombreuses, je l'espère...
Je début en C++ sous WXDevC++ .
Mon probleme est que mon programe se termine quand je valide la valeur que je souhaite attribuer a ma variable en utilisant cin...
Voici mon programme :
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int age =0 ;
cout << "Quel age avez-vous ? :" ;
cin >>age;
cout << "Ah ! Vous avez donc " << age << " ans !" << endl;
cout << "Press the enter key to continue ...";
cin.get();
return EXIT_SUCCESS;
}
Pourtant je marque bien une pause grace a :
cin.get();
return EXIT_SUCCESS;
Je ne comprend pas pourquoi cette ligne est le reste ne s'execute pas :
cout << "Ah ! Vous avez donc " << age << " ans !" << endl;
Merci d'avancenpour vos réponses très nombreuses, je l'espère...
1 réponse
-
ContributeurMets un second cin.get(); Ca devrait aller mieux :-).
-
-
ContributeurAttention au sens des chevrons. C'est cin >> age; mais cout << age;
Sinon, ce serait plus propre de vider le buffer comme tu dis, mais aussi de contrôler la lecture de la variable.
Pour vider (à faire uniquement si le buffer clavier est non vide : !cin.fail()) :
cin.clear();
cin.ignore(numeric_limits<streamsize>::max());
Pour le contrôle, on pourra se contenter de vérifier : cin.eof() || cin.bad() -
-
-