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 :

Probleme de boucle infini


Sujet :

C++

  1. #1
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut Probleme de boucle infini
    Bonjour,

    je souhaite demander à l'utilisateur d'entrer un chiffre tant que le chiffre donné n'est pas un entier. J'ai ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int choix;
    do{ 
         cout << "Donner un entier positif : ";
         cin >> choix;
    }while(isdigit(choix) == 0);
    Lorsqu'un entier est donné, il n'y a pas de soucis mais lorsque je tape :
    *gdggdgt
    par exemple, ça ne me demande indefiniement de "Donner un entier positif"

    Comment corriger cela ?

    Merci

  2. #2
    Membre expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Points : 3 266
    Points
    3 266
    Par défaut
    Salut,

    Regarde cet article de la FAQ et le suivant: http://c.developpez.com/faq/cpp/?pag...e#SL_cin_clear
    (tout particulièrement le suivant d'ailleurs )

  3. #3
    Membre habitué
    Inscrit en
    Septembre 2005
    Messages
    747
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 747
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par IrmatDen
    Salut,

    Regarde cet article de la FAQ et le suivant: http://c.developpez.com/faq/cpp/?pag...e#SL_cin_clear
    (tout particulièrement le suivant d'ailleurs )
    Merci pour le lien.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 120
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par IrmatDen
    Salut,

    Regarde cet article de la FAQ et le suivant: http://c.developpez.com/faq/cpp/?pag...e#SL_cin_clear
    (tout particulièrement le suivant d'ailleurs )
    Ce code ne corrige pas tous les problèmes car il laisse passer les chaînes du type : 2,5. Le cin voit ce type de chaîne comme 2 puis ,5 (étant pour lui une nouvelle saisie).
    Est-ce que quelqu'un c'est d'où ça vient ?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par Core8
    Ce code ne corrige pas tous les problèmes car il laisse passer les chaînes du type : 2,5. Le cin voit ce type de chaîne comme 2 puis ,5 (étant pour lui une nouvelle saisie).
    Est-ce que quelqu'un c'est d'où ça vient ?
    getline()

Discussions similaires

  1. probleme de boucle infini
    Par bentley71de dans le forum Débuter
    Réponses: 7
    Dernier message: 02/09/2008, 15h23
  2. probleme avec une boucle infinie
    Par hunter99 dans le forum C++
    Réponses: 3
    Dernier message: 26/12/2007, 23h37
  3. Diminuer la taille d'un code et probleme boucle infini
    Par Alucard9800XT dans le forum MATLAB
    Réponses: 3
    Dernier message: 11/06/2007, 11h42
  4. probleme de gestion de boucle infinie
    Par masterix59 dans le forum C
    Réponses: 8
    Dernier message: 27/12/2006, 16h34
  5. Probleme Boucle infinie Recordset.movenext "muet"?
    Par shub dans le forum VBA Access
    Réponses: 7
    Dernier message: 14/06/2006, 13h22

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