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 :

[Debutant]Pourquoi Le programme quitte pendant un while?


Sujet :

C

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Points : 16
    Points
    16
    Par défaut [Debutant]Pourquoi Le programme quitte pendant un while?
    Bonjour tous!
    Voila, je débute en C, je suis sous linux.
    J'ai tapé le petit programme suivant:
    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
    28
    29
    30
    31
    32
    33
    34
    35
    #ifdef HAVE_CONFIG_H
    #include <config.h>
    #endif
     
    #include <stdio.h>
    #include <stdlib.h>
     
    int main(int argc, char *argv[])
    {
    long NombreChoisi = 0;
    long EssayeDeviner = 0;
    long NombreReussit = 0;
    printf("Bonjour, bienvenue sur le nombre mystere!");
    printf("\nVeuillez saisir un nombre au hazard:\n");
    scanf("%ld", &NombreChoisi);
    printf("Veuillez maintenant essayer de deviner le nombre que vous venez d'entrer ;)");
    do
    {
    	scanf("%ld", &EssayeDeviner);
    	if (EssayeDeviner > NombreChoisi)
    	{
    		printf("Trop grand!");
    	}
    	else if (EssayeDeviner < NombreChoisi)
    	{
    		printf("Trop petit!");
    	}
    	else 
    	{
    		printf("Bien joué!");
    		NombreReussit = 1;
    	}
    } while (NombreReussit > 0);
      return EXIT_SUCCESS;
    }
    Je comprends pas pourquoi au bout du premier while, même si on a pas trouvé la bonne solution, il quitte... veuillez m'éclairer svp!
    Merci

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Ton test de fin est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    } while (NombreReussit > 0);
    Que vaut NombreReussit à l'initialisation?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    long NombreReussit = 0;
    A ton avis, est-ce normal?

    Jc

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Au début il vaut zéro, mais quand on a trouvé la réponse, la nombre passe a 1, donc supérieur a zéro, donc la boucle s'arrète... non?

  4. #4
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    While == tant que, et pas j'usqu'a!!!
    Donc ce n'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (NombreReussit > 0);
    Mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (NombreReussit == 0);
    Ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while (NombreReussit != 1);
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2006
    Messages : 38
    Points : 16
    Points
    16
    Par défaut
    Ahem oué c'est vrai... Je suis désolé de vous avoir dérangé pour un truc aussi con... je débute vraiment...
    Merci

  6. #6
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par PorkyFighter
    Ahem oué c'est vrai... Je suis désolé de vous avoir dérangé pour un truc aussi con... je débute vraiment...
    Merci
    Il faut de tt, et c'est en faisant des erreurs que l'on apprend!!!
    je parle en connaissance de cause...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

  7. #7
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par miron
    Il faut de tt, et c'est en faisant des erreurs que l'on apprend!!!
    je parle en connaissance de cause...
    Et tes révisions !! Débranche le câble !
    Pas de Wi-Fi à la maison : CPL

  8. #8
    Membre averti Avatar de Jack_serious
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    350
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 350
    Points : 396
    Points
    396
    Par défaut
    Vous vous connaissez ?
    Don't worry, be serious.
    La vie est courte. Prenez votre temps.

    Jack.

  9. #9
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par Jack_serious
    Vous vous connaissez ?
    Non, mais en cette période d'examens, mon devoir moral est de rappeler à l'ordre les petits jeunes qui se dispersent (j'ai trois ados, à la maison, je connais...sans parler de moi...)
    Pas de Wi-Fi à la maison : CPL

  10. #10
    Débutant Avatar de miron
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    479
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 479
    Points : 291
    Points
    291
    Par défaut
    Citation Envoyé par Emmanuel Delahaye
    Non, mais en cette période d'examens, mon devoir moral est de rappeler à l'ordre les petits jeunes qui se dispersent (j'ai trois ados, à la maison, je connais...sans parler de moi...)
    Purais, sur tout mes messages, j'ai ca..
    En_fin c'est gentil...
    Merci...
    Prenez le temps d'aller vite...

    Programme sous Windows, en C avec Code::Blocks, en Java JRE 1.6. avec Eclipse, en PHP/HTML/CSS avec Dreamweaver CS5 ou NotePad++ et en VBA sous avec Access 2010, Excel 2010, Word 2010 et Outlook 2010.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 06/12/2008, 13h15
  2. Pourquoi la programmation Shell ?
    Par am.adnane dans le forum Linux
    Réponses: 14
    Dernier message: 21/01/2006, 00h47
  3. pourquoi l'appli quitte quand elle est vide
    Par firejocker dans le forum MFC
    Réponses: 1
    Dernier message: 10/11/2005, 14h20
  4. [debutant]Executer un programme compilee sous cygwin
    Par Battosaiii dans le forum Windows
    Réponses: 4
    Dernier message: 16/10/2005, 15h37
  5. [Debutant] [Windows] livre programmation windows
    Par orelero dans le forum Windows
    Réponses: 8
    Dernier message: 11/02/2005, 13h32

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