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 :

Quitter une boucle while


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 79
    Par défaut Quitter une boucle while
    Ce programme calcule le carre d'un nombre(tout bête) et l'affiche l'utilisateur quitte la boucle while en tapant q mais probléme au lieu de quitter il affiche le tout indefiniment en donnantla reponse 400.
    aidé moi à le corrigé svp

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    #include <stdio.h>
    #include <stdlib.h>
     
    int carre(int nombre);
     
    int main()
    {
        int x = 0;
        int y;
     
        while(x != 'Q' || x != 'q')
        {
            printf("\nEntrez un nombre pour calculer son carré,\n");
            puts("pour quitter tapper Q");
            scanf("%d", &x);
            y = carre(x);
            printf("%d", y);
        }
        puts("Vous avez choisis de quitter...");
        exit(EXIT_SUCCESS);
        return 0;
    }
     
    int carre(int nombre)
    {
        return nombre * nombre;
    }

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    la logique booléenne...

    OU ou ET ...


  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 79
    Par défaut
    Je ne comprend pas le sens de ta reponse...
    quel erreur ais je fait?

  4. #4
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Il te faut un &&, pas un ||

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 79
    Par défaut
    Pourquoi ça ??? on ecrit bien q ou Q et pas les deux en même temps...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 79
    Par défaut
    en plus même avec l'operateur && ça ne marche pas...

  7. #7
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 480
    Par défaut
    Citation Envoyé par Porteuris Voir le message
    Pourquoi ça ??? on ecrit bien q ou Q et pas les deux en même temps...
    Ce serait valable si tu utilisais « == » et pas « != ». Tout devient clair quand tu écris la condition en français :

    « SI x est différent de 'Q' OU si x est différent de 'q', ALORS CONTINUE ».

    Or, si x est égal à Q, il est forcément différent de q, et vice-versa. Par conséquent, ta condition est toujours remplie et tu ne peux jamais sortir. Si ça ne marche pas avec « && », c'est peut-être dû à la priorité des opérateurs. Essaie de mettre tes « x != 'Q/q' » entre parenthèses.

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

Discussions similaires

  1. [Débutant] Quitter une boucle "while" à l'aide d'une touche
    Par Tibtib dans le forum MATLAB
    Réponses: 2
    Dernier message: 04/04/2011, 16h40
  2. Problème de SCANF dans une boucle WHILE
    Par FidoDido® dans le forum C
    Réponses: 4
    Dernier message: 30/12/2005, 17h42
  3. [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
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

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