Partage
  • Partager sur Facebook
  • Partager sur Twitter

Prob avec mon projet

qui ressemble a plus/moin

Sujet résolu
    31 décembre 2005 à 17:37:11

    Bonjour a tous les zéro (ah bon je suis le seul :euh: ).

    J'ai appris tous les chapitres(avec machin.h et machin.c= et donc pour m'entrainer j'ai voulu convertir mon jeu et le mettre sous plusieurs fichiers. La compilation marche très bien mais mon ordinateur ne doit pas bien supporter. Je l'ai mis en trois fichier.

    Mon code de main.c :
    #include <stdio.h>
    #include <stdlib.h>
    #include "fonction.h"

    int main(int argc, char *argv[])
    {
    //Ci-dessous il y a les variables
        long nombreMystere = 0, nombreEntre = 0, ligne=0, choix=10, MAX = 0, MIN = 1, coups=1, joueur=3;
        //Ci-dessus il y a les variable
       
       
                       
        //On demande combien de joueur veulent jouer
        printf("Faites %ld pendant le jeu pour quitter!!\n1. Un Joueur\n2. Deux Joueurs\n", 0);
        scanf("%ld", &joueur);
       
        //Maintenant on fait les conditions
        switch(joueur)
        {
                      case 0:
                           system("PAUSE");
                           return 0;
                           break;
                           
                      case 1:
                           system("CLS");
                           /*Tous ce qui suit jusqu'a "break"
                           sert si un seul joueur veut jouer*/

                       

         
        //On demande la difficulté
        printf("Choisissez votre difficulter :\n1. Le nombre mystere sera entre 1 et 50\n2. Le nombre mystere sera entre 1 et 100\n3. Le nombre mystere sera entre 1 et 1000\n4. Le nombre mystere sera entre 1 et 10000\n");
        scanf("%ld", &choix);
                       
        valeurMax(choix);

         
         //Maintenant on génère un nombre aléatoire.
        nombreMystere = aleatoire(MIN, MAX);
       
        //On fait la boucle avec while()
        demandeNombre(nombreEntre, nombreMystere);
        return 0;
        break;
       
        /*Voici la fin de la première partit
          Celle pour un mode "un joueur"  */

         
          case 2:
               //On demande le nombre mystere au joueur deux
               printf("Le joueur Deux doit choisir un nombre et le joueur Un doit le trouver\nJoueur Deux veuillez choisir un nombre\n");
               scanf("%ld", &nombreMystere);
               
               //On efface le tous pour que le joueur un ne voit pas le nombre mystere
               system("CLS");
       
        //On fait la boucle avec while() grace a la fonction demandeNombre
        demandeNombre(nombreEntre, nombreMystere);
           
    return 0;

    }         
     
        //Voilà c'est terminé
    }


    le code de fonction.c :
    #include <stdio.h>
    #include <stdlib.h>

    //Ci-dessous on génère la fonction aleatoire
    long aleatoire(long MIN, long MAX)
    {
         
         long nombreMystere;
         
         //Ci-dessous on génère un nombre aléatoire
         srand(time(NULL));
             nombreMystere = (rand() % (MAX - MIN + 1)) + MIN;
             
             //Ci-dessous on retourne la valeur de nombreMystere
             return nombreMystere;
             
    }

    //Ci-dessous on génère la fonction valeurMAX
    long valeurMax(long choix)
    {
         
         long MAX;
         
         //Là on fait la condition
         switch(choix)
         {
          case 1:
                MAX=50;
                printf("Toi, t'es pas courageux!!");
                break;
               
          case 2:
                MAX=100;
                printf("Mouais, tu te défoule pas trop toi!!");
                break;
               
          case 3:
                MAX=1000;
                printf("La ca devient un petit peu corser!!");
                break;
               
          case 4:
                MAX=10000;
                printf("Quelle Patiance!!");
                break;
          case 0:
                printf("tu veux pas jouer\n");
                system("PAUSE");
                return 0;
                break;
     }
     printf("\n");
     getchar();
     system("CLS");
     return MAX;
    }


    void demandeNombre(long nombreEntre, long nombreMystere)
    {
         
         long coups=1;
         
         while(nombreMystere!=nombreEntre)
         {
                            //On demande la valeur de nombreMystere
                            printf("Quel est le nombre mystere??");
                            scanf("%ld", nombreEntre);
                            coups++;
                                                   
                           
                            if(nombreMystere>nombreEntre)
                            {
                                          printf("C'est plus grand!!!");
                            }
                           
                            else if(nombreMystere<nombreEntre)
                            {
                                          printf("C'est plus grand!!!");
                            }
                           
                            else
                            {
                                          printf("Bravo!! Tu as gagne en %ld coups", coups);
                            }
         
         }
         
    }


    et voilà le code de fonction.h
    long aleatoire(long MIN, long MAX);

    void demandeNombre(long nombreEntre, long nombreMystere);

    long valeurMax(long choix);


    Merci d'avance, j'espère que vous allez trouver mon erreur (dev++ ne la trouve pas)
    • Partager sur Facebook
    • Partager sur Twitter
      31 décembre 2005 à 17:41:43

      Salut,
      Marrant, dès que j'ai vu ton problème, tout de suite sus que c'était a cause d'un scanf() ^^ ; dans la fonction demandeNombre, il manque l'operateur & dans le scanf() (devant la variable nombreEntre) :)
      • Partager sur Facebook
      • Partager sur Twitter
        31 décembre 2005 à 17:44:40

        Merci mais ça ne marxhe toujours pas.
        :colere: J'en est mare ça fait 2 jours que j'y travail
        • Partager sur Facebook
        • Partager sur Twitter
          31 décembre 2005 à 17:54:11

          Précise l'erreur que tu as, ce qui se passe, a quel moment, et je pourrais peut-être mieux t'aider

          PS : dans valeurMAX, tu ne fais que crée une variable (MAX) sans aucun retour, ce qui ne sert a rien
          PPS : les noms en majuscule de variable servent uniquement pour les constantes (c'est une convention), et donc met-les en minuscules.
          • Partager sur Facebook
          • Partager sur Twitter
            31 décembre 2005 à 17:58:52

            Merci
            J'ai changer dans mon premier message.

            L'erreur se trouve juste après avoir choisi la difficulter (la valeur de MAX).
            • Partager sur Facebook
            • Partager sur Twitter
              31 décembre 2005 à 18:22:21

              tu ne récupère pas la valeur de retour de "valeurMAX()"

              Citation : Pas de titre

              valeurMax(choix);


              remplace cette ligne par :
              MAX=valeurMax(choix);
              • Partager sur Facebook
              • Partager sur Twitter
                31 décembre 2005 à 20:56:07

                Merci il n'y a plus d'erreur mais ça dit tout le temps que le nombre mystere est plus grand et ça veut rien faire d'autre.

                Désoler de demander tout ça pour le nouvel an


                C'est bon j'ai trouvé, merci quand meme et... BONNE ANNEE et BONNE SANTEE(atchoum :p )
                • Partager sur Facebook
                • Partager sur Twitter

                Prob avec mon projet

                × 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