Vérifier la saisie d'un utilisateur c++

molotector -  
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,


J'ai un petit soucis je dois tester si le chiffre entrer par l'utilisateur est un double si c'est un double je dois mettre un message d'erreur sinon je dois afficher le chiffre entrer, je pensais faire comme ceci:

if((double)nb1)
{
cout<<"erreur";

}
else
{
cout<<nb1;
}

mais ça ne marche pas quelqu'un aurait une idée ? merci d'avance



A voir également:

3 réponses

kalidou
 
bonjour
le probleme se trouve dans le test
tu fais un cast la or dans le if tu dois faire un test
0
molotector
 
Bonsoir,


Je vois, mais je test quoi j'ai un peu tout essayer mais je vois pas comment savoir si le chiffre entrer à une décimal ou pas.

int main()
{
    try
    {
        int nb1;
    
        cout<<"Entrez un chiffre entre 1 et 100  svp : ";
        cin>>nb1;
    
        if(nb1>=0 && nb1<=100)
        {
            cout<<nb1;
        }                

        else
        {
            cout<<"Veuillez entrez un chiffre entre 1 et 100 svp";
        }
    }
    catch(double)
    {
    cout<<"Veuillez entrez un chiffre entre 1 et 100 svp";
    }        
    
}
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
"cin>>nbl" te donnera toujours un nombre entier, sans décimal.
iostream filtre lui même, selon ses règles les mauvaises entrées. Si tu veux contrôler toi même ce qui est entré plus précisement, il faut capturer un chaine de caractère et la traiter.
ou sinon, tu capture un double et tu compare avec sa valeur entière.
0