probleme dans un projet (niveau debutant) - C - Programmation
Marsh Posté le 13-08-2007 à 11:04:36
ReplyMarsh Posté le 13-08-2007 à 11:36:39
Non, il faut faire une entete à sommetableau, et c'est celle ci qui doit etre includée.
Marsh Posté le 13-08-2007 à 11:38:35
oui ca c'est la facon propre (la mienne fonctionne aussi quand meme) (enfin c'est un peu crade)
Marsh Posté le 13-08-2007 à 11:43:36
ok mais la jsuis perdu. que veut tu dire par entete à somme tableau
Marsh Posté le 13-08-2007 à 11:46:32
ReplyMarsh Posté le 13-08-2007 à 11:47:24
antac a écrit : oui ca c'est la facon propre (la mienne fonctionne aussi quand meme) (enfin c'est un peu crade) |
Donc il n'y a qu'une méthode
Marsh Posté le 13-08-2007 à 11:49:56
Ce que tu demandes est trivial, il te suffit d'utiliser un minimum de tes ressources cerveau pour t'en sortir, à savoir lire n'importe quel tutoriel de base pour t'en sortir. Si tu fais pas ça, tu ne fera jamais rien.
Marsh Posté le 13-08-2007 à 11:53:46
antac a écrit : exact #include "sommeTableau.c" |
Horrible ! Quand on ne sait pas, on se tait...
Marsh Posté le 13-08-2007 à 11:55:39
antac a écrit : Faut déclarer sommeTableau.c dans ton main |
Mais qu'est-ce que tu racontes ? T'as bu ou quoi ?
Marsh Posté le 13-08-2007 à 11:57:59
faut mettre quoi dans l'include et dans quel fichier
Marsh Posté le 13-08-2007 à 11:59:01
ReplyMarsh Posté le 13-08-2007 à 12:00:14
lamouche8 a écrit : faut mettre quoi dans l'include et dans quel fichier |
Les fichiers comme tu nous les a présenté me semble bons.
Par contre, est-ce que tu les compile bien ?
Cad, un fichier objet par fichier C, et ensuite tu les réunie par le linkage en un exécutable.
Marsh Posté le 13-08-2007 à 12:00:53
bon, si c'est pour dire des stupidités inutile de parler, jte rappelle que tu t'adresses à un débutant alors ...
je sais que sa doit être amusant de rabaisser les autres mais la jsuis déjà bas donc t'ira pas très loin bonhomme.
Marsh Posté le 13-08-2007 à 12:01:09
lamouche8 a écrit : faut mettre quoi dans l'include et dans quel fichier |
Admettons que tu aies cette arborescence :
<blabla>
|- <machin>
|- sommeTableau.c
|- main.c
Tu commences par créer un fichier sommeTableau.h, dans le répertoire "machin", contenant les prototypes des fonctions sommeTableau.c que tu souhaites exporter.
Puis, pour compiler main.c, tu as deux solutions :
ou
Il ne te reste plus qu'à compiler sommeTableau.c, puis main.c, avec l'option -c de ton compilateur, et enfin linker l'objet final en ajoutant tous les *.o générés (sommeTableau.o et main.o ici).
Zieute la doc de ton compilateur pour ça, mais c'est relativement simple.
Marsh Posté le 13-08-2007 à 12:01:15
Ouais, je lui ai donné une facon pas trop au norme pour que ca marche, par contre ce que je comprends pas c'est que tu as pas eu d'erreur à la compilation. Mon compilo m'a tout de suite dit que ta méthode était pas déclaré... Tu utilises quoi comme compilo ?
Je dis toujours en Ada quand ca compile c'est gagné
En C/C++ quand ca compile c'est le début des emmerdes.
Bref en C tu peux coder comme un porc et ca va marcher (mais c'est pas bien )
Marsh Posté le 13-08-2007 à 12:08:21
lamouche8 a écrit : Bonjour, |
Qu'est-ce qui te fait dire qu'il y a un problème ? Le résultat ? Une division entière donne une valeur entière. Donc :
somme (12, 15, 17, 16) = 60
60/4 = 15
Avec ton code, j'obtiens :
|
Ce qui est correct.
D'autre part, ton code est correct, mais peut être amélioré selon ces principes :
http://mapage.noos.fr/emdel/codage [...] ser_source
http://mapage.noos.fr/emdel/codage.htm#organiser
ce qui donne :
Code :
|
Code :
|
Code :
|
Marsh Posté le 13-08-2007 à 12:10:14
antac a écrit : <...> |
Mais ferme la...
Marsh Posté le 13-08-2007 à 12:28:07
lamouche8 a écrit : Bonjour, |
http://fr.lang.free.fr/cours/Gener [...] t_v1.0.pdf
Marsh Posté le 13-08-2007 à 13:14:01
Emmanuel Delahaye je te pris d'etre un peu plus poli s'il te plait. Tu as raison sur le fait que faire un include sur un .c est crade (et je ne dis pas le contraire) maintenant je te pris de ne pas être insultant (je ne l'ai jamais été)
Marsh Posté le 13-08-2007 à 13:19:34
Arrête d'écrire des inepties, pour commencer. Tu t'adresses à un débutant, normal qu'on t'attende au tournant, tu es en train de lui donner comme conseil toutes les horreurs qu'on aimerait ne plus rencontrer dans le code des autres.
Et il ne t'a pas insulté, il te demande d'arrêter de raconter des conneries.
Ce que j'approuve.
Marsh Posté le 13-08-2007 à 13:21:50
J'ai dis que ma méthode était crade (je pense que c'est assez clair dans ce que j'ai dis sur mes précédents posts) et que la méthode de _darkalt3_ est bien plus intéressante (car respectant les normes de programmation C). Ce n'est pas un conseil, je lui ai donné une solution simple pour que ca marche (et j'avoue que j'ai eu tord de lui donner cette méthode).
Marsh Posté le 13-08-2007 à 13:23:30
ReplyMarsh Posté le 13-08-2007 à 13:25:59
ouais enfin bon, si tu commences à faire crade pour 4 lignes de code...
Marsh Posté le 13-08-2007 à 13:30:29
antac a écrit : J'ai dis que ma méthode était crade (je pense que c'est assez clair dans ce que j'ai dis sur mes précédents posts) et que la méthode de _darkalt3_ est bien plus intéressante (car respectant les normes de programmation C). Ce n'est pas un conseil, je lui ai donné une solution simple pour que ca marche (et j'avoue que j'ai eu tord de lui donner cette méthode). |
Arrête de t'enfoncer, tu fais pitié...
Marsh Posté le 13-08-2007 à 13:40:55
antac a écrit : Emmanuel Delahaye je te pris d'etre un peu plus poli s'il te plait. Tu as raison sur le fait que faire un include sur un .c est crade (et je ne dis pas le contraire) maintenant je te pris de ne pas être insultant (je ne l'ai jamais été) |
Tes propos sur le langage C sont une insulte à l'intelligence...
Marsh Posté le 13-08-2007 à 13:49:33
Le fait que tu peux coder comme un porc en C, que tu utilises des typages foireux ou des pointeurs qui pointent sur quedalle et que ca compile. Oui désolé le C n'est pas très strict la dessus par rapport à d'autres langages (ce qui n'enlève en rien ses qualitées).
Tchao
Marsh Posté le 13-08-2007 à 13:53:21
antac a écrit : Le fait que tu peux coder comme un porc en C, que tu utilises des typages foireux ou des pointeurs qui pointent sur quedalle et que ca compile. Oui désolé le C n'est pas très strict la dessus par rapport à d'autres langages (ce qui n'enlève en rien ses qualitées). Tchao |
c'est justement pour ça qu'il ne faut jamais dire aux débutants que les trucs de porc existe
l'include de fichier .c c'est à la limite du tolérable pour le programmeur averti, qui fait du prototypage rapide et qui jete le code dans les minutes qui suivent et si il se cache et qu'il le dit à personne ^_^ et il ne faut pas non plus qu'il s'attende à recevoir de cadeau du popa noel non plus .
(ou aussi dans le cas de compilo foireux, mais bon, là )
Marsh Posté le 13-08-2007 à 13:56:03
En effet et encore une fois je m'en excuse de lui avoir dit de faire un include sur un .c.
Au niveau du compilo, quand je dis ca c'est pour l'avoir vécu avec GCC
Marsh Posté le 13-08-2007 à 13:57:48
antac a écrit : En effet et encore une fois je m'en excuse de lui avoir dit de faire un include sur un .c. |
comme tout bon compilo, en y mettant les bons flags de compilation tu fais ressortir les trucs de porcs
Marsh Posté le 14-08-2007 à 08:47:16
Deadog a écrit : c'est justement pour ça qu'il ne faut jamais dire aux débutants que les trucs de porc existe |
Pas d'accord.
En vous posant comme senseurs de la connaissance vous ne faites que répercuter à votre niveau le marasme qui nous entoure. Combien de fois avez-vous dit (ou pensé) "on ne nous dit pas la vérité, on nous cache des trucs" => et pourtant vous voulez vous aussi reproduire le même schéma ?
Non. A un débutant qui veut apprendre le C on lui apprend le C, tout le C. Le bon, comme le mauvais, mais on lui apprend aussi pourquoi c'est bon ou mauvais. Il pourra faire ensuite la part des choses...
Marsh Posté le 14-08-2007 à 09:09:41
Deadog a écrit : |
nan hein
Marsh Posté le 14-08-2007 à 09:43:55
Taz a écrit : |
Tu ne connais pas le flag --goret ?
Marsh Posté le 13-08-2007 à 10:48:25
Bonjour,
Suite au bon fonctionnement de mon programme, j'ai voulu apprendre à découper celui-ci pour en faire un projet.
Cependant, celui-ci ne fonctionne pas, bien que la compilation ne sorte aucune erreur. Je pense qu'il ne passe pas par la fonction.
Soit 2 répertoires :
- header files : proto.h
- source files : main.c
sommeTableau.c
proto.h
long sommeTableau(long tableau[], long tailleTableau);
main.c
#include <stdio.h>
#include <stdlib.h>
#include "proto.h"
int main(int argc, char *argv[])
{
long tableau[4] = {12, 15, 17, 16}, i = 0, somme;
somme=sommeTableau(tableau,4);
printf("soit %ld\n",somme);
system("PAUSE" );
return 0;
}
sommeTableau.c
#include <stdio.h>
#include <stdlib.h>
long sommeTableau(long tableau[], long tailleTableau)
{
long i, somme=0;
for (i = 0 ; i < tailleTableau ; i++)
{
somme=somme+tableau[i];
}
return somme/tailleTableau;
}
Si vous avez une idée de l'erreur, dites le moi.
Merci d'avance