Partage
  • Partager sur Facebook
  • Partager sur Twitter

Amelioration du tp n°1

Dur mais bon le C :D

    14 août 2006 à 18:34:41

    Kikoo les gens c'est(encore? :colere2: )moi ^^
    Mon probleme du jour est de lordre de plusieurs probleme :

    1."Lorsque l'utilisateur aura trouvé le nombre mystère, le programme s'arrête. Pourquoi ne pas demander s'il veut faire une autre partie ?

    Si vous faites ça, il vous faudra faire une boucle qui englobera la quasi-totalité de votre programme. Cette boucle devra se répéter TANT QUE l'utilisateur n'a pas demandé à arrêter le programme. Je vous conseille de rajouter une variable booléenne "continuerPartie" initialisée à 1 au départ. Si l'utilisateur demande à arrêter le programme, vous mettrez la variable à 0 et le programme s'arrêtera."

    Je ne comprends pas comment fonctionne une booléenne car si on initialise la valeur de la variable continuerPartie à 1 ,alors le booléen sera toujours vrai et l'utilisateur devra toujours refaire une partie ou alors j'ai rien compris : en Clair,j'aimerais que quelqu'un m'explique comment faire pour que l'utilisateur puisse choisir si il veut continuer ou abandonner le jeu (j'ai deja pense au switch mais bon ...)

    2.Sa fait une heure que j'essaie de savoir ou placer et comment ma boucle pour que l'utilisateur puisse ou non refaire une partie ...
    Si quelqu'un pouvait me donner juste un indice(car me donner la solution serait trop facile :o) pour m'aider @ avancer car avec mon code je n'arrive à rien :

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

    int main(int argc, char *argv[])
    {
    long nombreEntrer=0;
    long nombre1=0;
    long nombreMystere=0;
    long nombre=0;
    const long MAX = 100, MIN = 1;
    srand(time(NULL));
    nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
    printf("Quel est le fameux nombre? \n");


    while(nombre!=nombreMystere)

    {
        nombre1++;
        scanf("%ld",&nombre);
    if(nombre<nombreMystere)
    {
        printf("C'est plus ! \n");
    }
    else if(nombre>nombreMystere)
    {
        printf("C'est moins !\n");
    }
    else
    {
        printf("C'est gagne ! \n");
    }
    }


    if(nombre1<10)
    {
    printf("Bravo tu as trouve le nombre en %ld coups \n",nombre1);
    }
    else if(nombre1>10)
    {
    printf("Tu as termine le jeu en %ld coups  ! \nEssaye de faire en moins de %ld coups la prochaine fois !\n",nombre1,nombre1);
    }
    printf("Veux-tu rejouer ? \n");
    printf("Tes choix ?\n1.Oui ?:D\n2.Non?grrr...\n");
    scanf("%ld",&nombreEntrer);
    switch(nombreEntrer)
    {
        case 1:
        printf("Ok c'est parti !\n\n");
        break;
        case 2:
        printf("Quoi ,il est trop naze mon jeu pour toi?:o \n\n");
        break;
        default:
        printf("1 ou 2 c'est pas compliqué :o \n\n");
    }



    system ("PAUSE");
    return 0;
    }


    Voila,merci les zamis ;)
    • Partager sur Facebook
    • Partager sur Twitter
      14 août 2006 à 18:43:55

      Un booléen signifie que la variable peut être égale à 0 ou à 1 mais cela ne veut pas dire que tu ne peut pas changer sa valeur. Tu l'initialise à 1 puis aprés tu peux changer sa valeur en fonction de ce que rentre le joueur.
      Sinon je ne vois pas comment t'aider sans donner la solution :)
      Comme le dit M@teo une grande partie du programme doit-être dans une boucle. Allez, un indice: utilise une boucle do { ... } while(???)
      • Partager sur Facebook
      • Partager sur Twitter
        14 août 2006 à 18:45:43

        Par contre, si tu veux un conseil, indente ton code, on ne s'y retrouve guère.
        • Partager sur Facebook
        • Partager sur Twitter
          15 août 2006 à 0:48:06

          una autre petit conseil:
          donne des noms de variables plus explicites, parce que avec des trucs comme nombre et nombre1, tu vas les confondre à un moment et ton code ne voudra plus rien dire

          puisqu'il y en a un qui compte le nombre de coups, appelle le nombreCoups, ou nbEssais, ou un truc du style

          Cordialement
          Nigel
          • Partager sur Facebook
          • Partager sur Twitter
            15 août 2006 à 4:44:01

            Tu fais comme les amis ont dis c'est-à-dire une boucle qui englobe toute la fonction main, et à la fin tu mets une condition if sur un booléen qui prend la valeur 0 si l’utilisateur dis ‘non’ et prend la valeur 1 s’il a dis ……'oui', voilà ;)
            • Partager sur Facebook
            • Partager sur Twitter

            Amelioration du tp n°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