Bonjour tout le monde.
Je suis désespéré, celà fait des heures que je cherche, je trouve pas, j'espère trouver ma réponse ici, voilà mon problème :
J'apprend le C depuis très peu de temps, je suis les cours de C du site et j'en suis a la partie sur la programmation par modulation, c'est à dire tout simplement le fait de ne pas mettre toutes nos fonctions dans le même fichiers.
Alors c'est sa mon problème, ce que j'en ai compris, je fais un fichier exemple.c dans lequel j'écris mes fonctions, ensuite je crée un autre fichier exemple.h dans lequel je met les prototypes de ces fonctions, et ensuite dans le main.c je met au début #include "exemple.h" et ensuite je peux appeler mes fonctions comme si elles étaient juste avant ma fonction main, c'est celà ?
Donc, si je n'ai pas dit de bêtise je ne comprend vraiment pas, je vous montre l'exemple tout con que j'ai fais, si vous pourriez me dire pourquoi sa ne fonctionne pas vous me feriez faire un grand pas parce-que je suis vraiment bloqué à ce stade depuis 3 jours.
fichier math.c :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 #include <stdio.h> #include <stdlib.h> #include "math.h" //Ici je met les foctions permettant de faire le carré d'un nombre ect... double triple (double nt) { double resultat=0; resultat= 3 * nt; return resultat; }
fichier math.h :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 #ifndef MATH_H_INCLUDED #define MATH_H_INCLUDED double triple (double nt); #endif // MATH_H_INCLUDED
fichier main.c :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 #include <stdio.h> #include <stdlib.h> #include "math.h" int main(int argc, char *argv[]) { double nt=0; printf("tapes un nombre je te donnes son triple\n\n"); scanf("%ld", &nt); printf("le triple du nombre que tu as taper est %lf\n\n", triple(nt)); system("PAUSE"); return 0; }
Alors ?fouttez vous de moi oui mais aidez moi silvouplais....
EDIT : J'ai oublié, voici le message d'erreur lors de la compilation :
||=== Test MODULATION, Debug ===|
obj\Debug\main.o||In function `main'
C:\Documents and Settings\xxxx\Bureau\Caca\C\Test MODULATION\main.c|11|undefined reference to `_triple'|
||=== Build finished: 1 errors, 0 warnings ===|
Partager