IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

tester si la saisie est un entier ou non


Sujet :

C

  1. #1
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut tester si la saisie est un entier ou non
    Bonjour ...,

    J'ai besoin de tester si ce qui est tapé par l'utilisateur est un entier ou non !!

    par exemple tres simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    printf("Entrer s'il vous plait un nombre");
    scanf("%d",&nbr);
    printf("%d + 1 est egal a %d",nbr+1);
    J'ai donné ce simple exemple pour vous dire que je veux pas utiliser les fonctions de <ctype.h> comme isalphanum(cha c), car ces fonctions de caratère admet comme argument un char , mais moi je dispose d'un entier sur lequel je veux effectuer ce teste.


    Merci de m'aider.

    Sisiniya

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Teste la valeur retournée par scanf().
    Et aussi, nettoie après l'appel à scanf(): Tu dois lire et ignorer tous les caractères jusqu'au prochain \n.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre du Club Avatar de sisiniya
    Inscrit en
    Décembre 2007
    Messages
    223
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 223
    Points : 67
    Points
    67
    Par défaut
    Merci pour votre reponse.

    Mais moi, je ne sais pas comment tester sur un scanf qui lit un nombre !!

    si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    printf("entrer un nombre");
    scanf("%c",&nbr);
    alors dans ce cas là; j'arrive à detecter si c'est un caracter ou numérique à l'aide de isalnum(char c) et isalpha(char c), mais le problème c'est que moi j'ai besoin de l'information nbr comme étant un entier , car j'aurai besoin d'effectuer des opération arithmétique.

    Merci encore pour vos aides.

    Sisiniya

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 104
    Points : 1 750
    Points
    1 750
    Par défaut
    Voici le man de la fonction : http://pwet.fr/man/linux/fonctions_bibliotheques/scanf
    La valeur retournée t'indique le nombre d'éléments d'entrées correctement assignés. Si la valeur est 0, ça a donc échoué (si je comprends bien). Tu peux utiliser cette valeur pour la tester dans la condition d'une boucle do/while.

Discussions similaires

  1. [Math]Tester si un nombre est un entier positif
    Par billy67 dans le forum Général Java
    Réponses: 9
    Dernier message: 28/12/2005, 09h14
  2. Réponses: 18
    Dernier message: 15/11/2005, 10h13
  3. Réponses: 3
    Dernier message: 07/10/2005, 09h34
  4. [VB.NET] [VS.NET] Tester si le texte saisi est un entier
    Par San Soussy dans le forum Windows Forms
    Réponses: 2
    Dernier message: 19/10/2004, 10h41
  5. [XSL] Tester si la valeur est un entier dans un xml
    Par MrMaze dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/07/2003, 04h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo