From 6d125ffc5adcffa11baaf0c3ccc7dd0de8480d7f Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Fri, 18 Apr 2025 13:11:03 +0200 Subject: [PATCH] CreaBiblioteca --- Program.cs | 67 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 59 insertions(+), 8 deletions(-) diff --git a/Program.cs b/Program.cs index 5bfe321..18056f4 100644 --- a/Program.cs +++ b/Program.cs @@ -5,7 +5,7 @@ class Program { Console.Clear(); const int MAX_LIBRI = 10; int scelta, input, i = 0; - Libro[] biblioteca= new Libro[MAX_LIBRI]; + Libro[] biblioteca = new Libro[MAX_LIBRI]; bool oggettoEsistente; (double, bool) ritornoRiempimento; Dispenser elementoRiempimento; @@ -28,15 +28,13 @@ class Program { case 0: break; case 1: - Console.Clear(); dispensers[i] = new Dispenser(); 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."); } @@ -74,7 +72,6 @@ class Program { break; case 3: - Console.Clear(); oggettoEsistente = true; for (int j = 0; j < dispensers.Length && oggettoEsistente; j++) { if (dispensers[j] == null) { @@ -95,7 +92,6 @@ class Program { break; case 4: - Console.Clear(); quantitàRimasta = SelezionaDispenser(dispensers).Erogazione(); if (quantitàRimasta == 0) { Console.WriteLine("Il dispenser è vuoto."); @@ -116,10 +112,65 @@ class Program { } while (scelta != 0); } - + static void Pausa() { Console.WriteLine("Premere un tasto per continuare. . ."); Console.ReadKey(); - Console.Clear(); + } + + static void CreaBiblioteca(Libro[] p_biblioteca) { + string nome; + double prezzo; + int numeroScaffale; + int numeroPagine; + string casaEditrice; + + for (int i = 0; i < p_biblioteca.Length; i++) { + Console.Write("Inserire il titolo del libro: "); + nome = Console.ReadLine(); + + do { + Console.Write("Inserire il prezzo del libro:"); + prezzo = Convert.ToDouble(Console.ReadLine()); + if (prezzo <= 0) { + Console.WriteLine("Errore: il prezzo non può essere minore o uguale a zero."); + Pausa(); + } + } + while (prezzo <= 0); + + do { + Console.Write("Inserire il numero di pagine del libro:"); + numeroPagine = Convert.ToInt32(Console.ReadLine()); + if (numeroPagine <= 0) { + Console.WriteLine("Errore: il numero di pagine non può essere minore o uguale a zero."); + Pausa(); + } + } + while (numeroPagine <= 0); + + Console.Write("Inserire la casa editrice: "); + casaEditrice = Console.ReadLine(); + + do { + Console.WriteLine("Scegliere il numero di scaffale:"); + for (int j = 0; j < p_biblioteca.Length; j++) { + Console.WriteLine($"{j}"); + } + Console.Write("Scelta: "); + numeroScaffale = Convert.ToInt32(Console.ReadLine()); + if (numeroScaffale < 0 || numeroScaffale > p_biblioteca.Length) { + Console.WriteLine("Numero di scaffale non valido."); + Pausa(); + } + if (p_biblioteca[numeroScaffale] != null) { + Console.WriteLine("Scaffale occupato, sceglierne un altro."); + Pausa(); + } + } + while (numeroScaffale < 0 || numeroScaffale > p_biblioteca.Length || p_biblioteca[numeroScaffale] != null); + + p_biblioteca[numeroScaffale] = new Libro(nome, prezzo, Convert.ToString(numeroScaffale), Convert.ToString(numeroPagine), casaEditrice); + } } }