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 :

[Problème]Arreter une boucle while


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Etudiant en informatique
    Inscrit en
    Octobre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Etudiant en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 26
    Points : 28
    Points
    28
    Par défaut [Problème]Arreter une boucle while
    Bonjour,

    J'utilise dans mon programme une boucle, while, si l'utilisateur répond autre chose que oui ou que non alors, la question est reposé, le problème c'est que la question se repose plein de fois quand je compile. Il y marqué la question fois 20 et on ne peut pas répondre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    if(reponseUser_2 == "oui")
           {
               Vie_Bouclier = Vie_Bouclier + bouclier;
               cout << " Vous avez choisie oui. Vie total avec bouclier : " << Vie_Bouclier << endl;
           }
         else if(reponseUser_2 == "non")
            {
                    cout << " Vous n'etes pas proteger ! " << endl;
            }
     
         else
            {
                do
                {
                        cout << " Voulez-vous vous proteger a l'aide d'un bouclier ? oui ou non " << endl;
                }while (reponseUser_2 != "oui" || "non");
            }
    Merci d'avance pour votre aide

  2. #2
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    tech lead c++ linux
    Inscrit en
    Août 2004
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : tech lead c++ linux

    Informations forums :
    Inscription : Août 2004
    Messages : 4 262
    Points : 6 680
    Points
    6 680
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    N'aurais-tu pas oublié de récupérer ce que l'utilisateur écrit dans la console?
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Etudiant en informatique
    Inscrit en
    Octobre 2012
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Etudiant en informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2012
    Messages : 26
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par r0d Voir le message
    Bonjour,

    N'aurais-tu pas oublié de récupérer ce que l'utilisateur écrit dans la console?
    J'ai déclarer une variable tous au début (non visible dans le code que j'ai publié) sans l'initialiser et j'ai posé la question suivie du cin >> avant de faire la condition.

  4. #4
    Membre éclairé

    Homme Profil pro
    Non disponible
    Inscrit en
    Décembre 2012
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Non disponible

    Informations forums :
    Inscription : Décembre 2012
    Messages : 478
    Points : 877
    Points
    877
    Billets dans le blog
    1
    Par défaut
    Bonjour, dans cette boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    do
    {
       cout << " Voulez-vous vous proteger a l'aide d'un bouclier ? oui ou non " << endl;
    }while (reponseUser_2 != "oui" || "non");
    reponseUser_2 ne varie pas quand il repasse dans la boucle.

  5. #5
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Citation Envoyé par PilloBuenaGente Voir le message
    Bonjour, dans cette boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    do
    {
       cout << " Voulez-vous vous proteger a l'aide d'un bouclier ? oui ou non " << endl;
    }while (reponseUser_2 != "oui" || "non");
    reponseUser_2 ne varie pas quand il repasse dans la boucle.
    Et il y a aussi un problème dans la condition… (le compilateur donnera vraisemblablement un warning si on compile en Wall, ce qu’on devrait toujours faire).

  6. #6
    Expert confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    1 711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 711
    Points : 4 442
    Points
    4 442
    Par défaut
    Citation Envoyé par JohnAnto Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while (reponseUser_2 != "oui" || "non");
    ...
    code non valide (au sens logique du terme)
    reponseUser_2 != "oui" || reponseUser_2 != "non"actuellement, "non" == true => 'n' != '\0' (le reste est logique )

    edit: arf je suis lent.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant]Arreter une boucle while.
    Par kobalt02 dans le forum LabVIEW
    Réponses: 7
    Dernier message: 03/07/2009, 10h25
  2. Problème .destroy() dans une boucle while !
    Par stuffy dans le forum Tkinter
    Réponses: 1
    Dernier message: 29/06/2008, 01h30
  3. problème de recordset dans une boucle while
    Par sebac dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/06/2007, 11h47
  4. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  5. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07

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