PDA

View Full Version : C++ HELP URGENTE DOMANI HO L'ESAME


torettp
26-02-2006, 18:53
:help: :help: compolando un programma in c++ mi da quedto errore: :muro:

Error: Unresolved external 'acquisisciListaSculture(listaSculture&)' referenced
from C:\DOCUMENTS AND SETTINGS\LUCIANO\DESKTOP\PROGRAMMI MIEI\C++\SCULTURE\SCULT
URE.OBJ

e domani ho l'esame di programmazone :mc:
ke vuol dire,qual è il problema
vi mando anje il sorgente :read:

#include<iostream.h>
#include<fstream.h>

const int N = 10;

struct scultura{
string nome;
int anno;
};

struct listaSculture{
int indicatore;
scultura elencoSculture[N];
};

void acquisisciListaSculture(listaSculture &lista);
void acquisisciIndicatore(int &indicatore);
void acquisisciScultura(scultura &datiScultura);
void stampaListaSculture(listaSculture lista);
void stampaScultura(scultura datiScultura);
void stampaSculturaPiuAntica(listaSculture lista, int pos);
void leggiNomeFile(string &nomeFile);
void stampaDati(listaSculture scultura, string nomeFile);
int cercaSculturaPiuAntica(listaSculture lista);

void main(){
int pos;
string nomeFile;
listaSculture lista;
acquisisciListaSculture(lista);
stampaListaSculture(lista);
pos = cercaSculturaPiuAntica(lista);
stampaSculturaPiuAntica(lista, pos);
leggiNomeFile(nomeFile);
stampaDati(lista, nomeFile);
}

void acquisisciListaScultura(listaSculture &lista){
lista.indicatore = 0;
acquisisciIndicatore(lista.indicatore);
for(int i = 0; i < lista.indicatore; i++){
acquisisciScultura(lista.elencoSculture[i]);
}
return;
}

void acquisisciIndicatore(int &indicatore){
cout<<"Inserissci il numero di sculture che contiene la collezione"<<endl;
cin>>indicatore;
while(indicatore < 0 || indicatore > N){
cout<<"*ERRORE*"<<endl;
cout<<"Devi inserire un numero compreso tra 0 e 10"<<endl;
cin>>indicatore;
}
return;
}

void acquisisciScultura(scultura &datiScultura){
cin.ignore();
cout<<"Inserici il nome della scultura"<<endl;
getline(cin, datiScultura.nome);
cout<<"Insrisci il nome della scultura"<<endl;
cin>>datiScultura.anno;
}

void stampaListaListaSculture(listaSculture lista){
for(int i = 0; i < lista.indicatore; i++){
stampaScultura(lista.elencoSculture[i]);
}
return;
}

void stampaListaSculture(listaSculture lista){
cout<<"La collezione contiene le seguenti sculture"<<endl;
for(int i = 0; i < lista.indicatore; i++){
stampaScultura(lista.elencoSculture[i]);
}
return;
}

void stampaScultura(scultura datiScultura){
cout<<"La scultura "<<datiScultura.nome<<" e' dell' anno "<<datiScultura.anno<<endl;
}

int cercaSculturaPiuAntica(listaSculture lista){
int pos = 0;
for( int i = 1; i < lista.indicatore; i++){
if(lista.elencoSculture[i].anno < lista.elencoSculture[pos].anno){
pos = i;
}
}
return pos;
}

void stampaSculturaPiuAntica(listaSculture lista, int pos){
cout<<"La scultura piu antica é "<<lista.elencoSculture[pos].nome;
return;
}

void leggiNomeFile(string &nomeFile){
cout<<"Inserisci il nme del file sul quale vuoi salvare la collezione"<<endl;
cin.ignore();
getline(cin, nomeFile);
}

void stampaDati(listaSculture lista, string nomeFile){
ofstream flussoSuFile(nomeFile.c_str());
flussoSuFile<<"Collezione di sculture"<<endl;
for(int i = 0; i < lista.indicatore; i++){
flussoSuFile<<"La scultura "<<lista.elencoSculture[i].nome<<" e' dell' anno "<<lista.elencoSculture[i].anno<<endl;
}
flussoSuFile.close();
return;
}

AnonimoVeneziano
26-02-2006, 19:32
Hai dichiarato la funzione "void acquisiciListaSculture()" ma poi hai definito la funzione "void acquisiciListaScultura()".

Ciao

torettp
26-02-2006, 21:13
garzie mille!
Pensavo ke in questo caso mi avrebbe dato un errore del tipo che avevo chiamato una funzione nn esistente

tomminno
26-02-2006, 22:02
garzie mille!
Pensavo ke in questo caso mi avrebbe dato un errore del tipo che avevo chiamato una funzione nn esistente

Infatti è quello che ha fatto.
Non trovando la funzione nel codice ha assunto che fosse esterna, non trovandola nemmeno nelle librerie linkate, ha segnalato un riferimento non trovato.