Ke les entier !!

Signaler
Messages postés
265
Date d'inscription
dimanche 3 août 2003
Statut
Membre
Dernière intervention
29 mars 2010
-
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
-
Salut !

J'aimerai savoir comment faire pour vérifier si le nombre entrée et un nombre entier ou a virgule ??

ex :

cout<<"entrez un nombre"<<endl;
cin >> nombre;

if(????????){ // <-- je bloque ici !!!
cout<<"c'est un nombre entier"<<endl;
}
else
{
cout<<"c'est un nombre a virgule<<endl;
}

Merci de votre aide ;)

Clad

3 réponses

Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
Prends ton entrée dans un char[] et vérifie les caractères.

ciao...
BruNews, MVP VC++
Messages postés
573
Date d'inscription
samedi 16 novembre 2002
Statut
Membre
Dernière intervention
9 avril 2008
1
char*str = strTonEntreeEnCharCommeLADitBruNews;





while (*str < '9' && *str > '0' && *str != 0) { str++;}





if (*str == 0)


{


// c'est un entier


}


else if (*str '.' || *str ',')


{


str++;


while (*str < '9' && *str > '0' && *str != 0) { str++;}


if (*str == 0)


{


// nombre à virgule


}


}


else


{


// pas nombre


}
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
Ou ca, ca devrait marcher.

#include <sstream>



string nombre;
cout<<"entrez un nombre"<<endl;

cin >> nombre;



istringstream iss(nombre);

int valeur;



if(( iss >> valeur ) && ( iss.eof() ))

cout<<"c'est un nombre entier"<<endl;

}

else

{

cout<<"c'est un nombre a virgule<<endl;

}



c'est plus simple, et moins source a erreur, que l'exemple précédent.