Creazione e stampa clienti
This commit is contained in:
parent
e1c52f9376
commit
d919525692
@ -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() {
|
||||
|
||||
184
Program.cs
184
Program.cs
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user