Ke les entier !!

Clad49 Messages postés 265 Date d'inscription dimanche 3 août 2003 Statut Membre Dernière intervention 29 mars 2010 - 23 oct. 2005 à 17:13
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 - 23 oct. 2005 à 19:17
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

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

ciao...
BruNews, MVP VC++
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
23 oct. 2005 à 17:48
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


}
0
luhtor Messages postés 2023 Date d'inscription mardi 24 septembre 2002 Statut Membre Dernière intervention 28 juillet 2008 6
23 oct. 2005 à 19:17
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.
0
Rejoignez-nous