Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tutoriaux C,C++ problème Fonction

TP plus ou moins

Sujet résolu
    11 juillet 2007 à 23:37:25

    Bonjour à tous,

    Je suis acutellement en train d'apprendre le C,C++ via le tutorial du site et j'ai un petit problème sur les fontions. Sur le TP1, "plus ou moins", aucun problème mais quand je veux mettre en place des fontions rien ne fontionne.

    Voici mon code :


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


    long genereNombre(long MIN, MAX)
    {
            srand(time(NULL));
        return (rand() % (MAX - MIN + 1)) + MIN;
    }

    void compareNombres(long nombreEntre, nombreMystere)
           
    {
            if nombreEntre < nombreMystere
            {
                    printf("Plus grand !");
            }
            else if nombreEntre > nombreMystere
            {
                    printf("Plus petit !");
            }
            else
            {
                    printf("Bien joué !");
            }
    }

    int main ( int argc, char** argv )
    {
        long nombreMystere = 0, nombreEntre = 0;
        const long MAX = 100, MIN = 1;

        // Génération du nombre aléatoire
        nombreMystere = genereNombre(MIN, MAX);

        /* La boucle du programme. Elle se répète tant que l'utilisateur
        n'a pas trouvé le nombre mystère */


        do
        {
            // On demande le nombre
            printf("Quel est le nombre ? ");
            scanf("%ld", &nombreEntre);

            // On compare le nombre entré avec le nombre mystère
            compareNombres(nombreEntre, nombreMystere);

        } while (nombreEntre != nombreMystere);


        system("PAUSE");
    }

     


    Pourriez vous m'orienter sur mon erreur sans me donner spécialement la réponse.

    Au départ je n'étais pas partis sur un void mais ma fontion ne doit renvoyer aucune valeur.

    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      11 juillet 2007 à 23:53:19

      Salut à toi tof59 ;) ,

      Premièrement, tu postes sur le forum C++, alors que ton code est en C ;) (cf. les scanf et printf), donc tu n'es pas au bon endroit :-° .
      M'enfin c'est pas grave :p ...

      Le souçi que tu as, est je penses au niveau de la syntaxe ;) :

      Penses à revoir les parenthèses dans ton code, tu devrais vite trouver quelque chose qui cloche :) .
      Ensuite second souçi (je sais pas chez toi, mais moi ça me plante la compilation), tu devrais revoir tes paramètre de fonction.

      Je "t'aiguilles" seulement, comme tu me l'as demandé ^^ , mais si tu as besoin de plus de précisions, n'hésite pas ;) !!

      Bonne chance en tout cas :D !!

      PS: Penses aussi à utiliser la balise code, ça rend le code beaucoups plus lisible ;)
      • Partager sur Facebook
      • Partager sur Twitter
        12 juillet 2007 à 0:07:15

        Merci pour ton aide Althar93 :)

        Je viens d'ajouter les () entre les paramètres de ma condition, ensuite je n'arrive pas a comprendre tous de même. Désolé ca fais que 2 jours que je me suis mis au dévelopement. J'ai juste des notions d'algo.

        Ma fontion genereNombre doit bien renvoyer une valeur non :-°

        Je veux bien de ton aide pour finir lol

        PS: J'ai modifié mon post :D
        • Partager sur Facebook
        • Partager sur Twitter
          12 juillet 2007 à 0:15:10

          Voila :p , c'est déjà plus lisible comme ça ^^ .

          Bon alors, pour le coup des parenthèses, c'est au niveau des conditions if, else, etc ;) . Ensuite, le second souçi se ramène au paramètres de fonctions comme j'ai dis.
          En temps normal, tu peux déclarer plusieurs variables du même type de la sorte:

          long MIN,MAX ;


          Cependant, pour des paramètres de fonctions, tu dois préciser à chaque fois. Ca te donne donc:

          long genereNombre(long MIN,long MAX)


          Ensuite, je n'ai pas vu d'autres souçis ;) . Je ne sais pas quel IDE, ou outil tu utlise? Mais le plus pratique est de lire log de compilation, qui te donne souvent la raison de l'erreur (je dis bien souvent, car en général, lorsque tu as plusieurs erreurs d'indiquées, il suffit d'en résoudre une pour que ça résolve tout).

          Voila, donc avec ça tu devrais y arriver (chez moi le code fonctionne une fois les modifs apportée). Encore une fois, si tu as besoin d'une explication, n'hésite pas; j'en suis encore au stade de l'apprentissage, mais j'essayerai de te renseigner du mieu que je peux ^^ .
          • Partager sur Facebook
          • Partager sur Twitter
            12 juillet 2007 à 0:21:34

            Parfait ;)

            Effectivement cela fonctionne j'ai pourtant relu 4 fois le chapitre sur les fonctions et j'ai zappé qu'il fallais indiquer le type de chaque paramètres. Merci bien je pense que ce n'est pas mon dernier sujet, mais celui ci est résolue

            Merci encore Althar93


            • Partager sur Facebook
            • Partager sur Twitter
              12 juillet 2007 à 0:28:22

              Heureux d'apprendre que ça fonctionne ;) .
              Et puis si c'est résolu :p , penses à cliquer sur l'icone "résolu" en bas de page :) .
              • Partager sur Facebook
              • Partager sur Twitter

              Tutoriaux C,C++ problème Fonction

              × 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