diff --git a/Program.cs b/Program.cs index a68fa37..37ef7f1 100644 --- a/Program.cs +++ b/Program.cs @@ -4,22 +4,17 @@ class Program { static void Main(string[] args) { Console.Clear(); const int MAX_LIBRI = 10; - int scelta, input; + int scelta, j; Libro[] biblioteca = new Libro[MAX_LIBRI]; - bool oggettoEsistente; - (double, bool) ritornoRiempimento; - Dispenser elementoRiempimento; - - Console.Write("Quanti dispenser considerare? "); - input = Convert.ToInt32(Console.ReadLine()); - dispensers = new Dispenser[input]; + bool oggettoEsistente, nomeEsistente, casaEditriceEsistente; + string casaEditrice, nome; do { Console.WriteLine("Inserire un'opzione:"); Console.WriteLine("1. Crea biblioteca"); Console.WriteLine("2. Mostra biblioteca"); Console.WriteLine("3. Mostra libro"); - Console.WriteLine("4. Applca sconto"); + Console.WriteLine("4. Applica sconto"); Console.WriteLine("0. Esci"); Console.Write("Scelta: "); scelta = Convert.ToInt32(Console.ReadLine()); @@ -79,17 +74,50 @@ class Program { Pausa(); break; case 4: - quantitàRimasta = SelezionaDispenser(dispensers).Erogazione(); - if (quantitàRimasta == 0) { - Console.WriteLine("Il dispenser è vuoto."); + oggettoEsistente = true; + for (int i = 0; i < biblioteca.Length && oggettoEsistente; i++) { + if (biblioteca[i] == null) { + oggettoEsistente = false; + } + } + if (!oggettoEsistente) { + Console.WriteLine("Errore: è necessario creare la biblioteca prima di applicare lo sconto ad un libro."); } else { - Console.WriteLine($"Quantità rimasta: {quantitàRimasta}"); + Console.WriteLine("Scegliere un nome:"); + for (int i = 0; i < biblioteca.Length; i++) { + biblioteca[i].GetNome(); + Console.WriteLine(); + } + Console.Write("Nome: "); + nome = Console.ReadLine(); + + Console.WriteLine("Scegliere una casa editrice:"); + for (int i = 0; i < biblioteca.Length; i++) { + biblioteca[i].GetCasaEditrice(); + Console.WriteLine(); + } + Console.Write("Casa editrice: "); + casaEditrice = Console.ReadLine(); + + nomeEsistente = false; + casaEditriceEsistente = false; + + for (j = 0; j < biblioteca.Length && !nomeEsistente && !casaEditriceEsistente; j++) { + nomeEsistente = biblioteca[j].GetNome() == nome; + casaEditriceEsistente = biblioteca[j].GetCasaEditrice() == casaEditrice; + } + if (!nomeEsistente || !casaEditriceEsistente) { + Console.WriteLine($"Nessun libro di nome {nome} di casa editrice {casaEditrice} esistente."); + } + else { + biblioteca[j].ApplicaSconto(); + } + } - Console.WriteLine("Erogazione effettuata"); - Console.WriteLine(); Pausa(); break; + default: Console.WriteLine("Opzione non valida."); Pausa(); @@ -98,6 +126,7 @@ class Program { } while (scelta != 0); + } static void Pausa() {