GestionePrenotazioni.java
Created with JBuilder |
class GestionePrenotazioni {
// Atrributi
private Prenotazione[] elencoPrenotazioni;
private int numeroPrenotazioni;
// Costruttore
public GestionePrenotazioni(int numeroMaxPrenotazioni) {
elencoPrenotazioni = new Prenotazione[numeroMaxPrenotazioni];
numeroPrenotazioni = 0;
}
// Aggiunta di una prenotazione
public boolean Aggiungi(Prenotazione p) {
if (numeroPrenotazioni < elencoPrenotazioni.length) {
elencoPrenotazioni[numeroPrenotazioni] = p;
++numeroPrenotazioni;
return true;
} else {
return false;
}
}
// Cancellazione di una prenotazione (ricerca per cognome primo posto)
public boolean Cancella(String cognome) {
for( int i = 0; i < numeroPrenotazioni; ++i) {
if (elencoPrenotazioni[i].restituisciNumeroPostiPrenotati() > 0) {
Posto[] elencoPosti = elencoPrenotazioni[i].restituisciPosti();
if (cognome.equals(elencoPosti[0].restituisciCognome())) {
elencoPrenotazioni[i] = elencoPrenotazioni[numeroPrenotazioni - 1];
--numeroPrenotazioni;
return true;
}
}
}
return false;
}
// Ricerca di tutte le prenotazioni dato il volo
public GestionePrenotazioni CercaPrenotazioniPerVolo(String volo) {
GestionePrenotazioni prenotazioniPerVolo =
new GestionePrenotazioni(numeroPrenotazioni);
for( int i = 0; i < numeroPrenotazioni; ++i) {
String voloTrovato = elencoPrenotazioni[i].restituisciCodiceVolo();
if (voloTrovato.equals(volo)) {
prenotazioniPerVolo.Aggiungi(elencoPrenotazioni[i]);
}
}
return prenotazioniPerVolo;
}
// Ricerca di tutte le prenotazioni data la destinazione
public GestionePrenotazioni CercaPrenotazioniPerDestinazione(String dest) {
GestionePrenotazioni prenotazioniPerDestinazione =
new GestionePrenotazioni(numeroPrenotazioni);
for( int i = 0; i < numeroPrenotazioni; ++i) {
String destTrovata = elencoPrenotazioni[i].restituisciDestinazione();
if (destTrovata.equals(dest)) {
prenotazioniPerDestinazione.Aggiungi(elencoPrenotazioni[i]);
}
}
return prenotazioniPerDestinazione;
}
// Totale dei posti prenotati
public int calcolaTotalePostiPrenotati( ) {
int totale = 0;
for( int i = 0; i < numeroPrenotazioni; ++i) {
totale += elencoPrenotazioni[i].restituisciNumeroPostiPrenotati();
}
return totale;
}
// Media dei posti prenotati
public int calcolaMediaPostiPrenotati() {
int media = 0;
int totalePosti = calcolaTotalePostiPrenotati();
if (totalePosti > 0) {
media = totalePosti / numeroPrenotazioni;
}
return media;
}
// Totale dei pasti per tipologia
public int calcolaTotalePastiPerTipo(int tipo) {
int totale = 0;
for( int i = 0; i < numeroPrenotazioni; ++i) {
totale += elencoPrenotazioni[i].numeroPastiPerTipo(tipo);
}
return totale;
}
}
GestionePrenotazioni.java
Created with JBuilder |