darck Posté(e) le 9 avril 2005 Signaler Posté(e) le 9 avril 2005 [cpp]/* void AjouterElement(Element *, Liste*); { } */[/cpp] Tu déclares la fonction dans ton .h par : void AjouterElement(Element *, Liste*); Mais tu ne l'as pas réellement déclaré... même si elle est vide tu dois avoir au minimum (dans un .cpp) : [cpp]void AjouterElement(Element *, Liste*) { } [/cpp] Un conseil, les fonctions que tu mets en haut (et dans les .h) doivent être précédées du mot clef "extern", donc : extern void AjouterElement(Element *, Liste*); Sinon, c'est quand même mieux de mettre ce genre de pré-déclaration dans des .h... Citer
dPm Posté(e) le 12 avril 2005 Auteur Signaler Posté(e) le 12 avril 2005 C'est tres classique comme probleme : * Soit tu as oublie de coder les fonctions en question, * Soit tu ne compiles pas les fichiers qui les contiennent. * Soit tu ne lies pas ton executable avec la bibliotheque qui les contient. PS : c'est qui votre prof de C a l'IPSE ?[/quotemsg] IPSA ^^ ca doit pas être un prof de chez vous... c'est Evelin EDIT: c'est un .c pas .cpp ensuite, je viens de marquer extern devant les fonctions, ça marche pas mieux. J'ai tapé ça a la fin du headerM [cpp]void AjouterElement(Element *,Liste *) { printf("KRUT"); //rien pour le moment } void EditerListe(Liste *) { printf("KRUT"); //rien pour le moment } Liste * SupprimerListe(Liste *) { printf("KRUT"); //rien pour le moment }[/cpp] et ça marche pas plus Citer
Jooreixo Posté(e) le 12 avril 2005 Signaler Posté(e) le 12 avril 2005 fais comme moi... fais du pascal Citer
ChandlerBing82 Posté(e) le 12 avril 2005 Signaler Posté(e) le 12 avril 2005 and we've got a winner [:xp1700] Citer
dPm Posté(e) le 12 avril 2005 Auteur Signaler Posté(e) le 12 avril 2005 bon le prof est passé, m'a énervé, et n'as pas plus fait marcher le bordel........ Citer
ChandlerBing82 Posté(e) le 12 avril 2005 Signaler Posté(e) le 12 avril 2005 j'adore ce genre de prof mais si c'est comme ca qu'on fait tu fous une accolade ici, un point virgule et ca marche VLAM (bruit de la porte du bureau du prof qui se referme Citer
dPm Posté(e) le 12 avril 2005 Auteur Signaler Posté(e) le 12 avril 2005 beh hélas c'est pas si simple... j'ai l'impression d'un foutage de gueule... je fais du pas a pas en mettant en quote les fonctions et en les dequotant sur besoin... jai plus le meme probleme... Compiling...TDProg.c d:\progz\ipsa\tptdinfo\tdprogc\tdliste.h(121) : error C2055: expected formal parameter list, not a type list Error executing cl.exe. [cpp]void AjouterElement(Element *,Liste *) { printf("TUX"); //rien pour le moment }[/cpp] ligne 2 me montre visual c Citer
ChandlerBing82 Posté(e) le 12 avril 2005 Signaler Posté(e) le 12 avril 2005 Rajoute des parametres apres les *. Vérifie que la déclaration est la meme Citer
dPm Posté(e) le 12 avril 2005 Auteur Signaler Posté(e) le 12 avril 2005 sans la virgule: Compiling...TDProg.c d:\progz\ipsa\tptdinfo\tdprogc\tdliste.h(120) : error C2143: syntax error : missing ')' before '*' d:\progz\ipsa\tptdinfo\tdprogc\tdliste.h(120) : error C2143: syntax error : missing '{' before '*' d:\progz\ipsa\tptdinfo\tdprogc\tdliste.h(120) : error C2059: syntax error : ')' d:\progz\ipsa\tptdinfo\tdprogc\tdliste.h(121) : error C2059: syntax error : '{' Error executing cl.exe. Citer
ChandlerBing82 Posté(e) le 12 avril 2005 Signaler Posté(e) le 12 avril 2005 me suis trompé j'ai édité Citer
dPm Posté(e) le 12 avril 2005 Auteur Signaler Posté(e) le 12 avril 2005 réglé (c'est un truc a la con.....) Citer
dPm Posté(e) le 12 avril 2005 Auteur Signaler Posté(e) le 12 avril 2005 beh fallait mettre Element*pElem et Liste * MaListe Citer
darck Posté(e) le 12 avril 2005 Signaler Posté(e) le 12 avril 2005 beh fallait mettre Element*pElem et Liste * MaListe[/quotemsg]Bah ouais, faut bien qu'elles aient un nom tes variables... [:darck] Citer
dPm Posté(e) le 12 avril 2005 Auteur Signaler Posté(e) le 12 avril 2005 Bah ouais, faut bien qu'elles aient un nom tes variables... [:darck][/quotemsg]ben ça te semble logique mais pour moi ça l'est pas forcément hien.... c'est comme la remarque de soldium, c'est ptet trivial pour lui ("pas difficile à comprendre bordel") mais le niveau du cours par rapport au niveau de ce qu'on nous demande là c'est 1 pour 10 quoi... je sais pas... la prog c'est pas inné [:spamafote] Citer
matriximpulse Posté(e) le 12 avril 2005 Signaler Posté(e) le 12 avril 2005 J'incrémante ! :whistle: Il y a de la logique OK mais faut pas pousser hein Faut aussi savoir presque toutes les subtilités... :sweat: Dieu sais les heures que j'ai passé à chercher le pourquoi du comment alors que c'était une truc "facile" d'après les profs ( j'ai 5.5/6 en prog quand même lol) Citer
Arcanos Posté(e) le 12 avril 2005 Signaler Posté(e) le 12 avril 2005 J'préfère des trucs courts, comme ça: #include //bibliothèques utilisées. #include using namespace std; ifstream fichier("meta1.in"); //ouvre le fichier meta1.in void lecture (int &H,int &L,double &T) //lit le début du fichier pour connaitre { //les dimensions de la matrice d'affichage et le niveau de seuil. fichier>>H>>L>>T; cout<<"Hauteur de la matrice :"< cout<<"Largeur de la matrice :"< cout<<"Niveau de seuil :"< } void vecteur (int &k, double vect[100]) //inscrit les données des charges ponctuelles dans le vecteur vect. { for (k=0;k<100 && !fichier.eof(); k++) fichier>>vect[k]; } void calcul (int H,int L,double T, int k, double vect[100]) //calcule la charge en chaque point { //et s'occupe d'afficher les * ou les blancs. double a,b,c; double save; vecteur (k,vect); for (double y=0;y { //de la matrice. for (double x=0;x { save=0; //on réinitialise save pour chaque point. for (int i=0;i { a=vect; //calcule la charge en chaque point. b=vect[i+1]; c=vect[i+2]; save=save + c/((x-a)*(x-a) + (y-*(y-); } if (save >= T) //compare à T et affiche une étoile si nécessaire. cout<<"*"; else cout<<" "; } cout< } } int main() //corps du programme appellant les fonctions. { int H,L,k; double T,vect[100]; lecture (H,L,T); calcul (H,L,T,k,vect); } Au moins c'est pas casse tête EDIT: fock le passage Scite => dev c++ qui fait buguer les accents et qques trucs dans l'allignement Citer
Jooreixo Posté(e) le 13 avril 2005 Signaler Posté(e) le 13 avril 2005 ben ça te semble logique mais pour moi ça l'est pas forcément hien....c'est comme la remarque de soldium, c'est ptet trivial pour lui ("pas difficile à comprendre bordel") mais le niveau du cours par rapport au niveau de ce qu'on nous demande là c'est 1 pour 10 quoi... je sais pas... la prog c'est pas inné [:spamafote][/quotemsg] si si.. Chu allé à mon partiel de pascal les mains dans les poches et chu ressorti 20 minutes plus tard mort de rire ^^ Bon par contre les maths hier soir je rigolais beaucoup moins Citer
darck Posté(e) le 13 avril 2005 Signaler Posté(e) le 13 avril 2005 J'préfère des trucs courts, comme ça:#include //bibliothèques utilisées. #include using namespace std; ifstream fichier("meta1.in"); //ouvre le fichier meta1.in EDIT: fock le passage Scite => dev c++ qui fait buguer les accents et qques trucs dans l'allignement [/quotemsg] Ca plus la gueule du C que du C++ En C++ tu n'utilises généralement pas les ifstream pour la gestion des fichiers... Citer
Arcanos Posté(e) le 13 avril 2005 Signaler Posté(e) le 13 avril 2005 Aucune idée Darck, j'utilise c'qu'on m'apprend Citer
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.