Creazione e stampa clienti

This commit is contained in:
La Programmatrice Verde 2025-05-07 11:06:14 +02:00
parent e1c52f9376
commit d919525692
2 changed files with 182 additions and 7 deletions

View File

@ -9,11 +9,11 @@ class Cliente {
string eta;
Prenotazione[] prenotazioni;
public Cliente(string p_nome, string p_cognome, string p_codiceFiscale, string p_eta, Prenotazione[] p_prenotazioni) {
public Cliente(string p_nome, string p_cognome, string p_codiceFiscale, string p_eta, int p_prenotazioni) {
this.nome = p_nome;
this.cognome = p_cognome;
this.eta = p_eta;
this.prenotazioni = p_prenotazioni;
this.prenotazioni = new Prenotazione[p_prenotazioni];
this.codiceFiscale = CheckCodiceFiscale(p_codiceFiscale) ? p_codiceFiscale : throw new Exception("Codice fiscale non valido");
}
@ -102,6 +102,7 @@ class Cliente {
Console.WriteLine($"Cognome: {this.GetCognome()}");
Console.WriteLine($"Età: {this.GetEta()}");
Console.WriteLine($"Codice fiscale: {this.GetCodiceFiscale()}");
Console.WriteLine($"Numero prenotazioni: {this.prenotazioni.Length}");
}
public void StampaPrenotazioni() {

View File

@ -1,9 +1,183 @@
namespace agenzia_viaggi;
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
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);
}
}