Pourquoi mon programme ne fonctionne pas?
Fious
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis novice en programation et je ne comprends pas pourquoi mon programme ne marche pas. Je travaille sur xcode. Merci
Je suis novice en programation et je ne comprends pas pourquoi mon programme ne marche pas. Je travaille sur xcode. Merci
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{ int lvl=0;
printf("Bienvenue, choisissez un niveau.\n 1, 2 ou 3\n");
scanf("%d", &lvl);
switch(lvl)
{
case 1: printf("le nombre mystere est se trouve entre 1 et 100");
while(1)
{
int nombreMystere = 0, nombreChoisi =0, compteur = 1, reponse=1 ;
const int MAX = 100, MIN = 1;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
while (nombreMystere != nombreChoisi)
{
printf("Quel est le nombre?\n");
scanf("%d", &nombreChoisi);
if (nombreChoisi > nombreMystere)
{printf("le resultat est plus petit\n"); compteur++;}
if (nombreChoisi < nombreMystere)
{printf("le resultat est plus grand\n"); compteur++;}
if (nombreMystere==nombreChoisi)
{printf("Bravo, vous avez gagné en %d coups\n Souhaitez vous continuer?\n", compteur);
scanf("%d", &reponse);
if (reponse==0) return 0;}
}
}
break;
case 2: {printf("le nombre mystere est se trouve entre 1 et 100");
while(1)
{
int nombreMystere = 0, nombreChoisi =0, compteur = 1, reponse=1 ;
const int MAX = 1000, MIN = 1;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
while (nombreMystere != nombreChoisi)
{
printf("Quel est le nombre?\n");
scanf("%d", &nombreChoisi);
if (nombreChoisi > nombreMystere)
{printf("le resultat est plus petit\n"); compteur++;}
if (nombreChoisi < nombreMystere)
{printf("le resultat est plus grand\n"); compteur++;}
if (nombreMystere==nombreChoisi)
{printf("Bravo, vous avez gagné en %d coups\n Souhaitez vous continuer?\n", compteur);
scanf("%d", &reponse);
if (reponse==0) return 0;}
}
}
} break;
case 3: {printf("le nombre mystere est se trouve entre 1 et 100");
while(1)
{
int nombreMystere = 0, nombreChoisi =0, compteur = 1, reponse=1 ;
const int MAX = 10000, MIN = 1;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
while (nombreMystere != nombreChoisi)
{
printf("Quel est le nombre?\n");
scanf("%d", &nombreChoisi);
if (nombreChoisi > nombreMystere)
{printf("le resultat est plus petit\n"); compteur++;}
if (nombreChoisi < nombreMystere)
{printf("le resultat est plus grand\n"); compteur++;}
if (nombreMystere==nombreChoisi)
{printf("Bravo, vous avez gagné en %d coups\n Souhaitez vous continuer?\n", compteur);
scanf("%d", &reponse);
if (reponse==0) return 0;}
}
}
} break;
default: printf("Ce n'est pas un niveau");
}
}
2 réponses
-
Soit plus précis, problème de fonctionnement ? de compilation ? erreur ? warning ? quelles lignes ? etc...
Isole la partie qui déconne si possible -
Sous gcc, ce code compile sans erreur et ne semble pas planter à l'exécution.
bash>johand@bata:~/src/CCM/C$ gcc -Wall -o mystere mystere.c
johand@bata:~/src/CCM/C$ gcc --version
gcc (Debian 6.1.1-11) 6.1.1 20160802
Peux-tu expliciter la différence entre les cas du switch, car j'ai une vue limitée et je ne vais pas commencer à faire des diff entre bouts de code ?