Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème sur l'amélioration du jeux "plus ou moin"

(partie 1 ; chapitre 8)

Sujet résolu
    22 juillet 2006 à 19:37:15

    Bonjour à tous les zérOs !! :)

    Suite à la lécture de la premiere partie du tuto sur le C/C++ , j'ai donc tenté la réalisation du TP (le jeux "plus ou moin"), que j'ai achevé (non sans regarder discrètement la correction, posée en évidance sur le bureau de M@teo21 :-° ).

    Afin de parfaire ma pratique, je tente de réaliser les possibles améliorations... ;)

    Seulement ... comme par hasard ... ca plante. :colere2:

    Je me suis attaqué à celle-ci :

    Citation : M@teo21

    Faites un compteur de "coups". Ce compteur devra être une variable que vous incrémenterez à chaque fois que vous passez dans la boucle. Lorsque l'utilisateur a trouvé le nombre mystère, vous lui direz "Bravo, vous avez trouvé le nombre mystère en 8 coups" par exemple.



    la plus compliquée ^^

    je me lance donc dans la périlleuse élaboration du code source, seulement, au moment d'apuyer sur "compiler et éxécuter", ou le suspence est à chaque fois intennable, ...

    la fenêtre d'erreurs s'ouvre ... quel surprise ... :o

    Citation : Mon gentil logiciel

    C:\Documents and Settings\XXXX\Bureau\programation\TP\main.c In function `main':
    24 C:\Documents and Settings\XXXX\Bureau\programation\TP\main.c syntax error before "else"
    28 C:\Documents and Settings\XXXX\Bureau\programation\TP\main.c syntax error before "else"
    C:\Documents and Settings\XX\Bureau\programation\TP\Makefile.win [Build Error] [main.o] Error 1



    Je me permet donc maintenant de vous exposer ma "réalisation" ^^


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

    int main(int argc, char *argv[])
    {
    long nombreMystere = 0, nombreEntre = 0, nombreDeCoup = 0;
    const long MAX = 100, MIN = 1;

    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

    do
    {

    printf("quel est le nombre ?");
    scanf("%ld", &nombreEntre);


    if (nombreMystere > nombreEntre);
                printf("C'est plus == vous avez joué %ld coups ==\n\n", &nombreDeCoup);
                nombreDeCoup++;
               
    else if (nombreMystere < nombreEntre);
                printf("C'est moins ! == vous avez joué %ld coups ==\n\n", &nombreDeCoup);
                nombreDeCoup++;
               
    else
                printf ("Bravo, vous avez trouve le nombre mystere !!! == vous avez joué %ld coup\n\n", &nombreDeCoup);

    }
    while(nombreEntre != nombreMystere);

      system("PAUSE");     
      return 0;
    }



    Voilou ... :p

    merci à ceux qui auront prit la peine de lire ce poste :)

    Veperounet

    • Partager sur Facebook
    • Partager sur Twitter
      22 juillet 2006 à 19:45:51

      Quand tu as plusieurs instructions après un if et un else if, tu dois obligatoirement mettre des accolades {}

      Rajoute les et ça devrait marcher.
      • Partager sur Facebook
      • Partager sur Twitter
        22 juillet 2006 à 19:48:13

        Alors je vais t'expliquer tes erreurs. :p

        La première, tu n'as pas mis de "{}" pour les if, else if et else.
        La deuxième, pour afficher une variable dans un printf, tu ne dois pas mettre de "&" avant.
        La troisième, il ne faut pas mettre de ";" à la fin d'un if, else if et else.

        Voilà, en tout ça donne ça :

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

        int main(int argc, char *argv[])
        {
        long nombreMystere = 0, nombreEntre = 0, nombreDeCoup = 0;
        const long MAX = 100, MIN = 1;

        srand(time(NULL));
        nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;

        do
        {

        printf("quel est le nombre ?");
        scanf("%ld", &nombreEntre);


        if (nombreMystere > nombreEntre)
        {
                    printf("C'est plus == vous avez joué %ld coups ==\n\n", nombreDeCoup);
                    nombreDeCoup++;
        }
                   
        else if (nombreMystere < nombreEntre)
        {
                    printf("C'est moins ! == vous avez joué %ld coups ==\n\n", nombreDeCoup);
                    nombreDeCoup++;
        }
                   
        else
        {
                    printf ("Bravo, vous avez trouve le nombre mystere !!! == vous avez joué %ld coup\n\n", nombreDeCoup);
        }

        }  while(nombreEntre != nombreMystere);

          system("PAUSE");     
          return 0;
        }


        Voilà. ^^ Tout beau tout neuf. Sinon tu as compris le principe, félicitations. ;)

        [EDIT] Encore trop tard... :euh:

        [2e EDIT] Ah oui ! Égalise ta variable "nombreDeCoup" à 1, sinon le nombre de coups commence à 0. :p
        • Partager sur Facebook
        • Partager sur Twitter
          22 juillet 2006 à 19:59:05

          lol, merci beaucoup pour cette correction ! :)

          C'est fous ce que ca motive de travailler dans une ambiance aussi simpa ;)

          je ne pourrais malheureusement pas m'attele à la partie 2, je pars demain, donc ... :(

          En tout cas, les tutos sont trés bien faits et trés interessants , je me suis englobé toute la premiere partie yere soire ... ca nous fait bien 7 heures ... o_O
          • Partager sur Facebook
          • Partager sur Twitter

          Problème sur l'amélioration du jeux "plus ou moin"

          × 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