Demande de lire un entier (int) c++

simosif Messages postés 3 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 23 septembre 2004 - 22 sept. 2004 à 12:10
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 22 sept. 2004 à 12:57
bonjour,
dans un programme c++, je veux obliger l'utilisateur à entrer un entier.tant que il n'a pas entrer un entier, on lui affiche un message et n lui demade encor . j'ai fait ca mais ca marche pas??

do {
cin.clear();
cout << "Enter ValeurE : " ;
cin >> w;
} while (cin.fail());

ça boucle infiniment.
merci

1 réponse

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
22 sept. 2004 à 12:57
clear ne fais que remettre l'error flag a goodbit

#include 
#include <limits>

int main()
{

int n;

while(1)
{
std::cout << "Entrez un entier : " << std::flush;
if( std::cin >> n ) break;

std::cin.clear(); 
           	std::cin.ignore( std::numeric_limits::max(), '\n'); 
}

std::cout << "Vous avez entrez " << n << '\n';
}
0
Rejoignez-nous