Reconnaitre tel ou tel variable

Kelm0 Messages postés 23 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 20 juin 2008 - 14 mai 2008 à 21:46
youri01 Messages postés 22 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 22 septembre 2008 - 13 juin 2008 à 12:12
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

vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 mai 2008 à 22:25
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
0
Kelm0 Messages postés 23 Date d'inscription mercredi 19 mars 2008 Statut Membre Dernière intervention 20 juin 2008
14 mai 2008 à 22:33
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à ...
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
14 mai 2008 à 22:36
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
0
youri01 Messages postés 22 Date d'inscription samedi 10 mai 2008 Statut Membre Dernière intervention 22 septembre 2008
13 juin 2008 à 12:12
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
0
Rejoignez-nous