Problème de code source ?

Résolu
Bonjour,

mon problème est le suivant :
J'ai essayé de faire un petit c'est plus / c'est moins, aucun message d'erreur est pourtant quand de compile et que j'essaye de le démarrer, il me dit "JEU.exe a cessé de fonctionner.
Voici le code source :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

int main()
{
int tentatives = 0, rejouer = 0, MIN = 1, MAX = 0, nombreMystere = 0, nombreEntre = 0, difficulte = 0;
srand(time(NULL));
nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
do
{
do
{
printf("Veuillez choisir votre niveau de difficulte :");
scanf("%d", &difficulte);
if (difficulte == 1)
{
printf("Vous avez choisi le niveau de difficulte 1.");
MAX = 100;
}
else if (difficulte == 2)
{
printf("Vous avez choisi le niveau de difficulte 2.");
MAX = 1000;
}
else if (difficulte == 3)
{
printf("Vous avez choisi le niveau de difficulte 3.");
MAX = 10000;
}
else
{
printf("Vous avez entre une valeur invalide ...");
}
} while (difficulte == 0 || difficulte > 3);
printf("A present, que le jeu commence !");
do
{
printf("Quel est le nombre ?");
scanf("%d", nombreEntre);
if (nombreEntre > nombreMystere)
{
printf("C'est moins !");
tentatives++;
}
else if (nombreEntre < nombreMystere)
{
printf("C'est plus !");
tentatives++;
}
else
{
printf("Felicitations, vous avez trouve le nombre mystere en %d tentatives !", tentatives);
}
}while (nombreEntre != nombreMystere);
printf("Voulez-vous rejouer ?");
printf("1 - Oui");
printf("2 - Non");
scanf("%d", &rejouer);
}while (rejouer == 1);
system("pause");
}

Merci d'avance et en espérant que vous puissiez m'aider, axelfl

4 réponses

  1. J'ai oublié de vous préciser qu'il est codé en C.
    De plus, à l'origine il marchait bien, mais l'erreur est arrivée quand j'ai voulu ajouter les améliorations comme les niveaux de difficulté et la fonction rejouer que le problème est arrivé.
    Merci d'avance.
    1. Bonjour,

      Tu initialises ton nombreMystere avant de connaître le niveau de difficulté.
      Du coup, tu le fais avec MAX = 0.
      Donc
      nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
      donne nombreMystere = (rand() % 0) + 1

      Modulo 0, j'ai un peu du mal à me le représenter. À mon avis, l'ordinateur aussi :p

      Xavier
      1. Merci beaucoup pour vos réponses ! En effet, je n'ai eu qu'à déplacer la génération de MAX et le problème était réglé ! Plus qu'à ajouter quelques \n par ci par là ... ^^ Merci beaucoup, axelfl.