Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C] TP1, programmation structuré

Ce con me saute un bloc !

Sujet résolu
    22 décembre 2005 à 15:29:13

    Plop,

    Donc voilà dans le code qui suit le bloc game() est sauté. Je comprend pas. ça passe direct au bloc encore().

    j'ai essayé de changer toute sorte de chose mais je vois pas mon erreur. Voici le code:

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

         
         int              le_nombre_aleatoire;
         int              the_number;
         int              COMPTEUR;
         int              nombre_desssais_restant;
         int              variable;
         int              choix;

    void intro() {
         
             while (COMPTEUR < 5) {
        printf("\n\n\n\n\n\n\n\n\n\n\n\t\t-* \"Jeux\" du + ou -, \aVous avez 7 essais. *-\n\n\n\n");
    system("color 01");
    system("color 20");
    system("color 03");
    system("color 40");
    system("color 05");
    system("color 60");
    system("color 07");
    system("color 80");
    system("color 09");
    system("color 10");
    system("color 02");
    system("color 30");
    system("color 04");
    system("color 50");
    system("color 06");
    system("color 70");
    system("color 08");
    system("color 90");
    system("cls");

    COMPTEUR++;
      }   
     
      sleep(1000);
      printf("...- Please Wait -...\n \n ");
      sleep(2000);
     
                printf("1%%");
              sleep(100);
              printf("\r\r2%%");
              sleep(100);
              printf("\r\r3%%");
              sleep(100);
              printf("\r\r4%%");
              sleep(100);
              printf("\r\r5%%");
              sleep(100);
              printf("\r\r6%%");
              sleep(100);
              printf("\r\r7%%");
              sleep(100);
              printf("\r\r8%%");
              sleep(100);
              printf("\r\r9%%");
              sleep(100);
              printf("\r\r10%%");
              sleep(100);
              printf("\r\r\r11%%");
              sleep(100);
              printf("\r\r\r12%%");
              sleep(100);
              printf("\r\r\r13%%");
              sleep(100);
              printf("\r\r\r14%%");
              sleep(100);
              printf("\r\r\r15%%");
              sleep(100);
              printf("\r\r\r16%%");
              sleep(100);
              printf("\r\r\r17%%");
              sleep(100);
              printf("\r\r\r18%%");
              sleep(100);
              printf("\r\r\r19%%");
              sleep(100);
              printf("\r\r\r20%%");
              sleep(100);
              printf("\r\r\r21%%");
              sleep(100);
              printf("\r\r\r22%%");
              sleep(100);
              printf("\r\r\r23%%");
              sleep(100);
              printf("\r\r\r24%%");
              sleep(100);
              printf("\r\r\r25%%");
              sleep(100);
              printf("\r\r\r26%%");
              sleep(100);
              printf("\r\r\r27%%");
              sleep(100);
              printf("\r\r\r28%%");
              sleep(100);
              printf("\r\r\r29%%");
              sleep(100);
              printf("\r\r\r30%%");
              sleep(100);
              printf("\r\r\r31%%");
              sleep(100);
              printf("\r\r\r32%%");
              sleep(100);
              printf("\r\r\r33%%");
              sleep(100);
              printf("\r\r\r34%%");
              sleep(100);
              printf("\r\r\r35%%");
              sleep(100);
              printf("\r\r\r36%%");
              sleep(100);
              printf("\r\r\r37%%");
              sleep(100);
              printf("\r\r\r38%%");
              sleep(100);
              printf("\r\r\r39%%");
              sleep(100);
              printf("\r\r\r40%%");
              sleep(100);
              printf("\r\r\r41%%");
              sleep(100);
              printf("\r\r\r42%%");
              sleep(100);
              printf("\r\r\r43%%");
              sleep(100);
              printf("\r\r\r44%%");
              sleep(100);
              printf("\r\r\r45%%");
              sleep(100);
              printf("\r\r\r46%%");
              sleep(100);
              printf("\r\r\r47%%");
              sleep(100);
              printf("\r\r\r48%%");
              sleep(100);
              printf("\r\r\r49%%");
              sleep(100);
              printf("\r\r\r50%%");
              sleep(100);
              printf("\r\r\r51%%");
              sleep(100);
              printf("\r\r\r52%%");
              sleep(100);
              printf("\r\r\r53%%");
              sleep(100);
              printf("\r\r\r54%%");
              sleep(100);
              printf("\r\r\r55%%");
              sleep(100);
              printf("\r\r\r56%%");
              sleep(100);
              printf("\r\r\r57%%");
              sleep(100);
              printf("\r\r\r58%%");
              sleep(100);
              printf("\r\r\r59%%");
              sleep(100);
              printf("\r\r\r60%%");
              sleep(100);
              printf("\r\r\r61%%");
              sleep(100);
              printf("\r\r\r62%%");
              sleep(100);
              printf("\r\r\r63%%");
              sleep(100);
              printf("\r\r\r64%%");
              sleep(100);
              printf("\r\r\r65%%");
              sleep(100);
              printf("\r\r\r66%%");
              sleep(100);
              printf("\r\r\r67%%");
              sleep(100);
              printf("\r\r\r68%%");
              sleep(100);
              printf("\r\r\r69%%");
              sleep(100);
              printf("\r\r\r70%%");
              sleep(100);
              printf("\r\r\r71%%");
              sleep(100);
              printf("\r\r\r72%%");
              sleep(100);
              printf("\r\r\r73%%");
              sleep(100);
              printf("\r\r\r74%%");
              sleep(100);
              printf("\r\r\r75%%");
              sleep(100);
              printf("\r\r\r76%%");
              sleep(100);
              printf("\r\r\r77%%");
              sleep(100);
              printf("\r\r\r78%%");
              sleep(100);
              printf("\r\r\r79%%");
              sleep(100);
              printf("\r\r\r80%%");
              sleep(100);
              printf("\r\r\r81%%");
              sleep(100);
              printf("\r\r\r82%%");
              sleep(100);
              printf("\r\r\r83%%");
              sleep(100);
              printf("\r\r\r84%%");
              sleep(100);
              printf("\r\r\r85%%");
              sleep(100);
              printf("\r\r\r86%%");
              sleep(100);
              printf("\r\r\r87%%");
              sleep(100);
              printf("\r\r\r88%%");
              sleep(100);
              printf("\r\r\r89%%");
              sleep(100);
              printf("\r\r\r90%%");
              sleep(100);
              printf("\r\r\r91%%");
              sleep(100);
              printf("\r\r\r92%%");
              sleep(100);
              printf("\r\r\r93%%");
              sleep(100);
              printf("\r\r\r94%%");
              sleep(100);
              printf("\r\r\r95%%");
              sleep(100);
              printf("\r\r\r96%%");
              sleep(100);
              printf("\r\r\r97%%");
              sleep(100);
              printf("\r\r\r98%%");
              sleep(100);
              printf("\r\r\r99%%");
              sleep(100);
              printf("\r\r\r100%%");
              sleep(100);
             
              sleep(1000);
               system("cls");
                   
    }



    void game() {
         
         nombre_desssais_restant = 7;
         
         while (variable = 0) {           
         
          if (nombre_desssais_restant == 0) {
                         printf("Trop tard!!! 0 essais restant!! Looser!!");
                          sleep(1000);
          }
               
         printf("Il te reste %d essais. Quel est le nombre? ", nombre_desssais_restant);
          scanf("%d", &the_number);
         nombre_desssais_restant--;
         printf("\n\nHum.. Laisse moi réfléchir...\n\t");
         sleep(700);

                                     
         
          if (the_number < le_nombre_aleatoire) {
                         printf("C'est moins !");
                          sleep(1000);
          }
         
       
          if (the_number > le_nombre_aleatoire) {
                         printf("C'est plus !");
                          sleep(1000);
          }
         
          if (the_number == le_nombre_aleatoire) {
                         printf("Winner!!!!!!!\a");
                          sleep(1000);
                         variable++;
          }
         
         
     }
    }
       
         
         
         
         
    void encore() {
         
         sleep(1000);
         system("cls");
         printf("Voulez-vous relancer la partie ?\n Répondez par 1 pour \"oui\" ou par 2 pour \"non\": ");
          scanf("%d", &choix);
    }
         







    main() {
         
            srand((int)time(NULL));
            le_nombre_aleatoire = 1 + rand() % (100);

           
            intro();
            etiq:
            game();
            encore();
           
                  if (choix == 1) {
                    goto etiq;
                    }
                   
                  if (choix == 2) {
                    exit(1);
                    }
                 
                  else { printf("Jtapprendrai à tapper sur un clavier, charlot !"); }

    }



    Je n'ai aucune erreur à la compilation, aucun warning ou autre.
    le code n'est pas très nette, le mieux est que vous compilez pour voir un peu comment ça se passe.
    Merci d'avance.

    PS: j'ai aussi un prob dans mes 3 dernières comparaisons avec etiq et le goto. D'où peut-il venir ?
    • Partager sur Facebook
    • Partager sur Twitter
      22 décembre 2005 à 15:44:50

      Salut, j'ai pas lu tout ton code, mais j'interviens pour dire que l'utilisation de "goto" fait très tache... A proscrire absolument si tu comptes continuer à faire du c/c++ !!!

      A bon entendeur
      • Partager sur Facebook
      • Partager sur Twitter
        22 décembre 2005 à 15:49:03

        tache ? comment ça? explique toi j'aimerai bien en savoir un peu plus.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          22 décembre 2005 à 16:12:38

          Hum un code difficile à comprendre. goto faut mieux éviter quand on peut s'en passer aprce qu'il faut tout le temps chercher où est l'étiquette c'est pas pratique on y voit rien.

          Ensuite, ton code est beaucoup trop long, tu aurais pu remplacer ce qu'il y a dans ton intro par un while ou for (plus adapté ici il me semble) on y verra mieux.

          Tout le gam est sauté cat à al fois dans ;e while tu as mis un seul == alors qu'il faut == et ensuite variable n'est pas initialisée, elle n'a pas de valeur au début. Donc la boucle saute et rien n'ext exécuté.

          Un conseil : je crois que tu peux tout recoder :-°
          • Partager sur Facebook
          • Partager sur Twitter
            22 décembre 2005 à 16:26:40

            Voilà c'est ce que j'ai fait ça marche mieux maintenant, merci.
            • Partager sur Facebook
            • Partager sur Twitter

            [C] TP1, programmation structuré

            × 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