Message d'erreur : programmation en console
Résolu
coleturner
Messages postés
35
Date d'inscription
Statut
Membre
Dernière intervention
-
coleturner Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
coleturner Messages postés 35 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis débutant et a la demande de mon prof, je dois écrire un code d'un jeux "plus ou moins".
explications : l'ordi choisie un nombre au hasard et je dois le trouver en un minimum de coups.
j'ai réussi a tout faire mais quand j'ai voulu ajouter 3 niveaux de difficultés, ça plante ... la console s'affiche mais avec un message d'erreur
je crois que c'est le switch qui ne va pas... vous en pensez quoi?
voici le code
/* PLUS ou MOINS
Petit jeux crée par un débutant en programmation
Le but du jeux est de trouver le nombre mystere en un minimun de propositions
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int ContinuerPartie = 1;
while(ContinuerPartie != 0)
{
long NombreMystere = 0, NombreEntre = 0, NombreDeCoups = 1;
long nombreMaximum = 0;
const long MIN = 1;
srand(time(NULL));
NombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN;
do
{
printf("Voici les 3 niveaux de difficultés que vous pourriez choisir :\n\n");
printf("1. de 0 a 100\n");
printf("2. de 0 a 1 000\n");
printf("3. de 0 a 10 000\n\n");
printf("quel niveau voulez-vou choisir?");
scanf("%ld", &nombreMaximum);
switch(nombreMaximum)
{
case 1:
nombreMaximum <= 100;
break;
case 2:
nombreMaximum <= 1000;
break;
case 3:
nombreMaximum <= 10000;
break;
}
printf("Entrez le nombre mystere : ");
scanf("%ld", &NombreEntre);
printf("\n");
if (NombreEntre < NombreMystere)
printf("C'est plus\n");
else if (NombreEntre > NombreMystere)
printf("C'est moins\n");
else
printf("Bravo vous avez trouvez le nombre Mystere en %ld foi(s)\n\n", NombreDeCoups);
NombreDeCoups++;
} while(NombreEntre != NombreMystere);
printf("voulez-vous recommencer?\n\n");
printf("1. oui\n");
printf("0. non\n");
printf("Que decidez-vous? ");
scanf("%ld", &ContinuerPartie);
printf("\n\n");
}
system("PAUSE");
return 0;
}
je suis débutant et a la demande de mon prof, je dois écrire un code d'un jeux "plus ou moins".
explications : l'ordi choisie un nombre au hasard et je dois le trouver en un minimum de coups.
j'ai réussi a tout faire mais quand j'ai voulu ajouter 3 niveaux de difficultés, ça plante ... la console s'affiche mais avec un message d'erreur
je crois que c'est le switch qui ne va pas... vous en pensez quoi?
voici le code
/* PLUS ou MOINS
Petit jeux crée par un débutant en programmation
Le but du jeux est de trouver le nombre mystere en un minimun de propositions
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int ContinuerPartie = 1;
while(ContinuerPartie != 0)
{
long NombreMystere = 0, NombreEntre = 0, NombreDeCoups = 1;
long nombreMaximum = 0;
const long MIN = 1;
srand(time(NULL));
NombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN;
do
{
printf("Voici les 3 niveaux de difficultés que vous pourriez choisir :\n\n");
printf("1. de 0 a 100\n");
printf("2. de 0 a 1 000\n");
printf("3. de 0 a 10 000\n\n");
printf("quel niveau voulez-vou choisir?");
scanf("%ld", &nombreMaximum);
switch(nombreMaximum)
{
case 1:
nombreMaximum <= 100;
break;
case 2:
nombreMaximum <= 1000;
break;
case 3:
nombreMaximum <= 10000;
break;
}
printf("Entrez le nombre mystere : ");
scanf("%ld", &NombreEntre);
printf("\n");
if (NombreEntre < NombreMystere)
printf("C'est plus\n");
else if (NombreEntre > NombreMystere)
printf("C'est moins\n");
else
printf("Bravo vous avez trouvez le nombre Mystere en %ld foi(s)\n\n", NombreDeCoups);
NombreDeCoups++;
} while(NombreEntre != NombreMystere);
printf("voulez-vous recommencer?\n\n");
printf("1. oui\n");
printf("0. non\n");
printf("Que decidez-vous? ");
scanf("%ld", &ContinuerPartie);
printf("\n\n");
}
system("PAUSE");
return 0;
}
A voir également:
- Message d'erreur : programmation en console
- Recuperer message whatsapp supprimé - Guide
- Message supprimé whatsapp - Guide
- Message absence thunderbird - Guide
- Epingler un message whatsapp - Accueil - Messagerie instantanée
- Message du pere noel gratuit whatsapp - Accueil - Messagerie instantanée
10 réponses
Bonjour,
Il serait bien de saisir le niveau de jeu avant de déterminer le nombre mystère !!! non ?
;o)
Polux
Il serait bien de saisir le niveau de jeu avant de déterminer le nombre mystère !!! non ?
;o)
Polux
Salutations,
Le dit message d'erreur aurait pu aider. Il m'a sauté à la gueule quand j'ai lancé le programme.
Il a planté sur cette ligne:
NombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN;
Division par zéro.
nombreMaximum vaut 0, MIN vaut 1, le modulo zéro plante.
En sautant la ligne...
Le niveau de difficulté est demandé à chaque tour de jeu.
Le switch est inopérant. (les instructions du type nombreMaximum <= 100; ne font rien)
M.
Le dit message d'erreur aurait pu aider. Il m'a sauté à la gueule quand j'ai lancé le programme.
Il a planté sur cette ligne:
NombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN;
Division par zéro.
nombreMaximum vaut 0, MIN vaut 1, le modulo zéro plante.
En sautant la ligne...
Le niveau de difficulté est demandé à chaque tour de jeu.
Le switch est inopérant. (les instructions du type nombreMaximum <= 100; ne font rien)
M.
j'ai changé, et maintenant il me met comme nombre mystere le numero de la difficulté :o
par exemple niveau 1 ; nombre mystere = 1
voila ce que j'ai fait
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int ContinuerPartie = 1;
while(ContinuerPartie != 0)
{
long NombreEntre = 0, NombreDeCoups = 1;
const long MIN = 1;
long nombreMaximum = 0;
printf("Voici les 3 niveaux de difficultés que vous pourriez choisir :\n\n");
printf("1. de 0 a 100\n");
printf("2. de 0 a 1 000\n");
printf("3. de 0 a 10 000\n\n");
printf("quel niveau voulez-vou choisir?");
scanf("%ld", &nombreMaximum);
switch(nombreMaximum)
{
case 1:
nombreMaximum <= 100;
break;
case 2:
nombreMaximum <= 1000;
break;
case 3:
nombreMaximum <= 10000;
break;
}
long NombreMystere = 0;
srand(time(NULL));
NombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN;
do
{
printf("Entrez le nombre mystere : ");
scanf("%ld", &NombreEntre);
printf("\n");
if (NombreEntre < NombreMystere)
printf("C'est plus\n");
else if (NombreEntre > NombreMystere)
printf("C'est moins\n");
else
printf("Bravo vous avez trouvez le nombre Mystere en %ld foi(s)\n\n", NombreDeCoups);
NombreDeCoups++;
} while(NombreEntre != NombreMystere);
printf("voulez-vous recommencer?\n\n");
printf("1. oui\n");
printf("0. non\n");
printf("Que decidez-vous? ");
scanf("%ld", &ContinuerPartie);
printf("\n\n");
}
system("PAUSE");
return 0;
}
par exemple niveau 1 ; nombre mystere = 1
voila ce que j'ai fait
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[])
{
int ContinuerPartie = 1;
while(ContinuerPartie != 0)
{
long NombreEntre = 0, NombreDeCoups = 1;
const long MIN = 1;
long nombreMaximum = 0;
printf("Voici les 3 niveaux de difficultés que vous pourriez choisir :\n\n");
printf("1. de 0 a 100\n");
printf("2. de 0 a 1 000\n");
printf("3. de 0 a 10 000\n\n");
printf("quel niveau voulez-vou choisir?");
scanf("%ld", &nombreMaximum);
switch(nombreMaximum)
{
case 1:
nombreMaximum <= 100;
break;
case 2:
nombreMaximum <= 1000;
break;
case 3:
nombreMaximum <= 10000;
break;
}
long NombreMystere = 0;
srand(time(NULL));
NombreMystere = (rand() % (nombreMaximum - MIN + 1)) + MIN;
do
{
printf("Entrez le nombre mystere : ");
scanf("%ld", &NombreEntre);
printf("\n");
if (NombreEntre < NombreMystere)
printf("C'est plus\n");
else if (NombreEntre > NombreMystere)
printf("C'est moins\n");
else
printf("Bravo vous avez trouvez le nombre Mystere en %ld foi(s)\n\n", NombreDeCoups);
NombreDeCoups++;
} while(NombreEntre != NombreMystere);
printf("voulez-vous recommencer?\n\n");
printf("1. oui\n");
printf("0. non\n");
printf("Que decidez-vous? ");
scanf("%ld", &ContinuerPartie);
printf("\n\n");
}
system("PAUSE");
return 0;
}
après ton switch fait un printf du nombreMaximum pour voir sa valeur ... je ne crois pas qu'il contienne quelque chose
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
comment je pourrai changer les instructions du switch, pour que ça marche?
En remplaçant les nombreMaximum <= 100; par nombreMax = 100;
C'est valide mais ça ne fait rien...
C'est un peu équivalent à
ou même à
C'est des instructions, ça compile mais c'est tout. D'ailleurs la plus part des compilateurs ne compilerons pas de code pour ces lignes là.
M.
int main(void) { int i = 2; i > 4; return 0; }
C'est valide mais ça ne fait rien...
C'est un peu équivalent à
int main(void) { 6; return 0; }
ou même à
int main(void) { ; return 0; }
C'est des instructions, ça compile mais c'est tout. D'ailleurs la plus part des compilateurs ne compilerons pas de code pour ces lignes là.
M.