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");
}
}
A voir également:
- Pourquoi mon programme ne fonctionne pas?
- Programme demarrage windows - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Comment fermer un programme qui ne répond pas - Guide
- Programme word gratuit - Guide
- Message programmé iphone - Guide
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
Isole la partie qui déconne si possible
Sous gcc, ce code compile sans erreur et ne semble pas planter à l'exécution.
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 ?
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 ?
En fait ce n'est pas la compilation le probleme, c'est juste qu'apres la compilation, lorsque j'appuie sur 1, 2 ou 3, le programme ne continue pas comme il devrait.
Le switch sert a choisir le niveau sauf qu'il ne fonctionne pas.
const int MAX = 1000,
Qui change, met ça dans une fonction avec le MAX en paramètre