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

Esercitazione 3 - 22 aprile 2013

Si crei un nuovo progetto per la console in linguaggio C++ denominato Esercitazione3CognomeNome. 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.

Si ricorda che: gli operatori di Pila sono: creaPila, pilaVuota, inPila, fuoriPila, leggiPila; gli operatori di Coda sono: creaCoda, codaVuota, inCoda, fuoriCoda, leggiCoda.

  1. pila con vettore: Si crei una classe PilaVett, implementata con vettore, che gestisca elementi di tipo intero.
  2. pila con puntatori: Si crei una classe Pila, implementata come struttura dinamica (con puntatori), che gestisca elementi di tipo intero.
  3. coda con vettore: Si crei una classe CodaVett, implementata con vettore, che gestisca elementi di tipo intero.
  4. coda con puntatori: Si crei una classe Coda, implementata come struttura dinamica (con puntatori), che gestisca elementi di tipo intero.
  5. classe Autovettura: si crei ora una classe Autovettura. La classe contiene le seguenti proprietà di tipo stringa: targa, marca, modello; la classe contiene le seguenti proprietà di tipo intero: posti, annoImmatricolazione. Le proprietà sono private, realizzare i metodi di accesso a tali proprietà.
  6. Attraverso l'uso di typedef si modifichi le classi pila e coda precedentemente create con il tipo tipoelem al posto dell'intero.
  7. Si associ al tipoelem la classe Autovettura.
  8. Si ipotizzi il caso di un'autorimessa (garage) che contenga un numero limitato di auto e che non consenta di fare manovre all'interno, pertanto per uscire un'auto bisogna che tutte quelle arrivate dopo debbano essere spostate e poi reinserite nell'autorimessa. Creare quindi una funzione che prenda in ingresso una targa ed elimini dalla pila l'auto relativa.
  9. Si ipotizzi di voler monitorare il servizio ad un drive-through (in cui si può comprare alimenti restando in auto), in cui è servita prima l'auto che entra per prima. Creare una funzione che carichi la coda con 5 auto. Successivamente creare una funzione/metodo che prenda in ingresso una targa, svuoti la coda e stampi la targa con a fianco il messaggio: 'sconosciuta' se la targa non corrisponde a quella passata in ingresso, 'trovata' se corrisponde. Non uscire dalla funzione prima che la coda sia completamente svuotata.
  10. Creare una funzione che prende in ingresso una pila e una coda e stampi il contenuto di entrambe, senza perdita di informazione.

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 13.04.22 proprioCognome". In alternativa, a fine prova, consegnare al docente il file zippato su una penna USB.

Home