Laboratorio di Algoritmi e Strutture Dati + Laboratorio - CdS ICD - a.a. 2012/13

Esercitazione 4 - 29 aprile 2013

Si crei un progetto per la console in linguaggio C++ denominato Esercitazione4CognomeNome in cui si aggiungano i file realizzati nelle esercitazioni precedenti. Successivamente si svolgano i punti seguenti, esclusivamente in linguaggio C++, rispettando la divisione dei file di progetto in file con estensione .cpp e file con estensione .h.

  1. Ufficio postale: si vuole creare un programma che gestisca le code di un ufficio postale. Per semplicità si ipotizza che l'ufficio postale abbia un solo sportello che consente il pagamento di un solo tipo di bollettino. In coda ci sono utenti caratterizzati da cognome, nome e importo totale da pagare. Si crei la coda di utenti, successivamente si crei la classe UfficioPostale che contenga un contatore interno, il totale di versamenti effettuati e i metodi:
    • void incodaUtente(Utente), che prende in ingresso un utente e utilizza inCoda per inserirlo nella coda dell'ufficio postale e aggiorna il contatore (interno alla classe UfficioPostale) del numero di utenti;
    • void serviUtente(), che legge l'importo da pagare dell'utente in testa e lo aggiunge al totale di versamenti (interno alla classe UfficioPostale), elimina l'utente in testa dalla coda degli utenti;
    • int utentiInCoda(), che restituisce il numero di utenti al momento in coda all'ufficio postale.
  2. Pila bollettini: partendo dal punto precedente si ipotizzi che ogni utente debba pagare un certo numero di bollettini disposti in pila. Un bollettino è caratterizzato da numero, importo, casuale. Aggiungere la pila all'interno della classe Utente e creare un metodo float pagaBollettino() alla classe Utente che restituisce l'importo del bollettino in testa alla pila. Modificare il metodo serviUtente
  3. in modo che sia compatibile con il metodo pagaBollettino. Si tenga presente che se l'utente ha finito i bollettini non bisogna chiedere altri bollettini da pagare, si crei all'uopo il metodo bool esistonoBollettini(), che restituirà vero se l'utente ha ancora bollettini in pila.

Il progetto deve avere il cognome dello studente che ha effettuato la prova. Dopo aver finito si crei un file proprioCognome.zip contenente il file di progetto .dev, i file .h e .cpp. Non includere file oggetto (.o) o eseguibili (.exe). Spedire il file zippato al docente facendo attenzione a scrivere nell'oggetto dell'email: "[ADD] Esercitazione 29.04.22 proprioCognome". In alternativa, a fine prova, consegnare al docente il file zippato su una penna USB.

Home