vuoi
o PayPal
tutte le volte che vuoi
Nell’applicazione, ogni utente e’ caratterizzato da attributi:
- Nome
- ID (può essere un INT o un String Code)
- collezione di libri (ogni utente ha la sua collezione di libri)
il prestito, come anche la condivisione, ovviamente non implicano la rimozione dall’archivio
del possessore
Non si richiede implementazione delle operazioni il codice utente che si occupa di:
- richiesta di condivisione libro
- ricezione di un libro in prestito/o condivisione
3. MAIN
- istanziare due utenti (A e B), ognuno di essi con una collezione di libri a dimensione
arbitraria
- Collezione dell’utente A contiene almeno 3 libri, di cui almeno uno prestabile e uno
condivisibile
- Utente A deve cercare dentro la propria collezione un libro per titolo e prestarlo
all’utente B. Il successo dell’operazione produce un aggiornamento nello stato del
libro prestato. Questo stato deve essere stampato a video
- Nel caso in cui il libro non e’ stato trovato, sollevare un eccezione che deve essere
catturata
- Utente A vuole leggere un libro. Ci chiediamo se B possiede il libro e può prestarlo o
condividerlo con A
- Utente B deve cercare dentro la propria collezione un libro per titolo e renderlo
condiviso
- se non trovato sollevare un eccezione
Un ristorante offre ai suoi clienti un menu che comprende
primi piatti, secondi piatti, pizze.
Ogni pietanza è caratterizzata da un nome, un set di
ingredienti, un prezzo.
Ogni ingrediente ha una descrizione ed una tipologia di
appartenenza che ne indica l'origine (vegetale, animale).
Per i primi piatti si desidera memorizzare anche la quantità di
carboidrati, proteine e grassi.
Per i secondi piatti occorre memorizzare proteine e grassi.
Per le pizze occorre anche indicare la tipologia di farina
utilizzata, ed un set di eventuali supplementi (aggiuntiva
rispetto agli ingredienti).
Il supplemento è definito come l'ingrediente ma in piu' ha
anche il proprio prezzo.
Definire le opportune classi,
Prevedere per ciascuna il metodo tostring() per tutte le
informazioni di ogni prodotto.
Per i primi piatti e i secondi piatti occorre un metodo che
indichi l'apporto calorico principale, tenendo presente che
calorie=4*carboidrati
calorie=4*proteine
calorie=9*grassi
Per ogni possibile pietanza occorre poterne calcolare il costo
(NB:PER LA PIZZA DEVE SOMMARE ANCHE I COSTI DEI
SUPPLEMENTI)
E' definita poi l'interfaccia "vegano", che prevede un metodo
"controllaSeVegano" che verifica se una pietanza lo è o meno.
Prevedere l'implementazione di tale interfaccia per primi piatti
e pizze
Abbonati di un teatro
Si definisca un insieme di interfacce e classi per rappresentare la gestione degli abbonamenti per
una rassegna teatrale
Ogni abbonato è un utente caratterizzato dai seguenti dati: nome e cognome, età, e-mail (chiave
utente) .
Sono previsti, i seguenti tipi di abbonati:
anziani (età≥70)
● studenti universitari
● utente normale,
●
Per ciascun abbonato
occorre implementare tutti e soli i setter e getter che si ritengono necessari
● occorre lanciare delle eccezioni in caso di inserimento di valori errati
●
Un abbonamento ha un prezzo base pari a BASE € e un codice abbonamento univoco (a scelta dello
studente tipo e meccanismo di incremento). Alcuni tipi di utente hanno diritto ad una detrazione sul
prezzo totale dell’abbonamento.
Agli studenti universitari si applica una detrazione del 40% del costo dell’abbonamento
● Agli anziani va applicata una detrazione del 50% del costo dell’abbonamento
● Utenti normali non implementano alcuna funzione di detrazione
●
Gli utenti normali possono richiedere un posto numerato pagando il 10% in più rispetto al prezzo
BASE. Per semplicità non è richiesta l’implementazione del meccanismo di numerazione dei posti.
Quindi, gli utenti normali saranno caratterizzati da un booleano che sarà settato a True se hanno
richiesto un posto numerato, False altrimenti.
Il teatro ha una capacità di posti limitata, per cui si prevede di assegnare un certo numero
MAX_POSTI di abbonamenti; Il numero massimo di posti in sala per abbonamenti agli studenti
MAX_UNIV ≤ 10% MAX_POSTI.
universitari è
Per l’operazione di abbonamento al Teatro va specificato:
● utente
● se vuole un posto numerato
Va restituito il costo dell’abbonamento. Se all’atto dell’abbonamento il posto non c’è va o non può
essere accettato con tali specifiche, va sollevata una eccezione