184 lines
6.0 KiB
C#
184 lines
6.0 KiB
C#
namespace agenzia_viaggi;
|
|
|
|
class Program {
|
|
static void Main(string[] args) {
|
|
int scelta = 0;
|
|
|
|
do {
|
|
Console.WriteLine("Scegliere un'opzione:");
|
|
Console.WriteLine("1. Demo");
|
|
Console.WriteLine("2. Esecuzione standard");
|
|
Console.Write("Scelta: ");
|
|
try {
|
|
scelta = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
switch (scelta) {
|
|
case 1:
|
|
Demo();
|
|
break;
|
|
case 2:
|
|
Menu();
|
|
break;
|
|
default:
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
break;
|
|
}
|
|
}
|
|
while (scelta != 0);
|
|
}
|
|
|
|
static void Pausa() {
|
|
Console.WriteLine("Premere un tasto per continuare. . .");
|
|
Console.ReadKey();
|
|
}
|
|
|
|
static void Demo() {
|
|
Cliente[] clienti = new Cliente[2];
|
|
Console.Write("Quanti clienti considerare? 2");
|
|
Console.WriteLine("Scegliere un'opzione:");
|
|
Console.WriteLine("1. Inserire i dati dei clienti");
|
|
Console.WriteLine("2. Inserire una prenotazione");
|
|
Console.WriteLine("3. Mostra informazioni cliente");
|
|
Console.WriteLine("4. Cancella prenotazione");
|
|
Console.WriteLine("5. Mostra tutte le prenotazioni");
|
|
Console.WriteLine("0. Esci");
|
|
Console.Write("Scelta: ");
|
|
}
|
|
|
|
static void Menu() {
|
|
int numeroClienti = 0, scelta = 0, input = 0;
|
|
|
|
do {
|
|
Console.Write("Quanti clienti considerare? ");
|
|
try {
|
|
numeroClienti = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Numero non valido");
|
|
Pausa();
|
|
}
|
|
if (numeroClienti <= 0) {
|
|
Console.WriteLine("Errore: non è possibile considerare meno di un cliente.");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (numeroClienti <= 0);
|
|
|
|
Cliente[] clienti = new Cliente[numeroClienti];
|
|
do {
|
|
Console.WriteLine("Scegliere un'opzione:");
|
|
Console.WriteLine("1. Inserire i dati dei clienti");
|
|
Console.WriteLine("2. Inserire una prenotazione");
|
|
Console.WriteLine("3. Mostra informazioni cliente");
|
|
Console.WriteLine("4. Cancella prenotazione");
|
|
Console.WriteLine("5. Mostra tutte le prenotazioni");
|
|
Console.WriteLine("0. Esci");
|
|
Console.Write("Scelta: ");
|
|
try {
|
|
scelta = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
switch (scelta) {
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
do {
|
|
Console.WriteLine("Inserire i dati di quale cliente? ");
|
|
try {
|
|
input = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
if (input <= 0 || input > numeroClienti) {
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (input <= 0 || input > numeroClienti);
|
|
|
|
clienti[input] = CreaCliente();
|
|
|
|
Pausa();
|
|
break;
|
|
case 2:
|
|
Pausa();
|
|
break;
|
|
case 3:
|
|
for (int i = 0; i < numeroClienti; i++) {
|
|
clienti[i].StampaDatiCliente();
|
|
clienti[i].StampaPrenotazioni();
|
|
}
|
|
Pausa();
|
|
break;
|
|
case 4:
|
|
Pausa();
|
|
break;
|
|
case 5:
|
|
Pausa();
|
|
break;
|
|
default:
|
|
Console.WriteLine("Opzione non valida");
|
|
Pausa();
|
|
break;
|
|
}
|
|
}
|
|
while (scelta != 0);
|
|
}
|
|
|
|
static Cliente CreaCliente() {
|
|
string nome, cognome, codiceFiscale;
|
|
int eta = 0, prenotazioni = 0;
|
|
|
|
Console.Write("Inserire il nome: ");
|
|
nome = Console.ReadLine();
|
|
Console.Write("Inserire il cognome: ");
|
|
cognome = Console.ReadLine();
|
|
Console.Write("Codice fiscale: ");
|
|
codiceFiscale = Console.ReadLine();
|
|
|
|
do {
|
|
Console.Write("Inserire l'età: ");
|
|
try {
|
|
eta = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Età non valida");
|
|
Pausa();
|
|
}
|
|
if (eta <= 0) {
|
|
Console.WriteLine("Errore: non è possibile inserire un'età inferiore a 1");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (eta <= 0);
|
|
|
|
do {
|
|
Console.Write("Inserire il numero di prenotazioni: ");
|
|
try {
|
|
prenotazioni = Convert.ToInt32(Console.ReadLine());
|
|
}
|
|
catch (FormatException) {
|
|
Console.WriteLine("Età non valida");
|
|
Pausa();
|
|
}
|
|
if (prenotazioni <= 0) {
|
|
Console.WriteLine("Errore: non è possibile inserire un numero di prenotazioni inferiore a 1");
|
|
Pausa();
|
|
}
|
|
}
|
|
while (prenotazioni <= 0);
|
|
|
|
return new Cliente(nome, cognome, codiceFiscale, Convert.ToString(eta), prenotazioni);
|
|
}
|
|
}
|