Estratto del documento

Università di Napoli Federico II

Corso di Laurea in Ingegneria Informatica - Esame di Programmazione 1 - Prova pratica del 1/02/2010

Durata della prova: 2h

Cognome ......................................... Nome .................................. Matr. .............................

Testo della prova

Si realizzi in linguaggio C++ un programma per la memorizzazione di una lista di libri su file binario. Allo scopo si definisca una classe Libro avente tre variabili membro: autori, titolo (di tipo stringa) e anno (di tipo intero).

Siano definiti per tale classe i metodi per la lettura del valore di ciascuna variabile membro ed un metodo stampa per la stampa a video di tali valori. Si definiscano come funzioni amiche della classe Libro i seguenti operatori:

  • ifstream& operator>>(ifstream& file, Libro& libro) throw (Error); legge dal file binario file i valori dei membri della classe Libro e li assegna all'oggetto libro
  • ofstream& operator<<(ofstream& file, Libro& libro) throw (Error); scrive nel file binario file i valori dei membri dell'oggetto libro

Nel leggere/scrivere stringhe dal/nel file, si consideri che vanno memorizzati nel file binario i soli caratteri da cui la stringa è formata. I suddetti operatori devono lanciare eccezioni di tipo Error qualora una operazione su file fallisca. La classe Error è così specificata:

class Error {char* msg; public: Error(char* _msg) : msg(new char[strlen(_msg)+1]) { strcpy(msg,_msg); } char* what() { return msg; }};

L'oggetto Error lanciato conterrà nel membro msg una descrizione dell'operazione fallita.

Le operazioni di inserimento di nuovi libri avvengono caricando i libri presenti nel file binario in una struttura dati (lista collegata) mantenuta in

Anteprima
Vedrai una selezione di 1 pagina su 1
Programmazione 1 - Esercitazione Pag. 1
1 su 1
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Ingegneria industriale e dell'informazione ING-INF/05 Sistemi di elaborazione delle informazioni

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Fra.M di informazioni apprese con la frequenza delle lezioni di Programmazione 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Avallone Stefano.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community