erreur d'execution link.exe

erreur d'execution link.exe - C++ - Programmation

Marsh Posté le 28-03-2005 à 20:58:53    

Voilà je vien de finir d'ecrire un petit sous programme et j'avais 0 erreur  :love:  :love:  
mais quand j'ai voulu l'executer j'ai eu ces 2 erreurs  
 
error LNK2001: unresolved external symbol "void __cdecl telechargerfichier(struct Client (* const)[50],class ifstream,int & )" (?telechargerfichier@@YAXQAY0DC@UClient@@Vifstream@@AAH@Z)
Debug/miniprojetsspgm2.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
 
 
 :cry:  
 
 
 
Voici le programme :
 
 
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<string.h>
 
 
const int TMAX=100;
struct Identite
{
 char nomclient[25];  
    char prenomclient[25];  
 int ageclient;  
 char statutclient;
};
 
 
struct DateEmprunt
{
 int jour;
 int mois;
 int annee;
};
 
struct Client
{
 Identite idclient;
 DateEmprunt datesignature;
 int montantemprunte;
 int txinteret;
 int duree;
 int montantinterets;
};
 
void telechargerfichier(Client TabClient[TMAX][50],ifstream fichierclient,int&nbclient);
 
 
 
 
void main()
{
 int i;
 Client tableauclient[TMAX][50];
 ifstream fiClient;
 int nombreclient;
 telechargerfichier(tableauclient,fiClient,nombreclient);
 for(i=0;i<nombreclient;i++)
 {
  cout<<tableauclient[i]<<"/n";
 }
 
}
 
 
 
 
 
void telechargerfichier(Client TabClient[TMAX][50],ifstream fichierclient,int nbclient)
{
 char nomfic[40];
 int i=0;
 cout<<"Quel est le nom du fichier ou se trouvent les donnees?";
 cin>>nomfic;
 fichierclient.open(nomfic,ios::in);
 if(fichierclient.fail())
 {
  cout<<"ouverture de "<<nomfic<<" impossible"<<endl;
  exit(-1);
 }
 else
 {
  while(fichierclient.eof()==0)
  {
   fichierclient>>TabClient[i]->idclient.nomclient;
   fichierclient>>TabClient[i]->idclient.prenomclient;
   fichierclient>>TabClient[i]->idclient.ageclient;
   fichierclient>>TabClient[i]->idclient.statutclient;
   fichierclient>>TabClient[i]->datesignature.jour;
   fichierclient>>TabClient[i]->datesignature.mois;
   fichierclient>>TabClient[i]->datesignature.annee;
   fichierclient>>TabClient[i]->montantemprunte;
   fichierclient>>TabClient[i]->txinteret;
   fichierclient>>TabClient[i]->montantinterets;
   i++;
  }
  nbclient=i;
  cout<<"Il y a "<<nbclient<<" clients";
 }
 fichierclient.close();
}

 
 
Voilà si vous avez une idée n'hesitez pas ^^
 

Reply

Marsh Posté le 28-03-2005 à 20:58:53   

Reply

Marsh Posté le 28-03-2005 à 21:02:12    

oh du C
 
passe ton istream par & déjà.
 
 
ensuite while(fichierclient.eof()==0)  
 
c'est pas bon.
 
teste chaque >>
 
if (stream_in >> var) { ca baigne } else { marne }
 
et le type de retour de main est int
 
et remplace tes char* par des std::string


Message édité par Taz le 28-03-2005 à 21:02:36
Reply

Marsh Posté le 28-03-2005 à 21:05:18    

c'st normal que ca link pas, tu declares un :
 
void telechargerfichier(Client TabClient[TMAX][50],ifstream fichierclient,int &nbclient)  
 
et tu définies un  
void telechargerfichier(Client TabClient[TMAX][50],ifstream fichierclient,int nbclient)  
 
(note l'absence de ref pour nbclient)
 
du pt de vue du compilo c'st pas la meme chose
 


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 28-03-2005 à 21:10:12    

yoooo  
 
jai pas tout compris ton truc (paske je suis nul?  :cry: )  
 
le truc ifsrteam je pense avoir compris  
je dois mettre ifstream&nomdufichier ??  
 
sinon en fait en cours on s'est jamais vraiment servi de fichier et le reste de tes explications je pige pas trop

Reply

Marsh Posté le 28-03-2005 à 21:12:20    

bon melange pas tout
d'un coté y'a ton pb, d'un autre les recommandations de taz
pour ton pb, je t'ai filé la solution. Les recommandations de taz sont la pour que ton code deviennent moins cracra, ce qui ne serait pas un mal [:twixy]
 
il te dit de passer le istream par ref plutot que par valeur, de verifier qu'une lecture a pas merdé et surtout, de laisser tomber ces engeances de Satan que sont les char * pour les remplacer par les benis std::string
 
 


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 28-03-2005 à 21:12:52    

passe les fichiers par références. Pas par copie. D'ailleurs, pourquoi à quoi il te sert ce paramètre dans ta fonction ?

Reply

Marsh Posté le 28-03-2005 à 23:10:13    

merci les gens :)
 
euh taz ta question c pkoi j'ai mi le fichier en parametre c bien ca?
c parce qu'en fait dans mon mini projet il est demandé de le mettre en paramettre donc j'ecoute  :p

Reply

Marsh Posté le 28-03-2005 à 23:20:46    

Non taz il te dit qu'il faut suivre les cours plus sérieusement sinon tu vas avoir des problèmes plus tard face à des roumains 10x plus compétents et 10x moins chers.


Message édité par verdoux le 28-03-2005 à 23:21:00
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed