RikyToro
10-02-2009, 12:50
Ciao a tutti!chiedevo il vostro aiuto per quanto riguarda la gestione di file...sto cercando di scrivere un programma e all'inizio del main esso dovrebbe copiare i dati da tre file e inserirli in altrettanti array...ma il programma smette di funzionare...questo è ciò che ho fatto:
collezione_studenti tutti_gli_studenti;
collezione_corsi tutti_corsi;
collezione_esami tutti_esami;
ifstream f1;
f1.open("studenti.txt");
tutti_gli_studenti.leggi_coll_stud(f1);
ifstream f2;
f2.open("corsi.txt");
tutti_corsi.leggi_coll_corso(f2);
ifstream f3;
f3.open("esami.txt");
tutti_esami.leggi_coll_es(f3);
collezione_corsi,collezione_studenti,collezione_esami sono tre classi che hanno come campi private un array e un int(numero di elementi effettivi dell'array)
questa è la funzione leggi_coll_stud della classe collezione_studenti:
void leggi_coll_stud(istream&SORG)
{
int i=0;
string NOME,COGNOME,INDIRIZZO,FACOLTA,EMAIL;
int MATRICOLA,ANNO_CORSO;
DATA DATA_DI_NASCITA;
char SEP;
SORG>>NOME;
while(!SORG.eof() && i<dim_stud)
{
SORG>>COGNOME;
SORG>>DATA_DI_NASCITA.giorno;
SORG>>SEP;
SORG>>DATA_DI_NASCITA.mese;
SORG>>SEP;
SORG>>DATA_DI_NASCITA.anno;
SORG>>INDIRIZZO;
SORG>>MATRICOLA;
SORG>>FACOLTA;
SORG>>ANNO_CORSO;
SORG>>EMAIL;
coll_stud[i]=studente(MATRICOLA, ANNO_CORSO, NOME, COGNOME, INDIRIZZO, DATA_DI_NASCITA, FACOLTA, EMAIL);
i++;
num_stud++;
SORG>>NOME;
}
return;
}
dovrei aver fatto un errore nella parte sottolineata...!!!!!
collezione_studenti tutti_gli_studenti;
collezione_corsi tutti_corsi;
collezione_esami tutti_esami;
ifstream f1;
f1.open("studenti.txt");
tutti_gli_studenti.leggi_coll_stud(f1);
ifstream f2;
f2.open("corsi.txt");
tutti_corsi.leggi_coll_corso(f2);
ifstream f3;
f3.open("esami.txt");
tutti_esami.leggi_coll_es(f3);
collezione_corsi,collezione_studenti,collezione_esami sono tre classi che hanno come campi private un array e un int(numero di elementi effettivi dell'array)
questa è la funzione leggi_coll_stud della classe collezione_studenti:
void leggi_coll_stud(istream&SORG)
{
int i=0;
string NOME,COGNOME,INDIRIZZO,FACOLTA,EMAIL;
int MATRICOLA,ANNO_CORSO;
DATA DATA_DI_NASCITA;
char SEP;
SORG>>NOME;
while(!SORG.eof() && i<dim_stud)
{
SORG>>COGNOME;
SORG>>DATA_DI_NASCITA.giorno;
SORG>>SEP;
SORG>>DATA_DI_NASCITA.mese;
SORG>>SEP;
SORG>>DATA_DI_NASCITA.anno;
SORG>>INDIRIZZO;
SORG>>MATRICOLA;
SORG>>FACOLTA;
SORG>>ANNO_CORSO;
SORG>>EMAIL;
coll_stud[i]=studente(MATRICOLA, ANNO_CORSO, NOME, COGNOME, INDIRIZZO, DATA_DI_NASCITA, FACOLTA, EMAIL);
i++;
num_stud++;
SORG>>NOME;
}
return;
}
dovrei aver fatto un errore nella parte sottolineata...!!!!!