Partage
  • Partager sur Facebook
  • Partager sur Twitter

Plusieur fichier .C

marche pas

    12 février 2008 à 19:54:24

    Bonjours,


    Je suis débutant en C et j'ai un problème, je souhaite essayer d'utiliser plusieurs fichier .C et pour tester j'ai essayer de faire tourner une fonction dans un autre fichier .C que le main mais ça marche pas. Je l'ai bien ajouter au projet !


    Main.C
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. int main(int argc, char *argv[])
    4. {
    5.         convertion(10);
    6.         printf("10 euro = %lfF", convertion(10));
    7.   system("PAUSE");    
    8.   return 0;
    9. }


    Fonction.C
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. double convertion(double euro)
    4. {
    5.         double francs = 0;
    6.         francs = 6.55957 * euro;
    7.         return francs;
    8. }
    • Partager sur Facebook
    • Partager sur Twitter
      12 février 2008 à 20:02:06

      Salut,

      Tu dois faire une interface (.h) pour ton module fonction.c

      1. #ifndef FONCTION_H
      2. #define FONCTION_H
      3. double convertion(double euro);
      4. #endif


      ensuite tu rajoutes la directive suivante dans les 2 fichiers (main.c et fonction.c) :

      1. #include "fonction.h"
      • Partager sur Facebook
      • Partager sur Twitter
        12 février 2008 à 20:36:14

        Ça marche ! Mais quand j'essaye un nouveau truc ça ne marche plus :(



        main.C
        1. #include <stdio.h>
        2. #include <stdlib.h>
        3. #include "fonction.h"
        4. int main(int argc, char *argv[])
        5. {
        6.         long nombreDeLigne = 52;
        7.         punition(nombreDeLigne);
        8.   system("PAUSE");    
        9.   return 0;
        10. }




        fonction.C
        1. #include <stdio.h>
        2. #include <stdlib.h>
        3. #include "fonction.h"
        4. void punition(long nombreDeLignes)
        5. {
        6.     long i;
        7.     for (i = 0 ; i < nombreDeLignes ; i++)
        8.     {
        9.         printf("Je ne dois pas recopier mon voisin\n");
        10.     }  
        11. }






        fonction.H
        1. #ifndef FONCTION_H
        2. #define FONCTION_H
        3. void punition(long nombreDeLignes);
        4. #endif




        Help !!
        • Partager sur Facebook
        • Partager sur Twitter
          12 février 2008 à 21:34:11

          ne nomme pas tes fichiers avec un C majuscule, sinon c'est considéré comme fichier C++ ( sous GNU/Linux en tout cas )

          qu'est-ce qui ne marche pas ? erreur(s) de compilation ? résultat non attendue ?
          • Partager sur Facebook
          • Partager sur Twitter
            12 février 2008 à 21:36:16

            Ça fais une erreur de compilation :

            1. ------ Début de la génération : Projet : test3, Configuration : Debug Win32 ------
            2. Édition des liens en cours...
            3. main.obj : error LNK2019: symbole externe non résolu _punition référencé dans la fonction _main
            4. C:\Documents and Settings\Dupin\Mes documents\Visual Studio 2005\Projects\test3\Debug\test3.exe : fatal error LNK1120: 1 externes non résolus
            5. Le journal de génération a été enregistré à l'emplacement "file://c:\Documents and Settings\Dupin\Mes documents\Visual Studio 2005\Projects\test3\test3\Debug\BuildLog.htm"
            6. test3 - 2 erreur(s), 0 avertissement(s)
            7. ========== Génération : 0 a réussi, 1 a échoué, 0 mis à jour, 0 a été ignoré ==========



            Voila
            • Partager sur Facebook
            • Partager sur Twitter
              12 février 2008 à 21:50:29

              pourtant ton code est juste, es-tu sur d'avoir bien re-appuyer sur F5 ?
              • Partager sur Facebook
              • Partager sur Twitter
                12 février 2008 à 21:54:08

                comment ca ? je lance le test avec la petite fleche verte, mais quand je fais f5 ça fais la meme chose.


                Help !
                • Partager sur Facebook
                • Partager sur Twitter
                  12 février 2008 à 22:01:24

                  C'est fonction.h le fichier pas fonction.H.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 février 2008 à 10:28:58

                    C'est bon, j'ai trouver où été le problème, c'est tout simplement visual qui a bugger, j'ai refait un nouveau projet et ça a marcher !
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Plusieur fichier .C

                    × 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