Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours C : Probleme avec TP 1

    31 janvier 2006 à 20:31:32

    Voici mon code :

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>


    int main ( int argc, char** argv )

    {

    long nombreJoueur;//choix nombre joueurs


    printf ("Choisissez le nombre de joueurs\n\n");
    printf ("1.Un joueur \n");
    printf ("2.Deux joueurs \n");
    printf ("Votre choix : \n");
    scanf ("%ld", &nombreJoueur);

    if (nombreJoueur == 1) //mode un joueur
    {

    switch (nombreJoueur)
    {
    case 1:
    printf ("Vous avez choisi de jouer seul\n\n");
    break;
    case 2:
    printf ("Vous jouer en multi joueurs\n\n");
    break;
    default :
    printf ("Vous n avez pas entrer un nombre correct !");
    break;
    }

    long nombreMystere = 0, nombreEssai = 0, difficulte = 0; //choix difficulté

    printf("=== Choix de la difficulte ===\n\n");
    printf("1. Facile (le nombre mystere est comprit entre 1 et 100)\n");
    printf("2. Moyen (le nombre mystere est comprit entre 1 et 1000)\n");
    printf("3. Difficile (le nombre mystere est comprit entre 1 et 10000)\n");
    printf("\n\nQuel est votre choix ? ");
    scanf("%ld", &difficulte);

    printf("\n");

    //

    if (difficulte == 1) //mode facile
    {
    const long MAX = 100, MIN = 1;
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    printf("Vous devez trouver un nombre comprit entre 1 et 100.\n\n");
    }
    else if (difficulte == 2) //mode moyen
    {
    const long MAX = 1000, MIN = 1; //
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    printf("Vous devez trouver un nombre comprit entre 1 et 1000.\n\n");
    }
    else if (difficulte == 3) //mode difficile
    {
    const long MAX = 10000, MIN = 1;
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    printf("Vous devez trouver un nombre comprit entre 1 et 10000.\n\n");
    }
    else //sinon ...
    {
    printf ("vous devez entrez un choix valide.\n\n");
    return 0;
    }
    long compteur = 0;


    do //boucle
    {
    printf ("Entrez un nombre pour trouver le nombre mystere :\n");
    scanf ("%ld", &nombreEssai) ;
    compteur ++;



    if (nombreMystere > nombreEssai)
    printf ("c'est plus !\n\n");
    else if (nombreMystere < nombreEssai)
    printf ("c'est moins !\n\n");
    else
    printf ("Bravo ! ! vous venez de trouver le nombre mystere en %ld coups !\n\n", compteur);
    } while (nombreEssai != nombreMystere);
    }

    if (nombreJoueur == 2 )
    {

    long nombreJ1, nombreJ2;

    printf ("Vous etes dans le mode 2 joueurs!\n");
    printf ("J1 : Entrez le nombre mystere : \n");
    scanf ("%ld\n", nombreJ2);
    system ("cls");

    printf ("J2 : Entrez un nombre : \n");
    scanf ("%ld\n", nombreJ2);

    do

    {

    if (nombreJ1 > nombreJ2)
    printf ("c'est plus !\n\n");
    else if (nombreJ1 < nombreJ2)
    printf ("c'est moins !\n\n");
    else
    printf ("Bravo ! ! vous venez de trouver le nombre mystere!\n\n");
    } while (nombreJ2 != nombreJ1);

    }








    system("PAUSE");
    return 0;
    }



    Il marche bien aucun probleme au niveau de la compilation et de l execution sauf quand je vais en mode mutijoueur : le J1 peut entrer son nombre , le J2 peut entrer son nombre mais lorsqu il appuie sur "Entrer", Windows m affiche la fenetre : "Windows a rencontre une erreur avec Plus ou Moins.exe et doit fermer ..." ! Avez vous la reponse a ce probleme ?
    • Partager sur Facebook
    • Partager sur Twitter
      31 janvier 2006 à 20:35:14

      C'est moi ou personne ne lit les post-its?! o_O
      Bon, bref, tout ça pour te dire d'utiliser la balise CODE : C, parce que j'sais pas si t'as remarqué, mais ton code il est totalement illisible là. :p Et pour trouver une erreur là-dedans...
      • Partager sur Facebook
      • Partager sur Twitter
        31 janvier 2006 à 20:40:34

        raaa c'est ce que j'allais dire :p .bon la faute est quand même voyante...regarde tes scanf, il sont où les & ?
        • Partager sur Facebook
        • Partager sur Twitter
          31 janvier 2006 à 20:47:55

          Je rajoute aussi qu'on ne peut pas mettre de "\n" dans un scanf. Tu dois obligatoirement mettre :
          scanf ("%ld", &taVariable);

          Ou aussi avec %lf dans le cas d'un nombre décimal.


          P.S. Pour les autres : Oui, je SAIS qu'il existe d'autres caractères à entrer avec scanf, mais pas au niveau du TP.
          • Partager sur Facebook
          • Partager sur Twitter
            31 janvier 2006 à 21:44:55

            dsl pour le "Code : C " je suis nouveau ! merci beaucoup je vais regler le probleme
            • Partager sur Facebook
            • Partager sur Twitter

            Cours C : Probleme avec TP 1

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown