namespace dispenser_sapone; class Program { static void Main(string[] args) { Console.Clear(); //valori dispenser const string TIPOLOGIA1 = "Standard"; const string TIPOLOGIA2 = "Custom"; //valori standard const double CAPIENZA = 500; const double EROGAZIONE = 10; double quantitàErogata, quantitàContenuta, capienza; int scelta, input, i = 0; Dispenser[] dispensers = null; Console.Write("Quanti dispenser considerare? "); input = Convert.ToInt32(Console.ReadLine()); dispensers = new Dispenser[input]; do { Console.WriteLine("Inserire un'opzione:"); Console.WriteLine("1. Crea dispenser standard"); Console.WriteLine("2. Crea dispenser custom"); Console.WriteLine("3. Mostra dispenser"); Console.WriteLine("4. Erogazione"); Console.WriteLine("5. Riempimento"); Console.WriteLine("0. Esci"); Console.Write("Scelta: "); scelta = Convert.ToInt32(Console.ReadLine()); switch (scelta) { case 0: break; case 1: Console.Clear(); if (i > dispensers.Length - 1) { Console.WriteLine($"Errore: non si possono creare più di {dispensers.Length} dispensers."); } else { dispensers[i] = new Dispenser(TIPOLOGIA1, EROGAZIONE, CAPIENZA, CAPIENZA); i++; Console.WriteLine("Dispenser standard creato."); } Pausa(); break; case 2: Console.Clear(); if (i > dispensers.Length - 1) { Console.WriteLine($"Errore: non si possono creare più di {dispensers.Length} dispensers."); } else { do { Console.Write("Inserire la capienza del dispenser: "); capienza = Convert.ToDouble(Console.ReadLine()); if (capienza <= 0) { Console.WriteLine("Errore: la capienza del dispenser non può essere minore o uguale a zero."); } } while (capienza <= 0); do { Console.Write("Inserire la quantità erogata dal dispenser: "); quantitàErogata = Convert.ToDouble(Console.ReadLine()); if (quantitàErogata <= 0) { Console.WriteLine("Errore: la quantità erogata dal dispenser non può essere minore o uguale a zero."); } } while (quantitàErogata <= 0); do { Console.Write("Inserire la quantità contenuta dal dispenser: "); quantitàContenuta = Convert.ToDouble(Console.ReadLine()); if (quantitàContenuta <= 0) { Console.WriteLine("Errore: la quantità contenuta dal dispenser non può essere minore o uguale a zero."); } } while (quantitàContenuta <= 0); dispensers[i] = new Dispenser(TIPOLOGIA2, quantitàErogata, quantitàContenuta, capienza); i++; } Pausa(); break; case 3: Console.Clear(); for (int j = 0; j < dispensers.Length; j++) { Console.WriteLine($"Dispenser {j + 1}:"); dispensers[j].StampaDispenser(); Console.WriteLine(); } Pausa(); break; } } while (scelta != 0); } static void Pausa() { Console.WriteLine("Premere un tasto per continuare. . ."); Console.ReadKey(); Console.Clear(); } }