Estratto del documento

Esame di Programmazione 1 - 9CFU

Docente: Vittorini

Università di Napoli Federico II

Corso di Laurea in Ingegneria Informatica

Prova pratica del 18 giugno 2012

Durata della prova: 2h

Testo della prova

Si realizzi in C++ la gerarchia Alimentari, ProdottiFreschi.

La classe Alimentari è una classe astratta, e prevede le seguenti variabili membro:

  • Codice: codice identificativo del prodotto, stringa allocata dinamicamente (char *)
  • Descrizione: descrizione del prodotto, stringa allocata dinamicamente (char *)
  • MeseScadenza: mese di scadenza del prodotto, numero intero.
  • Costo: costo unitario espresso in euro (float).

La classe ProdottiFreschi aggiunge alla classe Alimentari la variabile membro:

  • DataConfezione: data di confezione del prodotto, stringa allocata dinamicamente (char *)

Entrambe le classi devono prevedere gli opportuni costruttori, distruttori e devono gestire correttamente l'estensione dinamica attraverso le opportune funzionalità. Devono inoltre fornire le funzioni membro stampa_Dati e memorizza_Dati che consentono rispettivamente di visualizzare e stampare su file di tipo testo i dati relativi all'oggetto.

Le classi prevedono inoltre la funzionalità Offerta, funzione membro che calcola il prezzo di un prodotto in offerta in base al tipo di prodotto alimentare. Per la classe ProdottiFreschi, Offerta è calcolata in base ad uno sconto del 20% sul costo del prodotto se il mese di scadenza è dicembre.

Si realizzi quindi un elenco di ProdottiFreschi, mediante una classe Lista, ricorrendo ad una implementazione linkata (a puntatori). La classe ElencoFreschi fornisce le seguenti funzionalità:

  • Inserimento: in testa, deve avvenire assicurando l'univocità del codice nella lista, nel caso si tenti di inserire un codice già esistente la funzione lancia una eccezione di tipo Duplicato (fornita dallo studente) che porta con sé l'informazione relativa al numero di codice che ha generato l'eccezione.
  • Ricerca di un prodotto per codice.
  • Visualizzazione dell'elenco.
  • Stampa su file dell'elenco.
  • Eliminazione di un codice dato.
  • Empty e full.

Si strutturi il codice secondo le appropriate tecniche di programmazione modulare illustrate durante il corso e nei libri di testo adottati.

Anteprima
Vedrai una selezione di 1 pagina su 1
Programmazione I - Esercizi 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
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher N. A. 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 Vittorini Valeria.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community