Jeu sur console, crash: où est l'erreur?

Anne-Nonime Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -  
Anne-Nonime Messages postés 28 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Hier j'ai décider de commencer à apprendre la programmation en C (donc vous pouvez le devner, je n'ai que très peu de connaissance) j'ai très peu d'expérience en la matière mais malgré tout j'ai tenter des faire un jeu. Mais quand je le met, après avoirs entrer le niveau, il ne se passe... rien. J'ai beau chercher je ne trouve pas d'erreur comment faire?:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
    int MAX = 0, MIN = 1, nombreMystere = 0, entrerDuJoueur = 0;
    int compteur = 0, rejouer = 0, nombreDeJoueur = 0, debuterLaPartie = 0, niveau = 0;
do
{
    compteur = 0;
    printf("\n                        *******-Plus ou moins, le jeu-*******\n\n\n\n\n");

    char prenom[100];

    printf("Comment t'appelles-tu?\n\n                      ");
    scanf("%s", prenom);


    printf("\n\nSalut %s!\n\n\n Seras-tu capable de trouver le nombre mystere?\n\n\n\n", prenom);//Menut du début
    printf("--Choisie ton mode de jeux--\n\n\n\n");//Menut du début

    printf("1-Solo\n");
    printf("2-Multijoueur\n\n                                                           ");
    scanf("%d", &nombreDeJoueur);

    if (nombreDeJoueur == 2)//Partie multi
    {
        printf("\n\n\n\n\nAppuyer sur un chiffre pour debuter la partie \n\n\n");//Partie multi
        scanf("%d", &debuterLaPartie);
        printf("\n\nJoueur 1, veuillez inserez un nombre entre 1 et 100:                 ");//Partie multi
        scanf("%d", &nombreMystere);//Partie multi
        printf("\n\n\n\n\n\n\n\n\n\n\n\n\nJoueur 2 c'est a vous de jouer\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");

    }
    else if (nombreDeJoueur == 1)//Partie Solo
    {
        printf("Mieux vaut etre seul que mal accompagner n'est-ce pas?\n\n");//Partie Solo

    }

    printf("Choisi un niveau:\n\n");
    printf("\n\nNiveau 1:           --entre 1 et 100----\n\n");
    printf("Niveau 2:           --entre 1 et 1 000---\n\n");
    printf("Niveau 3:           --entre 1 et 10 000--\n\n\n");
    scanf("%d", &niveau);
    printf("\n\n\n\n");
    scanf("\n%d",&niveau);

        switch(niveau)
    {
    case 1:
        MAX=100;
        break;
    case 2:
        MAX=1000;
        break;
    case 3:
        MAX=10000;
        break;
    default:
        printf("Niveau non reconnu. Je choisis pour vous le niveau 2 (entre 1 et 1000).\n");
        MAX=1000;
        break;
    }
    srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    do
    {
        printf("Quel est le nombre mystere?                                       ");
        scanf("%d", &entrerDuJoueur);

        if (entrerDuJoueur < nombreMystere)
        {
            printf("C'est plus!\n\n");
            compteur ++;
        }
        else if (entrerDuJoueur > nombreMystere)
        {
            printf("C'est moins!\n\n");
            compteur ++;
        }
        else
        {
           printf("\n\n~~Bravo! c'est gagner!~~\n\n\n");
           printf("\n Tu as gagner en %d coups\n\n", compteur);
        }
   }while(nombreMystere != entrerDuJoueur);

printf("Rejouer? Entre 1 pour oui 2 pour non \n\n");
scanf("%d", &rejouer);




}while (rejouer != 2);

return 0;

}
A voir également:

1 réponse

fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bonjour,

ital>printf("Comment t'appelles-tu?\n\n "); </ital>
Note : tu peux mettre des \t pour ajouter des tabulations au lieu de mettre autant d'espaces.

Note : tu traites le cas où nombreDeJoueur vaut 1 ou 2. Mais si c'est différent, tu ne fais rien. De plus, je ne vois pas la différence entre les deux modes...

scanf("\n%d",&niveau);
Pas de "\n" dans le scanf().

Note : attention à la régularité dans l'indentation.

Cdlt,
0
Anne-Nonime Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
Merci, j'ai corriger les défauts mais ça crash toujours :/
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Bizarre que ça crash... T'as pas mis un prénom de plus de 100 caractères ?

Sinon, je viens de voir que tu as deux : scanf("%d",&niveau);. Il faut que tu en retires un. Mais bon, ce n'est pas de là que vient le problème.

Recréé un projet et copie-colle ton programme pour repartir d'un truc propre. En tout cas, il n'y a pas d'erreur dans ton programme.
0
Anne-Nonime Messages postés 28 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai beau copier coller le code ça crash toujours :-/
0