Messages recommandés

Posté(e)

[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...

Posté(e)
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 :o ^^

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

Posté(e)

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

Posté(e)

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.

Posté(e)
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]

Posté(e)

J'incrémante ! :whistle:

Il y a de la logique OK mais faut pas pousser hein :o

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)

Posté(e)

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-B)*(y-B));

}

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 :P

EDIT: fock le passage Scite => dev c++ qui fait buguer les accents et qques trucs dans l'allignement :P

Posté(e)
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

Posté(e)
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 :P[/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...

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement