Gestione doppioni prenotazioni

This commit is contained in:
La Programmatrice Verde 2025-05-08 16:47:42 +02:00
parent 9eac5a5ec4
commit e9a2bb088e
9 changed files with 133 additions and 386 deletions

View File

@ -51,339 +51,6 @@ class Program {
}
static void Demo() {
//Unit tests:
/*
Quanti clienti considerare? 2
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 1
Inserire i dati di quale cliente?
1
2
Scelta: 1
Inserire il nome: Verde
Inserire il cognome: Bassanetti
Inserire il codice fiscale: BSSVRD12345
Inserire l'età: 17
Inserire il numero di prenotazioni: 2Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 2
Inserire la prenotazione di quale cliente?
1
2
Scelta: 1
Quale periodo dell'anno scegliere?
1. Primavera
2. Estate
3. Autunno
4. Inverno
Scelta: 1
Per quanti giorni prenotare? 2
Per quante persone prenotare? 1
Prenotazione inserita correttamente.
Premere un tasto per continuare. . .
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 2
Inserire la prenotazione di quale cliente?
1
2
Scelta: 1
Quale periodo dell'anno scegliere?
1. Primavera
2. Estate
3. Autunno
4. Inverno
Scelta: 2
Per quanti giorni prenotare? 3
Per quante persone prenotare? 2
Prenotazione inserita correttamente.
Premere un tasto per continuare. . .
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 1
Inserire i dati di quale cliente?
1
2
Scelta: 2
Inserire il nome: Clarciccia
Inserire il cognome: Bassanetti
Inserire il codice fiscale: BSSCRC67890
Inserire l'età: 3
Inserire il numero di prenotazioni: 2Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 2
Inserire la prenotazione di quale cliente?
1
2
Scelta: 2
Quale periodo dell'anno scegliere?
1. Primavera
2. Estate
3. Autunno
4. Inverno
Scelta: 3
Per quanti giorni prenotare? 4
Per quante persone prenotare? 3
Prenotazione inserita correttamente.
Premere un tasto per continuare. . .
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 2
Inserire la prenotazione di quale cliente?
1
2
Scelta: 2
Quale periodo dell'anno scegliere?
1. Primavera
2. Estate
3. Autunno
4. Inverno
Scelta: 4
Per quanti giorni prenotare? 5
Per quante persone prenotare? 4
Prenotazione inserita correttamente.
Premere un tasto per continuare. . .
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 3
Nome: Verde
Cognome: Bassanetti
Età: 17
Codice fiscale: BSSVRD12345
Numero prenotazioni: 2
Prenotazione n. 1:
Codice univoco: W7VP4H3DYCSQRCB8
Periodo dell'anno: primavera
Giorni prenotati: 2
Costo: 1534
Numero persone: 1
Codice fiscale a cui è intestata la prenotazione: BSSVRD12345
Prenotazione n. 2:
Codice univoco: LIE3BRME9MEHP7LA
Periodo dell'anno: estate
Giorni prenotati: 3
Costo: 3873
Numero persone: 2
Codice fiscale a cui è intestata la prenotazione: BSSVRD12345
Nome: Clarciccia
Cognome: Bassanetti
Età: 3
Codice fiscale: BSSCRC67890
Numero prenotazioni: 2
Prenotazione n. 1:
Codice univoco: LQXJHLIPB0CFML7V
Periodo dell'anno: autunno
Giorni prenotati: 4
Costo: 946
Numero persone: 3
Codice fiscale a cui è intestata la prenotazione: BSSCRC67890
Prenotazione n. 2:
Codice univoco: T5V16ROJWG2F2XA2
Periodo dell'anno: inverno
Giorni prenotati: 5
Costo: 1880
Numero persone: 4
Codice fiscale a cui è intestata la prenotazione: BSSCRC67890
Premere un tasto per continuare. . .
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 4
Cancellare la prenotazione di quale cliente?
1
2
Scelta: 1
Scegliere una prenotazione:
1. W7VP4H3DYCSQRCB8
2. LIE3BRME9MEHP7LA
Scelta: 2
Prenotazione cancellata con successo.
Premere un tasto per continuare. . .
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 6
Aggiungere una prenotazione a quale cliente?
1
2
Scelta: 2
Prenotazione aggiunta con successo
Premere un tasto per continuare. . .
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 2
Inserire la prenotazione di quale cliente?
1
2
Scelta: 2
Quale periodo dell'anno scegliere?
1. Primavera
2. Estate
3. Autunno
4. Inverno
Scelta: 4
Per quanti giorni prenotare? 3
Per quante persone prenotare? 4
Prenotazione inserita correttamente.
Premere un tasto per continuare. . .
Scegliere un'opzione:
1. Inserire i dati dei clienti
2. Inserire una prenotazione
3. Mostra informazioni cliente
4. Cancella prenotazione
5. Mostra tutte le prenotazioni
6. Aggiungi prenotazione
0. Esci
Scelta: 3
Nome: Verde
Cognome: Bassanetti
Età: 17
Codice fiscale: BSSVRD12345
Numero prenotazioni: 2
Prenotazione n. 1:
Codice univoco: W7VP4H3DYCSQRCB8
Periodo dell'anno: primavera
Giorni prenotati: 2
Costo: 1534
Numero persone: 1
Codice fiscale a cui è intestata la prenotazione: BSSVRD12345
Nome: Clarciccia
Cognome: Bassanetti
Età: 3
Codice fiscale: BSSCRC67890
Numero prenotazioni: 3
Prenotazione n. 1:
Codice univoco: LQXJHLIPB0CFML7V
Periodo dell'anno: autunno
Giorni prenotati: 4
Costo: 946
Numero persone: 3
Codice fiscale a cui è intestata la prenotazione: BSSCRC67890
Prenotazione n. 2:
Codice univoco: T5V16ROJWG2F2XA2
Periodo dell'anno: inverno
Giorni prenotati: 5
Costo: 1880
Numero persone: 4
Codice fiscale a cui è intestata la prenotazione: BSSCRC67890
Prenotazione n. 3:
Codice univoco: WSE2B1H2KJ81ZB4D
Periodo dell'anno: inverno
Giorni prenotati: 3
Costo: 5058
Numero persone: 4
Codice fiscale a cui è intestata la prenotazione: BSSCRC67890
Premere un tasto per continuare. . .
Cliente n. 1
Prenotazione n. 1:
Codice univoco: W7VP4H3DYCSQRCB8
Periodo dell'anno: primavera
Giorni prenotati: 2
Costo: 1534
Numero persone: 1
Codice fiscale a cui è intestata la prenotazione: BSSVRD12345
Cliente n. 2
Prenotazione n. 1:
Codice univoco: LQXJHLIPB0CFML7V
Periodo dell'anno: autunno
Giorni prenotati: 4
Costo: 946
Numero persone: 3
Codice fiscale a cui è intestata la prenotazione: BSSCRC67890
Prenotazione n. 2:
Codice univoco: T5V16ROJWG2F2XA2
Periodo dell'anno: inverno
Giorni prenotati: 5
Costo: 1880
Numero persone: 4
Codice fiscale a cui è intestata la prenotazione: BSSCRC67890
Prenotazione n. 3:
Codice univoco: WSE2B1H2KJ81ZB4D
Periodo dell'anno: inverno
Giorni prenotati: 3
Costo: 5058
Numero persone: 4
Codice fiscale a cui è intestata la prenotazione: BSSCRC67890
Premere un tasto per continuare. . .
*/
Cliente[] clienti = new Cliente[2];
string nome, cognome, codiceFiscale;
int eta = 0;
@ -465,6 +132,7 @@ class Program {
{
string[] periodi = ["primavera", "estate", "autunno", "inverno"];
int giorniPrenotati = 0, numeroPersone = 0, scelta;
bool exit = false;
Console.WriteLine("Scegliere un'opzione:");
Console.WriteLine("1. Inserire i dati dei clienti");
@ -551,6 +219,16 @@ class Program {
}
while (numeroPersone <= 0);
for (int i = 0; i < clienti[0].GetPrenotazioni().Length && !exit; i++) {
if (clienti[0].GetPrenotazioni()[i] != null) {
exit = clienti[0].GetPrenotazioni()[i].GetPeriodo() == periodi[scelta - 1] ||
clienti[0].GetPrenotazioni()[i].GetGiorniPrenotati() == Convert.ToString(giorniPrenotati) ||
clienti[0].GetPrenotazioni()[i].GetNumeroPersone() == Convert.ToString(numeroPersone);
}
}
if (!exit) {
eccezione = false;
try {
@ -565,10 +243,16 @@ class Program {
}
Pausa();
}
else {
Console.WriteLine("Prenotazione già esistente.");
Pausa();
}
}
//inserimento prenotazione 2 cliente1
{
string[] periodi = ["primavera", "estate", "autunno", "inverno"];
int giorniPrenotati = 0, numeroPersone = 0, scelta;
bool exit = false;
Console.WriteLine("Scegliere un'opzione:");
Console.WriteLine("1. Inserire i dati dei clienti");
@ -655,6 +339,16 @@ class Program {
}
while (numeroPersone <= 0);
for (int i = 0; i < clienti[0].GetPrenotazioni().Length && !exit; i++) {
if (clienti[0].GetPrenotazioni()[i] != null) {
exit = clienti[0].GetPrenotazioni()[i].GetPeriodo() == periodi[scelta - 1] ||
clienti[0].GetPrenotazioni()[i].GetGiorniPrenotati() == Convert.ToString(giorniPrenotati) ||
clienti[0].GetPrenotazioni()[i].GetNumeroPersone() == Convert.ToString(numeroPersone);
}
}
if (!exit) {
eccezione = false;
try {
@ -669,6 +363,11 @@ class Program {
}
Pausa();
}
else {
Console.WriteLine("Prenotazione già esistente.");
Pausa();
}
}
//inserimento cliente2
{
Console.WriteLine("Scegliere un'opzione:");
@ -744,6 +443,7 @@ class Program {
{
string[] periodi = ["primavera", "estate", "autunno", "inverno"];
int giorniPrenotati = 0, numeroPersone = 0, scelta;
bool exit = false;
Console.WriteLine("Scegliere un'opzione:");
Console.WriteLine("1. Inserire i dati dei clienti");
@ -830,6 +530,16 @@ class Program {
}
while (numeroPersone <= 0);
for (int i = 0; i < clienti[1].GetPrenotazioni().Length && !exit; i++) {
if (clienti[1].GetPrenotazioni()[i] != null) {
exit = clienti[1].GetPrenotazioni()[i].GetPeriodo() == periodi[scelta - 1] ||
clienti[1].GetPrenotazioni()[i].GetGiorniPrenotati() == Convert.ToString(giorniPrenotati) ||
clienti[1].GetPrenotazioni()[i].GetNumeroPersone() == Convert.ToString(numeroPersone);
}
}
if (!exit) {
eccezione = false;
try {
@ -844,10 +554,16 @@ class Program {
}
Pausa();
}
else {
Console.WriteLine("Prenotazione già esistente.");
Pausa();
}
}
//inserimento prenotazione 2 cliente2
{
string[] periodi = ["primavera", "estate", "autunno", "inverno"];
int giorniPrenotati = 0, numeroPersone = 0, scelta;
bool exit = false;
Console.WriteLine("Scegliere un'opzione:");
Console.WriteLine("1. Inserire i dati dei clienti");
@ -934,6 +650,16 @@ class Program {
}
while (numeroPersone <= 0);
for (int i = 0; i < clienti[1].GetPrenotazioni().Length && !exit; i++) {
if (clienti[1].GetPrenotazioni()[i] != null) {
exit = clienti[1].GetPrenotazioni()[i].GetPeriodo() == periodi[scelta - 1] ||
clienti[1].GetPrenotazioni()[i].GetGiorniPrenotati() == Convert.ToString(giorniPrenotati) ||
clienti[1].GetPrenotazioni()[i].GetNumeroPersone() == Convert.ToString(numeroPersone);
}
}
if (!exit) {
eccezione = false;
try {
@ -948,6 +674,11 @@ class Program {
}
Pausa();
}
else {
Console.WriteLine("Prenotazione già esistente.");
Pausa();
}
}
//stampa di tutti i clienti e tutte le prenotazioni
{
Console.WriteLine("Scegliere un'opzione:");
@ -1272,6 +1003,7 @@ class Program {
case 2:
string[] periodi = ["primavera", "estate", "autunno", "inverno"];
int giorniPrenotati = 0, numeroPersone = 0;
bool exit = false;
do {
Console.WriteLine("Inserire la prenotazione di quale cliente? ");
@ -1374,6 +1106,16 @@ class Program {
}
while (numeroPersone <= 0);
for (int i = 0; i < clienti[input - 1].GetPrenotazioni().Length && !exit; i++) {
if (clienti[input - 1].GetPrenotazioni()[i] != null) {
exit = clienti[input - 1].GetPrenotazioni()[i].GetPeriodo() == periodi[scelta - 1] ||
clienti[input - 1].GetPrenotazioni()[i].GetGiorniPrenotati() == Convert.ToString(giorniPrenotati) ||
clienti[input - 1].GetPrenotazioni()[i].GetNumeroPersone() == Convert.ToString(numeroPersone);
}
}
if (!exit) {
eccezione = false;
try {
@ -1387,6 +1129,11 @@ class Program {
Console.WriteLine("Prenotazione inserita correttamente.");
}
Pausa();
}
else {
Console.WriteLine("Prenotazione già esistente.");
Pausa();
}
break;
case 3:

Binary file not shown.

Binary file not shown.

View File

@ -13,10 +13,10 @@ 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+d78b3c74cce949654f006f3b1870bdcad2e4dc0a")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9eac5a5ec45cf7e6cb0f9452f425a08d185e86e1")]
[assembly: System.Reflection.AssemblyProductAttribute("agenzia_viaggi")]
[assembly: System.Reflection.AssemblyTitleAttribute("agenzia_viaggi")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// Generato dalla classe WriteCodeFragment di MSBuild.
// Generated by the MSBuild WriteCodeFragment class.

View File

@ -1 +1 @@
a4716dc6adf8bf596c298cd537a77cb2e9d160b0120bcf4da3eca3db58ce525f
3c7d8fec6052be50a3529960f37448ffce5cb2d4ff973de00c355bb1dfcee246

Binary file not shown.

Binary file not shown.