Partage
  • Partager sur Facebook
  • Partager sur Twitter

TP1 amélioration (recommencer ?)

Snif ='(

    7 mai 2006 à 0:11:22

    Chalutachion à touch ^^

    Donc voila j'ai fais le premier TP et j'tente d'améliorer.. Mais j'ai un petit problème pour demander de recommencer,

    j'met tout le code :
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    /*Variables : m1 = Nombre minimum, m100 Nombre maximum, na = Nombre aléatoire, np = Nombre proposé, yn = yes/no cmpt = Compteur*/
    int main(int argc, char *argv[])
    {
    const long m1 = 1, m100 = 100;
    long na = 0, np = 0, cmpt = 0, yn = 0;


    srand(time(NULL));
    na = (rand() % (m1 - m100 + 1)) + m1;

    do
    {
    printf("Entrez un nombre entier compris entre 1 et 100 : ");
    scanf ("%ld",&np);
    cmpt++;

    if ( np > 100 )
    {
    printf("\n\nHola j'ai dis un nombre compris entre 1 et 100\n\n\n");

    }
    if ( na < np )
    printf("Le nombre que vous cherchez est inferieur a celui-ci\n");
    else if ( na > np )
    printf("le nombre que vous cherchez est superieur a celui-ci\n");
    }
    while ( na != np );

    system ("CLS");

    if ( cmpt >= 20 && na == np )
    printf("\n\nVotre ridicule score est de %ld éssais\n\n",cmpt);
    else if ( cmpt == 1 && na == np )
    printf("===LA CHANCE EST AVEC TOI===");
    else if ( na == np )
    printf("\n\nVous avez fait %ld tentatives avant d'obtenir le bon nombre\n\n\n",cmpt);

    printf("\nVoulez vous recommencer ? 1/0\n\n");
    scanf("%ld",&yn);
    while ( yn != '0' );

    system("PAUSE");

    }


    Donc le problème c'est qu'il reste sur l'écran noir et qu'il recommence rien du tout ^^

    j'avais mon petit système à moi au départ :

    while ( yn != 'n' );
    mais comme ça ne marchait pas j'ai pris l'idée du 1/0 sur un autre post et puis ça marche pas non plus =D
    Merci =)
    • Partager sur Facebook
    • Partager sur Twitter
      7 mai 2006 à 0:44:37

      Utilise la balise <code> sinon c'est déguelasse. :(

      Utilise des noms de variables clairs, tes "ya", "na", et autres "np" sont pas trés digérables.
      Ils sont expliqués, j'en conviens, mais bon.. c'est pas très comprehensible. :euh:

      Fais ça et on t'aideras après. ;)
      • Partager sur Facebook
      • Partager sur Twitter
        7 mai 2006 à 0:49:16

        Salut,

        Alor je suis pas partie tre loin mais je vais essayer de te repondre quand meme, deja je pense qu'il faut que ta boucle (do) commence avant le

        Citation : Code

        srand(time(NULL));
        na = (rand() % (m1 - m100 + 1)) + m1;

        sinon le nombre aleatoire restera le meme.

        a quoi correspond

        Citation : Code

        system ("CLS");


        je n'est pas vu ca pour ce Tp.

        voila, qu'on me corrige si j'ai dit une betise.
        • Partager sur Facebook
        • Partager sur Twitter
          7 mai 2006 à 1:25:24

          ok j'ai édité pour le code, j'lai cherché pourtant ! ^^
          pour les variables j'ferais plus attention la prochaine fois galère de tout reéditer =)

          Sinon le nombre est aléatoire avec le do après mais si c'est conseillé de faire comme tu dis je le ferai :)

          merci :)

          PS : pour le system("CLS") il n'est pas dans le TP, je l'ai juste ajouter pour éffacer l'écran [CLS = Clearscreen]
          en plus j'viens de changer mon code, la classe maintenant !
          • Partager sur Facebook
          • Partager sur Twitter
            7 mai 2006 à 2:41:14

            Citation : Golderack


            Alor je suis pas partie tre loin mais je vais essayer de te repondre quand meme, deja je pense qu'il faut que ta boucle (do) commence avant le

            srand(time(NULL));
            na = (rand() % (m1 - m100 + 1)) + m1;

            sinon le nombre aleatoire restera le meme.


            Imprécis.
            Il faut que srand()soit appelé une fois au début du code et que rand() soit au début de la boucle.


               srand(time(NULL));
               do
               {
                  na = (rand() % (m1 - m100 + 1)) + m1;
            • Partager sur Facebook
            • Partager sur Twitter
            Music only !
              7 mai 2006 à 5:35:05

              après teste's' ça bug..

              donc je vais proposé 50 il va me dire que c'est superieur je vais pour proposer 51 et c'est inferieur :lol:

              faut modérer le pastis la oh ! ok ok J'sors !


              • Partager sur Facebook
              • Partager sur Twitter
                7 mai 2006 à 7:49:18

                En plus avant le while il faut que tu mette une accolade:
                printf("\nVoulez vous recommencer ? 1/0\n\n");
                scanf("%ld",&yn);

                } while ( yn != '0' );

                system("PAUSE");
                • Partager sur Facebook
                • Partager sur Twitter
                  7 mai 2006 à 9:12:53

                  Il me sort une erreure quand je fou une accolade avant le while mais c'est surment moi qui ai oublié un détail..

                  sinon, sans vouloir m'écarter du sujet et conserver ma premier question (jvais vous la variabler si vous oubliés ^^) le mode 2 joueurs c'est compliqué ou c'est tout con ? parce que j'avais cru réussir et en fait je crois que par pur hasard je suis tombé sur le bon nombre d'un coup =D

                  merci bien, =)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 mai 2006 à 10:03:47

                    Pour l'accolade j'en suis sur:

                    Citation : M@teo21

                    long compteur = 0;

                    do
                    {
                        printf("Salut les Zeros !\n", compteur);
                        compteur++;
                    } while (compteur < 10);


                    Pour le mode 2 joueurs c'est assez facile.
                    Tu fait un menu qui te demande de choisir le mode puis tu fais un switch.
                    Si t'es en mode 1 joueur tu tire un nombre au hasard et si t'es en mode 2 joueurs tu affiche un menu qui demande au deuxième joueur de rentrer la valeur à rechercher.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      7 mai 2006 à 11:44:46

                      ah lol... j'avais fait ça justement donc en fait j'ai recommencé tout le code je refait un post ou j'édit le premier ?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        7 mai 2006 à 13:55:50

                        Citation : Stealkillandhide

                        ah lol... j'avais fait ça justement donc en fait j'ai recommencé tout le code je refait un post ou j'édit le premier ?


                        Refait un post, c'est plus clair. Tu peux élaguer le premier...
                        • Partager sur Facebook
                        • Partager sur Twitter
                        Music only !

                        TP1 amélioration (recommencer ?)

                        × 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