Probleme de boucle dans un programme C

azerty -  
 azerty -
Bonjour,
j ai un probleme avec un programme que j ais fais, c est un programme basique: trouver le nombre choisis par l ordi, mais ma boucle ne fonctionne pas

voici mon programme:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main( int argc, char** argv )
{
printf("*****jeux du plus ou moins*****\n\n\n");
printf("les regles sont tres simples, l'ordinateur choisi un nombre");
printf("et vous devez le devinez. vous aurez comme indications si c est plsu ou moins.\n\n\n\n");
int nombreMystere, MAX=0, MIN=0;
int nombreEntre, difficulte=0;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
printf("niveau 1: tranquille,nombre mystere compris entre 0 a 100\n\n");
printf("niveau 2: ca se corse,nombre mystere compris entre 0 a 500\n\n");
printf("niveau 3: expert,nombre mystere compris entre 0 a 1000\n\n\n");
printf("quel niveau de difficulté prenez vous?");
scanf("%d", &difficulte);
do
{

switch(difficulte)
{
case 1:
MAX= 100;
MIN=0;
break;
case 2:
MAX=500;
MIN=0;
break;
case 3:
MAX=1000;
MIN=0;
break;
}
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
}
while(difficulte<3);

do
{
// On demande le nombre
printf("Quel est le nombre ? ");
scanf("%d", &nombreEntre);

// On compare le nombre entré avec le nombre mystère

if (nombreMystere > nombreEntre)
printf("C'est plus !\n\n");
else if (nombreMystere < nombreEntre)
printf("C'est moins !\n\n");
else
printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
} while (nombreEntre != nombreMystere);

return 0;

}
je sais pas si ca vient de mon code mais ma premiere bouv=cle ne fonctionne pas

1 réponse

  1. McMido
     
    La condition de sortie de ta première boucle n'est pas bonne.
    D'ailleurs elle sert à rien ;)
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main( int argc, char** argv )
    {
        int nombreMystere, MAX=0, MIN=0;
        int nombreEntre, difficulte=0;
        printf("*****jeux du plus ou moins*****\n\n\n");
        printf("les regles sont tres simples, l'ordinateur choisi un nombre\n");
        printf("et vous devez le devinez. vous aurez comme indications si c est plsu ou moins.\n\n\n\n");
        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
        printf("niveau 1: tranquille,nombre mystere compris entre 0 a 100\n\n");
        printf("niveau 2: ca se corse,nombre mystere compris entre 0 a 500\n\n");
        printf("niveau 3: expert,nombre mystere compris entre 0 a 1000\n\n\n");
        printf("quel niveau de difficulté prenez vous?");
        scanf("%d", &difficulte);
    
        switch(difficulte)
        {
            case 1:
                MAX= 100;
                MIN=0;
                break;
            case 2:
                MAX=500;
                MIN=0;
                break;
            case 3:
                MAX=1000;
                MIN=0;
                break;
            default:
                printf("difficulté non gérée\n");
        }
        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    
        do
        {
            // On demande le nombre
            printf("Quel est le nombre ? ");
            scanf("%d", &nombreEntre);
            // On compare le nombre entré avec le nombre mystère
            if (nombreMystere > nombreEntre)
                printf("C'est plus !\n\n");
            else if (nombreMystere < nombreEntre)
                printf("C'est moins !\n\n");
            else
                printf ("Bravo, vous avez trouve le nombre mystere !!!\n\n");
        } while (nombreEntre != nombreMystere);
        return 0;
    } 
    
    1
    1. azerty
       
      ok merci bcp
      0