Partage
  • Partager sur Facebook
  • Partager sur Twitter

Gros probleme enervant !!!

Au niveau des appelation de fonction...

    19 août 2006 à 14:11:47

    Bon, mon probleme serait long a expliquer mais vous aller tout de suite le comprendre dans ce code:

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


    /// Votre argent de poche:

    long depenser (long argent)
    {
         long depense = 100;
         return argent - depense;
    }

    /// Choix de destination pour maison:

    long maisona()
    {
         long choimaison;
         long print2;
         
         printf("Vous posseder 100 or\n");
         printf("Vous etes chez vous, ou voulez vous allez ?\n\n") ;
         printf("Taper 1 = chateau, 2 = marcher, 3 = foret: ");
         scanf("%ld", &choimaison);
         switch (choimaison)
         {
                case 1:
                     printf("Vous etes au chateau.");
                     print2 = chateaua();
                     break;
                case 2:
                     printf("Vous etes au marcher.");
                     print2 = marchea();
                     break;
                case 3:
                     printf("Vous parter a l'aventure !");
                     break;
                default:
                        printf("Ce n'est pas dans vos possibiliter");
                        break;
         }

    }

    ///Au marcher:
          long marchea ()
          {
               long poche = 100;
               printf("Bienvenue au marcher ! Vous disposer de %ld or", poche);
               
          }

    ///Au chateau:
         
         
    long chateaua()
    {
     
         if(star < 100)
         {
         printf("\nQue vouler vous faire ici alors que vous etes un pauvre mendiant !");
         printf("\nLes gardes commence a se moquer de vous, il se rapproche et...");
         printf("\nBROAIOEPUUUUUUUUUUUUUUMMMMM, il vous cale un coup de hache dans la guele");
         printf("\nVous avez perdu");
         }
         else if(chevalier !=1)
         {
             printf("\nVous etes assez connu pour devenir chevalier:\n");
             printf("\nEn etant chevalier, vous choississer un nombre entre 1 et 2 !\n");
             printf("\nSi vous tomber sur le bon nombre, vous gagner 500 or !");
             printf("\nSinon, vous mourrez...");
             printf("\nTaper 1 pour accepter ou 0 pour refuser: ");
             scanf("%ld", &chevalier);
             switch (chevalier)
             {
                    case 1:
                         printf("\n\nVous etes elu chevalier !!!!");
                         appelle = maisona();
                         break;
                    case 0:
                         printf("\n\nLe roie est vexer vous passer a la guillotine !!!");
                         printf("\nVous avez perdu");
                         break;
                    default:
                            printf("hum, vous vous foutez de moi, vous avez perdu ????");
                            break;
             }
         }
    }

    ///Aventure et instruction:

    int main(int argc, char *argv[])
    {
       
        long star = 150;
         long chevalier = 0;
         long appelle;
        long print;
       
        print = maisona();
       
        printf("\n\n\n\n");
        system("PAUSE");
        return 0;
    }


    Alors, le but de ce code est de faire un jeux ou tu te deplace sans voir d'image, en faite il faut vivre le plus lomgtenps car on peut mourir souvent !!!

    Probleme: Ben j'arrive pas a appeller 2 fonction entre elle...

    au faite, si vous piger rien au code, c'est normal, il est fini qu'a moitier.
    • Partager sur Facebook
    • Partager sur Twitter
      19 août 2006 à 16:52:06

      Salut !

      Déjà, je te félicite, faire un jeu en console, c'est pas évident et c'est un bon entrainement si on s'y prend bien.

      Il y a beaucoup d'erreurs, voici le code corrigé (il fonctionne à peu près) pour que tu vois tes erreurs.

      Un conseil : revoie le chapitre sur les fonctions et la portée des variables.

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

      long depenser (long argent);
      long marchea();
      long chateaua(long star, long chevalier, long appelle, long print);
      long maisona(long star, long chevalier, long appelle, long print);

      ///Aventure et instruction:
      int main(void)
      {

          long star = 150;
          long chevalier = 0;
          long appelle;
          long print;

          print = maisona(star, chevalier, appelle, print);

          printf("\n\n\n\n");
          system("PAUSE");
          return 0;
      }

      /* Pourquoi cette fonction est correcte alors que les autres non ? */
      /// Votre argent de poche:
      long depenser (long argent)
      {
          long depense = 100;
          return argent - depense;
      }

      ///Au marcher:
      long marchea()
      {
          long poche = 100;
          printf("Bienvenue au marcher ! Vous disposer de %ld or", poche);

          /* Il faut retourner quelque chose. */
      }

      /* Idem que la precedente, il faut revoir le chapitre sur les fonctions. */
      ///Au chateau:
      long chateaua(long star, long chevalier, long appelle, long print)
      {
          /* Il faut passer ta variable star a la fonction, elle ne connait pas
             sa valeur. */

          if(star < 100)
          {
              printf("\nQue vouler vous faire ici alors que vous etes un pauvre mendiant !");
              printf("\nLes gardes commence a se moquer de vous, il se rapproche et...");
              printf("\nBROAIOEPUUUUUUUUUUUUUUMMMMM, il vous cale un coup de hache dans la guele");
              printf("\nVous avez perdu");
          }

          /* Meme erreur, il faut bien assimiler la portee des variables. */
          else if(chevalier != 1)
          {
              printf("\nVous etes assez connu pour devenir chevalier:\n");
              printf("\nEn etant chevalier, vous choississer un nombre entre 1 et 2 !\n");
              printf("\nSi vous tomber sur le bon nombre, vous gagner 500 or !");
              printf("\nSinon, vous mourrez...");
              printf("\nTaper 1 pour accepter ou 0 pour refuser: ");
              scanf("%ld", &chevalier);
              switch (chevalier)
              {
                  case 1:
                  printf("\n\nVous etes elu chevalier !!!!");
                  appelle = maisona(star, chevalier, appelle, print);
                  break;

                  case 0:
                  printf("\n\nLe roie est vexer vous passer a la guillotine !!!");
                  printf("\nVous avez perdu");
                  break;

                  default:
                  printf("hum, vous vous foutez de moi, vous avez perdu ????");
                  break;
              }
          }
      }

      /* Ta fonction est de type long mais elle ne retourne rien. */
      /// Choix de destination pour maison:
      long maisona(long star, long chevalier, long appelle, long print)
      {
          long choimaison;
          long print2;

          printf("Vous posseder 100 or\n");
          printf("Vous etes chez vous, ou voulez vous allez ?\n\n") ;
          printf("Taper 1 = chateau, 2 = marcher, 3 = foret: ");
          scanf("%ld", &choimaison);
          switch (choimaison)
          {
              case 1:
              printf("Vous etes au chateau.");
              print2 = chateaua(star, chevalier, appelle, print);
              break;
              case 2:
              printf("Vous etes au marcher.");
              print2 = marchea();
              break;
              case 3:
              printf("Vous parter a l'aventure !");
              break;
              default:
              printf("Ce n'est pas dans vos possibiliter");
              break;
          }

      }


      Kr00pS
      • Partager sur Facebook
      • Partager sur Twitter

      Gros probleme enervant !!!

      × 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