Partage
  • Partager sur Facebook
  • Partager sur Twitter

Condition pour savoir si la valeur est conforme au type

La valeur que l'utilisateur a rentrée est-elle conforme au type de variable ?

Sujet résolu
Anonyme
    11 décembre 2005 à 19:54:36

    Salut à tous :)

    Est-il possible, en C ou C++, de faire un test permettant de savoir si la valeur qu'a rentrée l'utilisateur est conforme au type de la variable ?

    Je m'explique : si on initialise une variable de type char appelée maVariable, et qu'on fait un scanf (ou cin), et si l'utilisateur rentre un nombre par exemple, la console va planter (je ne sais pas comment on dit, mais bon... il y aura un problème :lol: ).

    Je veux donc faire une condition qui dit en gros : si la valeur rentrée n'est pas bonne, alors redemander, etc...
    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2005 à 20:08:34

      Non c'est pas possible, le type n'a rien à voir avec la valeur. Tu peux juste savoir le nombre d'octet que fait la variable avec la fonction sizeof( var ); ça peut un peu aider mais c'est tout. Sinon tu peux toujours convertir ta variable en un autre type.
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        11 décembre 2005 à 21:31:55

        En fait, je fais une calculatrice (comme un peu tout le monde sur le SdZ :-° ), voici les lignes principales :

        long double nb1, nb2, resultat;
        char operateur;
        cin>>nb1>>operateur>>nb2;
        /*...plein de calculs...*/
        cout<<endl<<"= "<<resultat;


        Et si on écrit pas DANS L'ORDRE un nombre puis l'opérateur puis un autre nombre, ça écrit à l'infini = -1.#IND. Comment éviter cela ?
        • Partager sur Facebook
        • Partager sur Twitter

        Condition pour savoir si la valeur est conforme au type

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown