Demande de lire un entier (int) c++

Signaler
Messages postés
3
Date d'inscription
mardi 18 février 2003
Statut
Membre
Dernière intervention
23 septembre 2004
-
Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
-
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

Messages postés
3011
Date d'inscription
jeudi 26 septembre 2002
Statut
Membre
Dernière intervention
27 novembre 2004
8
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';
}