Università di Napoli Federico II
Corso di Laurea in Ingegneria Informatica
Esame di Programmazione 1
Prof. Cotroneo
Prova pratica del 24/07/2006
Durata della prova: 90 minuti
Cognome .................................................... Nome ................................................... Matr. ...........................
Istruzioni per lo studente
Lo studente legga attentamente il testo e produca il programma ed i casi di test necessari per dimostrarne il funzionamento. La mancata compilazione dell'elaborato, la compilazione con errori o l'esecuzione errata dell'algoritmo daranno luogo alla valutazione come prova non superata.
Ricordarsi di indicare Nome, Cognome e matricola su questo stesso foglio, che dovrà essere in ogni caso consegnato alla Commissione. Al termine della prova lo studente dovrà fare verificare il funzionamento del programma ad un membro della Commissione.
Testo della prova
Si realizzi in linguaggio C++ un tipo di dato astratto LISTA mediante l’uso del costrutto class del linguaggio, e ricorrendo ad una implementazione dinamica.
Gli elementi della lista siano istanze della classe Persona, la quale incapsula le seguenti variabili membro:
- Char *Nome;
- Char *Cognome;
E le seguenti funzioni membro:
- SetNome(char* nome),
- SetCognome(char* cognome),
- StampaNomeCognome().
Il tipo LISTA deve essere ordinato su Cognome e fornire le seguenti funzioni membro:
- Void inserisci(Persona p); //inserisce un elemento nella lista in ordine
- Persona elimina(); //preleva un elemento dalla lista
- Bool empty(); //verifica se la lista è vuota
- Bool full(); //verifica se la lista è piena
- Void Stampa_Elementi(); //stampa elementi contenuti nella lista
Lo studente aggiunga alle classi LISTA e Persona tutti i metodi necessari ad un’esecuzione corretta del seguente programma principale.
Programma principale
-----------------------------------------------------
int main() { Persona p1("Anna","Russo"), p3("Gennaro","Esposito"), p4("Ugo","Fusco"); Lista lista; lista.inserisci(p1); lista.inserisci(p3); lista.inserisci(p4); cout