Probleme de boucle dans un programme C

Fermé
azerty - 16 mars 2011 à 12:23
 azerty - 16 mars 2011 à 13:05
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

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
ok merci bcp
0