Partage
  • Partager sur Facebook
  • Partager sur Twitter

erreur de prototype

aider moi c'est urgent.

    31 décembre 2005 à 13:44:24

    j'ai surement mal fait mon code mais je ne comprend pas les erreur qui peut m'aider svp voici mon code:

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

    int main(int argc, char *argv[])
    { 
    long operation = 0;

    printf ("========Menu========\n\n");
    printf ("1 : Addition\n");   
    printf ("2 : Soustraction\n");
    printf ("3 : Multiplication\n");
    printf ("4 : Division\n");
    printf ("5 : Menu Comvertion\n\n");   
    printf ("qu'elle est votre choix ?\n");
    scanf ("%ld", &operation);

    system("PAUSE");   
    return 0;
    }

    void operationAddition(double nombre1, double nombre2, double resultat)
    }
    double nombre1 = 0, nombre2 = 0, resultat = 0;
    while (operation == 1)
    {
    printf (" Vous avez choisis Addition\n\n");
    printf (" Entrer le nombre 1 :\n");
    scanf  ("%lf", &nombre1);
    printf ("Entrer le nombre 2 :\n");
    scanf  ("%lf", &nombre2);

    printf ("Le resultat est %lf", resultatAddition(nombre1, nombre2);
       }
       system ("PAUSE");
    }



    et voici mon code .H :
    double resultatAddition(double nombre1, double nombre2)
    {
        double resultat = 0;

        resultat = nombre1 + nombre2;  // On additione le nombre qu'on nous a transmis
        return resultat;       // On retourne la variable resultat
    }

    void operationAddition(double nombre1, double nombre2, double resultat)


    pouver vous m'aidez svp.
    • Partager sur Facebook
    • Partager sur Twitter
      31 décembre 2005 à 13:50:04

      Les fonctions ne doivent pas être dans un fichier h, seulement les prototypes.

      Tu mets tes fonctiond dans un autre fichier c comme ceci :

      double resultatAddition(double nombre1, double nombre2)
      {
          double resultat = 0;

          resultat = nombre1 + nombre2;  // On additione le nombre qu'on nous a transmis
          return resultat;       // On retourne la variable resultat
      }

      void operationAddition(double nombre1, double nombre2, double resultat)
      }
      double nombre1 = 0, nombre2 = 0, resultat = 0;
      while (operation == 1)
      {
      printf (" Vous avez choisis Addition\n\n");
      printf (" Entrer le nombre 1 :\n");
      scanf  ("%lf", &nombre1);
      printf ("Entrer le nombre 2 :\n");
      scanf  ("%lf", &nombre2);

      printf ("Le resultat est %lf", resultatAddition(nombre1, nombre2);
         }
         system ("PAUSE");
      }


      Et dans le fichier h tu met seulement les prototypes :

      void operationAddition(double, double, double);
      double resultatAddition(double, double);


      Tu n'es pas obligé de mettre le nom des variables mais par contre pense à ne pas oublier le point virgule à la fin.

      De plus pense à ajouter un switch pour recuperer le choix de l'opération et a appeler la fonction operationAddition si l'addition est choisi

      ++


      • Partager sur Facebook
      • Partager sur Twitter
        31 décembre 2005 à 14:03:51

        Merci pour t'est conseille mais se codde est toujours faut. je vient d'essayer de le compiler impossible il ne veut rien savoir.
        • Partager sur Facebook
        • Partager sur Twitter
          31 décembre 2005 à 14:09:02

          Salut,
          Je crois que ton problème se situe la : l'accolade après la fonction operationAddition() est fermante et non ouvrante ; met la ouvrante et sa devrait marcher :)
          • Partager sur Facebook
          • Partager sur Twitter
            31 décembre 2005 à 14:09:56

            Refait nous voir ton nouveau code
            • Partager sur Facebook
            • Partager sur Twitter
              31 décembre 2005 à 14:18:12

              voici mon nouveau code mais il ne fonctionnes toujours pas:

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


              double resultatAddition(double nombre1, double nombre2)
              {
                  double resultat = 0;

                  resultat = nombre1 + nombre2;  // On additione le nombre qu'on nous a transmis
                  return resultat;       // On retourne la variable resultat
              }


              int main(int argc, char *argv[])
              { 
              long operation = 0;

              printf ("========Menu========\n\n");
              printf ("1 : Addition\n");   
              printf ("2 : Soustraction\n");
              printf ("3 : Multiplication\n");
              printf ("4 : Division\n");
              printf ("5 : Menu Comvertion\n\n");   
              printf ("qu'elle est votre choix ?\n");
              scanf ("%ld", &operation);

              system("PAUSE");   
              return 0;
              }

              void operationAddition(double nombre1, double nombre2, double resultat)
              {
              double nombre1 = 0, nombre2 = 0, resultat = 0;
              while (operation == 1)
              {
              printf (" Vous avez choisis Addition\n\n");
              printf (" Entrer le nombre 1 :\n");
              scanf  ("%lf", &nombre1);
              printf ("Entrer le nombre 2 :\n");
              scanf  ("%lf", &nombre2);

              printf ("Le resultat est %lf", resultatAddition(nombre1, nombre2);
                 }
                 system ("PAUSE");
              }





              et voila le .H mais lui je crois qu'il est bon:

              void operationAddition(double, double, double);

              double resultatAddition(double, double);


              merci de m'aider ;)
              • Partager sur Facebook
              • Partager sur Twitter
                31 décembre 2005 à 14:43:48

                C'est où que ça foire?
                A la compilation, ou le programme ne marche pas comme tu veux??
                • Partager sur Facebook
                • Partager sur Twitter
                  31 décembre 2005 à 14:46:03

                  sa ne marche pas a la compilation t j'ai essayer d'une aautre manière toute a l'heure et la compilation a marcher sauf que quand j'appuyait sur 1 pour aller dans l'addition il me fermait le programmes.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    31 décembre 2005 à 14:54:28

                    bah montre nous les messages d'erreurs du compilo -.-

                    de toute façon ton code ne risque pas de faire qqch, tu créer des fonctions d'on tu ne te sers pas.

                    void operationAddition(double nombre1, double nombre2, double resultat)
                    {
                    double nombre1 = 0, nombre2 = 0, resultat = 0;
                    while (operation == 1)


                    ça c'est nawak, normal que ça passe pas au compilo.
                    tu redéclare des variables que tu as déjà déclaré comme arguments, et en plus tu les initialise. soit tu ne les initialise pas et tu les gardes en tant qu'arguments, soit tu les déclare et initialise dans ta fonction mais tu ne prend aucun argument.

                    en puis, operation est une variable locale à la fonction main, tu ne peux pas l'atteindre depuis cette fonction, donc met la en argument.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      31 décembre 2005 à 14:59:37

                      essaye de changer
                      #include "Menu.h"
                      par
                      #include "menu.h"

                      C'est peut être ça.
                      Sinon petite question, pourquoi tu as appeler ton header menu.h alors que ça n'a rien avoir avec le menu???
                      • Partager sur Facebook
                      • Partager sur Twitter

                      erreur de prototype

                      × 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