Reconnaitre tel ou tel variable

Signaler
Messages postés
23
Date d'inscription
mercredi 19 mars 2008
Statut
Membre
Dernière intervention
20 juin 2008
-
Messages postés
22
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
22 septembre 2008
-
Bonjour, ma question est de savoir si il y a un moyen de savoir si une variable d'un type t est un charactère, un entier, un float, un pointeur, etc, parce  que même avec une variable de type char, on peut avoir un entier etc ... (au cas où je demande un entier obligatoirement sur le flux d'entrée cin et de bloquer tout entrée en float, charactère, ...).

Merci de répondre ^_^

4 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Je pense que le fait de poser cette question montre que tu n'a pas tout compris au langage C.
Un char est un entier, ou bien un caractère, ca dépend juste de la manière dont tu l'interprètes ('a'=97, c'est la même chose)
Ou alors c'est moi qui ai mal compris la question?

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
23
Date d'inscription
mercredi 19 mars 2008
Statut
Membre
Dernière intervention
20 juin 2008

En fait, je veux juste savoir si la variable est un entier, etc, par if (var "est un entier")  { instruction pour les entiers }
else if (var "est un charactère") { instruction pour les characteres } .
je demande par exemple une variable de type char en entrée cin (cin >> var ;) je veux faire différentes instructions en fonction de la touche entrée et stocké dans var, voilà ...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Tu t'exprimes mal alors. Le type de var c'est celui qui tu utilises lors de la déclaration. Tu connais ce type donc ca ne servirait a rien de faire des tests dessus.
Après si tu lis un char et si tu veux savoir si c'est un chiffre ou une lettre, c'est très simple :

char var;
cin >> var;
if(var >= '0' && var <= '9')
{
  // C'est un chiffre
}

_____________________________________
Un éditeur de ressources gratuit pour Windows
Messages postés
22
Date d'inscription
samedi 10 mai 2008
Statut
Membre
Dernière intervention
22 septembre 2008

salut, si tu veux tester une valeur entrée par l'utilisateur il y a aussi la fonction "isdigit" par exemple :

#include

using namespace std;

int main()
{
    char c;
    cin >> c;

    if (isdigit(c)) {
        cout << "is digit";
    } else {
        cout << "is not digit";
    }
    return 0;
}

il y a d'autres fonctions de test sur ce lien :
http://www.java2s.com/Tutorial/Cpp/0040__Data-Types/0380__char-functions.htm