ciao a tutti,
devo implementare una classe "ElencoPrenotati" che deve contenere un array
contenente N record. La dimensione dell'array (allocato dinamicamente) viene
fornita come parametro al costruttore della classe. I record sono costituiti
da una struttura "Studente" che ha 3 campi (nome, cognome, matricola) di
tipo string. Devo implementare le seguenti funzioni:
-inserimento di uno studente il cui prototipo deve essere bool
insert(Studente e); //restituisce true se l'inserimento va abuon fine.
-stampa a video della rubrica, il prototipo deve essere void stampa();
la traccia dell'esercizio fornisce anche il main. Purtroppo ricevo questi
errori:
9 elencoprenotati.cpp `array' undeclared (first use this function)
l'errore è ovvio (l'array in insert() non è dichiarato) ma come porvi
rimedio???
ecco il codice:
ciao!codice:**MAIN.CPP #include <iostream> #include <stdio.h> #include "ElencoPrenotati.h" int main(){ Studente r; ElencoPrenotati elenco(10); r.cognome="Esposito"; r.nome="Francesco"; r.matricola="36596"; elenco.insert(r); r.cognome="Paccado"; r.nome="Maurizio"; r.matricola="36296"; elenco.insert(r); r.cognome="Zamboni"; r.nome="Stefano"; r.matricola="36291"; elenco.insert(r); elenco.stampa(); r.cognome="Accardo"; r.nome="Domenico"; r.matricola="36293"; elenco.insert(r); elenco.stampa(); //elenco.ordina(); elenco.stampa(); system("Pause"); return 0; } ***ElencoPrenotati.h #ifndef _ELENCOPRENOTATI_H #define ELENCOPRENOTATI_H #include <iostream> #include <string> struct Studente { string nome; string cognome; string matricola; }; typedef Studente* Record; class ElencoPrenotati { private: int last; //punta all'ultimo elemento inserito nell'array public: ElencoPrenotati(int n); ~ElencoPrenotati(); bool insert(Studente &); void stampa(); }; #endif ***ElencoPrenotati.cpp #include "ElencoPrenotati.h" ElencoPrenotati::ElencoPrenotati(int n){ Record array; array=new Studente[n]; } bool ElencoPrenotati::insert(Studente & r){ array[last].nome=r.nome; array[last].cognome=r.cognome; array[last].matricola=r.matricola; last=last+1; return true; } void ElencoPrenotati::stampa(){ for(int I=0; I<last; I++){ cout<<"cognome:"<< array[I].cognome << endl; cout<<"nome:"<< array[I].nome << endl; cout<<"matricola:"<< array[I].matricola << endl; cout<<"************************" << endl; } } ElencoPrenotati::~ElencoPrenotati(){ for(int i=0; i<last; i++){ delete [] array; } cout<<"array deallocato"; }