Controllo input e gestione eccezioni dell'opzione 2

This commit is contained in:
La Programmatrice Verde 2025-05-07 21:00:58 +02:00
parent ec1388ecb1
commit a880e849e7
10 changed files with 26 additions and 10 deletions

View File

@ -65,9 +65,10 @@ class Cliente {
for (i = 0; i < this.prenotazioni.Length && isPrenotazioneEsistente; i++) {
if (this.prenotazioni[i] == null) {
isPrenotazioneEsistente = false;
i--;
}
}
this.prenotazioni[i] = isPrenotazioneEsistente ? throw new Exception("Errore: sono consentite solo 10 prenotazioni per cliente") : new Prenotazione(p_periodo, p_giorniPrenotati, p_numeroPersone, this.GetCodiceFiscale());
this.prenotazioni[i] = isPrenotazioneEsistente ? throw new Exception("Errore: sono già state inserite tutte le prenotazioni per questo cliente") : new Prenotazione(p_periodo, p_giorniPrenotati, p_numeroPersone, this.GetCodiceFiscale());
}
public void CancellaPrenotazione(string p_UUID) {

View File

@ -156,6 +156,7 @@ class Program {
case 2:
string[] periodi = ["primavera", "estate", "autunno", "inverno"];
int giorniPrenotati = 0, numeroPersone = 0;
do {
Console.WriteLine("Inserire la prenotazione di quale cliente? ");
for (int i = 0; i < clienti.Length; i++) {
@ -178,9 +179,13 @@ class Program {
Console.WriteLine("Opzione non valida");
Pausa();
}
else if (clienti[input - 1] == null) {
Console.WriteLine("I dati di questo cliente non sono ancora stati inseriti.");
Pausa();
}
}
while (eccezione || input <= 0 || input > numeroClienti);
}
while (eccezione || input <= 0 || input > numeroClienti || clienti[input - 1] == null);
scelta = 5;
do {
@ -253,11 +258,21 @@ class Program {
}
while (numeroPersone <= 0);
eccezione = false;
try {
clienti[input - 1].InserisciPrenotazione(periodi[scelta], Convert.ToString(giorniPrenotati), Convert.ToString(numeroPersone));
Console.WriteLine("Prenotazione inserita correttamente.");
}
catch (Exception e) {
Console.WriteLine(e.Message);
eccezione = true;
Pausa();
}
if (!eccezione) {
Console.WriteLine("Prenotazione inserita correttamente.");
Pausa();
}
break;
case 3:
for (int i = 0; i < numeroClienti; i++) {

Binary file not shown.

Binary file not shown.

View File

@ -13,7 +13,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("agenzia_viaggi")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+f9184fea2c9646a9d311a20814a0ffb94d3afd4a")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ec1388ecb1b5b5cfc1973c4e5e8873d52feea5eb")]
[assembly: System.Reflection.AssemblyProductAttribute("agenzia_viaggi")]
[assembly: System.Reflection.AssemblyTitleAttribute("agenzia_viaggi")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

View File

@ -1 +1 @@
1bc455adbb990f51be8b7d12aa7c0f4dcc419f5750faa87eb217db2284f5c44c
b0ce948d3f63d6c8af0fbb7ea9973b300f4bf335f64417c3bc8aa5381b7d3088

Binary file not shown.

Binary file not shown.