Salve a tutti
ringrazio anticipatamente chi vorrà/riuscirà a darmi una mano.
so che è piuttosto lungo, ma mi sarebbe davvero d'aiuto ricevere qualche risposta
Frequento l'università mediterranea, e sto scrivendo il mio primo programma, si parla quindi di programmazione base. si gestiscono solamente le cose più semplici di java per questo esame, però non ci è stato dato molto tempo per prepararlo.
Comunque, ho un grosso problema concettuale (e vorrei chiedervi se è stata scritta male la traccia, o se sono io che non capisco)
ma ecco la traccia:
Si vuole realizzare un sistema informativo per gestire un?agenzia di viaggi. In particolare, il sistema deve consentire di memorizzare i clienti dell?agenzia. Per ciascun cliente occorre memorizzare il nome, il cognome e la data di nascita. Un cliente può prenotare uno o più soggiorni in hotel. Per ciascun hotel occorre memorizzare il nome, la località e il numero di stelle. Ogni hotel fornisce dei servizi. Di ogni servizio occorre memorizzare il nome ed il costo. Un cliente può acquistare uno o più biglietti ferroviari. Per ciascun biglietto occorre registrare la data di emissione, il costo ed i giorni validità. Un cliente può infine comprare un biglietto aereo. Per ciascun biglietto aereo bisogna registrare la data di emissione, il costo e la compagnia aerea.
Con riferimento allo scenario sopra descritto, si chiede di risolvere i seguenti punti: Modellare in Java lo scenario sopra descritto. Dotare ciascuna delle classi individuate in fase di analisi di un costruttore. Dotare ciascuna delle classi dei metodi di accesso giudicati opportuni.
****Scrivere una funzione che, dato un cliente C e una località L, restituisca il numero di soggiorni effettuati da C in un albergo sito nella località L. ****
Scrivere una funzione che, dato un cliente C, restituisca la spesa storica di C in biglietti ferroviari, ovvero la somma che C ha globalmente speso per comprare biglietti ferroviari.
Scrivere una funzione che riceve in ingresso un intero x e un cliente C e restituisce true se C ha soggiornato solo in hotel aventi un numero di stelle superiore a x.
Scrivere una funzione che, dato un cliente, restituisca il biglietto ferroviario più costoso da lui acquistato.
Scrivere una funzione che, dato un cliente, restituisca true se è maggiorenne.
Scrivere una funzione che, dato un biglietto ferroviario, restituisca true se è valido alla data attuale.
Scrivere una funzione che, dato un cliente, restituisca la compagnia aerea dell'ultimo biglietto aereo acquistato.
Scrivere una funzione che, dato un hotel, restituisca il servizio più costoso.
Scrivere una funzione che, dato un cliente, restituisca il servizio più costoso di ogni albergo in cui ha soggiornato.
Scrivere una funzione che, dato un cliente, restituisca true se ha sempre viaggiato con la compagnia ?Alitalia?.
Si suggerisce di utilizzare i seguenti metodi della classe Calendar:
Calendar set(int anno, int mese, int giorno)
void getInstance()
booleanafter (Object altraData)
ora, il mio problema è strettamente collegato alla seconda delle richieste, cioè quella in grassetto.
Ho già implementato il codice necessario per soddisfare dalla tre alla otto, però una volta che mi sono deciso a tornare sul punto due ho avuto grossi problemi, spero di essere il più chiaro possibile.
Ho pensato che, visto che la località deve essere specificata dall'utente che usa il programma, io debba creare un nuovo campo, cioè Luogo.
Creo un ArrayList con tutti gli hotel
Confronto il Luogo con la Località presente in ognuno degli Hotel.
-se il luogo è uguale alla località, sposto quell'hotel in un nuovo vettore, che memorizza dunque solamente gli hotel che si trovano nel Luogo indicato dall'utente.
a questo punto mi sono un po' smarrito, vi spiego quali sono i motivi.
Il primo è: a questo punto dovrei dare all'utente la possibilità di scegliere un cliente, per poi da quello risalire alle visite che ha effettuato in ogni singolo hotel.
però mi sono accorto che l'ingegnere che ci ha fatto un programma simile come esempio, ogni qualvolta implementava il codice per una delle altre funzioni (tipo: inserito un cliente c verificare se è maggiorenne) non ha mai messo un campo cliente.
Ora mi stavo chiedendo se lo avesse fatto apposta, per capire chi faceva copia pedissequa del programma, oppure se è un campo che non va messo.
Nel caso non vada messo, io, per far specificare all'utente di quale CLIENTE vuole il resoconto dei soggiorni come faccio?
e ancora una cosa, molto più importante.
Io, leggendo la traccia, non ho trovatto assolutamente nulla che mi chieda di creare un codice per registrare il soggiorno del CLIENTE nell'HOTEL.
Quindi, supponendo che i passaggi che ho scritto prima siano giusti, come faccio a contare dei soggiorni che non ho "registrato" da nessuna parte???
ringrazio nuovamente tutti