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 :

Boucle while à conditions multiples


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut Boucle while à conditions multiples
    Bonjour à tous,

    Je débute en C++ et je coince sur quelque chose qui paraitra surement tout bête pour les "habitués" :

    J'ai une boucle While avec plusieurs conditions sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while(nom!="toto"||nom!="tata"||nom!="tutu") {
         {INSTRUCTIONS}
    }
    Seulement voilà, je reste bloqué dans la boucle, même si la valeur de nom est bien l'une des 3 conditions..
    J'ai essayé sous plusieurs formes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    while(nom!=("toto"||"tata"||"tutu"))
    while((nom!="toto")||(nom!="tata")||(nom!="tutu"))
    ...
    mais je rentre toujours dans la boucle..

    PS: J'obtiens la valeur de nom depuis une saisie console cin

    Merci pour votre aide.

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Ta variable "nom" est de quel type, stp ?
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    -> Comme le laisse sous entendre MacLak si tu n'utilises pas des std::string, la comparaison est indéterminée.
    -> si tu utilises des std::string, 4 cas possibles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while(nom!="toto"||nom!="tata"||nom!="tutu")
    1/nom autre chose que "tutu", "tata", "toto"
    nom!="toto" -> true
    L'évaluation s'arrête, l'expression vaut true et on continue le while

    2/nom =="tutu"
    nom!="toto" -> true
    L'évaluation s'arrête, l'expression vaut true et on continue le while

    3/nom =="tata"
    nom!="toto" -> true
    L'évaluation s'arrête, l'expression vaut true et on continue le while

    4/nom =="toto"
    nom!="toto" -> false
    nom!="tata" -> true
    L'évaluation s'arrête, l'expression vaut true (true||false == true) et on continue le while

    Bref, ta condition est toujours vraie.
    J'imagine que tu voulais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while(nom!="toto"&&nom!="tata"&&nom!="tutu")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while(!(nom=="toto"||nom=="tata"||nom=="tutu"))
    ?

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 2
    Par défaut
    Bonjour et merci pour vos réponses,

    en effet il fallait bien mettre && et non ||, j'en reviens pas d'avoir fait cette erreur d'analyse, j'ai pourtant l'habitude en php

    À bientôt

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

Discussions similaires

  1. [XL-2010] Sub or function not defined - boucle if conditions multiples
    Par zebeginer dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 15/07/2014, 14h39
  2. [XL-2007] Boucles et conditions multiples
    Par kakqshi dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 03/02/2014, 21h41
  3. "Do while" à conditions multiples
    Par Fukyvin dans le forum VBScript
    Réponses: 2
    Dernier message: 07/04/2011, 11h01
  4. Boucle do while avec des conditions multiples
    Par UrSuS AmErIcAnUs dans le forum C
    Réponses: 4
    Dernier message: 19/06/2008, 16h13
  5. Réponses: 3
    Dernier message: 11/06/2006, 12h09

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