vuoi
o PayPal
tutte le volte che vuoi
Università di Napoli Federico II - Corso di Laurea in Ingegneria Informatica
Esami di Programmazione I - Prova pratica del 13/09/2006
Durata della prova: 90 minuti
Cognome............................................Nome...............................................Matr.......................
Testo della Prova
Si sviluppi in C++ una applicazione per la gestione dei posti disponibili per uno spettacolo teatrale. Si implementino una
classe Posto ed una classe Teatro secondo le specifiche in seguito fornite.
La figura riporta il diagramma delle classi Posto e Teatro. Il significato degli attributi della classe Posto è il seguente:
- ID: codice identificativo del posto;
- Prenotato: variabile booleana, vale “true” se il posto risulta prenotato, altrimenti “false”.
- Acquistato: variabile booleana, vale “true” se è stato emesso un biglietto associato al posto (che in questo caso
deve risultare prenotato), vale “false” altrimenti.
Il significato dell’attributo della classe Teatro è il seguente:
- numeroPosti: numero totale dei posti disponibili.
Il programma utente opera essenzialmente sulla classe Teatro, di cui definisce un oggetto. Su di esso deve essere possibile
effettuare le seguenti operazioni, il cui prototipo (che non deve essere modificato) è riportato nel diagramma delle classi:
- prenota: dato in ingresso il codice di un posto, effettua la prenotazione se il posto è disponibile.
- acquistaBiglietto: dato in ingresso il codice di un posto, effettua l’acquisto di un biglietto se il posto risulta
prenotato (e non ancora “acquistato”). Restituisce mediante il parametro “importo” il prezzo in Euro del biglietto.
- liberaprenotato: dato in ingresso il codice di un posto, annulla la prenotazione se il posto risulta prenotato ed il
biglietto relativo non è stato ancora emesso.
- visualizza_disponibili: elenca a video il codice dei posti disponibili (cioè non prenotati)
- visualizza_prenotati: elenca a video il codice dei posti prenotati/acquistati.
Teatro
Posto
- ID:int - numeroPosti: int
- Prenotato: bool
- Acquistato: bool * + prenota(const int Cod):bool
+ acquistaBiglietto(const int Cod, float & importo):bool
+ liberaprenotato(const int Cod):bool
+ visualizza_disponibili():void
+ visualizza_prenotati():void
Si realizzino inoltre tutte le funzioni membro necessarie ad eseguire correttamente il seguente main di prova.