Pause dans un programme & v�rification
Bonjour ceci est un probl�me avec un code de la FAQ et le fait de vouloir faire une pause ensuite.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| #include <iostream>
#include <limits>
using namespace std;
bool read_choice( int & N )
{
cout << "Entrez un chiffre entre 1 et 6 : " ;
while ( ! ( cin >> N ) || N < 1 || N > 6 )
{
if ( cin.eof() )
{
// ^D (^Z sous windows); Fin du flux d'entree!
return false;
}
else if ( cin.fail() )
{
cout << "Saisie incorrecte, recommencez : ";
cin.clear();
cin.ignore( numeric_limits<streamsize>::max(), '\n' );
}
else
{
cout << "Le chiffre n'est pas entre 1 et 6, recommencez : ";
}
}
return true; // succès
}
int main ()
{
int choix;
if ( read_choice( choix ) )
{
cout << "Vous avez choisi : " << choix << '\n';
}
cout << "Appuyez sur entree pour continuer...\n";
cin.ignore( numeric_limits<streamsize>::max(), '\n' );
// cin.ignore( numeric_limits<streamsize>::max(), '\n' ); obligé de le mettre une autre fois car on a appuyé sur entrée
return 0;
} |
Je voudrais savoir s'il est possible de faire ce que je veux sans rajouter un 2�me cin.ignore().
Je pourrais mettre getchar() pour recuperer le '\n' en trop mais je voudrais savoir s'il y a une m�thode plus �l�gante.
Merci d'avance.