From a471157e9a859e3ffdcbbd2f8846ae441f3a09b8 Mon Sep 17 00:00:00 2001 From: La Programmatrice Verde Date: Tue, 30 Sep 2025 20:53:53 +0200 Subject: [PATCH] Importazione codice C# --- src/quadrati_vari/Quadrati_vari.java | 132 ++++++++++++++++++++++++++- 1 file changed, 131 insertions(+), 1 deletion(-) diff --git a/src/quadrati_vari/Quadrati_vari.java b/src/quadrati_vari/Quadrati_vari.java index 04d168a..7e82411 100644 --- a/src/quadrati_vari/Quadrati_vari.java +++ b/src/quadrati_vari/Quadrati_vari.java @@ -14,7 +14,137 @@ public class Quadrati_vari { * @param args the command line arguments */ public static void main(String[] args) { - // TODO code application logic here + Console.Clear(); + + char unit = '*'; //unità usata per stampare le figure + char unit2 = '+'; //unità usata per stampare metà dell'ultima figura + + int scelta = -1; + do { + Console.WriteLine("Scegliere un'opzione:"); + Console.WriteLine("1. Stampa quadrato pieno"); + Console.WriteLine("2. Stampa quadrato vuoto"); + Console.WriteLine("3. Stampa triangolo"); + Console.WriteLine("4. Stampa quadrato diagonale"); + Console.WriteLine("0. Esci"); + Console.Write("Scelta: "); + + try { + scelta = Convert.ToInt32(Console.ReadLine()); + + switch (scelta) { + case 0: + break; + case 1: + QuadratoPieno(Dimensione(), unit); + Pausa(); + break; + case 2: + QuadratoVuoto(Dimensione(), unit); + Pausa(); + break; + case 3: + Triangolo(Dimensione(), unit); + Pausa(); + break; + case 4: + QuadratoDiagonale(Dimensione(), unit, unit2); + Pausa(); + break; + default: + Console.WriteLine("Errore: scelta non valida."); + Pausa(); + break; + } + + } + catch (FormatException) { + Console.WriteLine("Errore: scelta non valida."); + Pausa(); + } + + } + while (scelta != 0); } + static void Pausa() { + Console.WriteLine("Premere un tasto per continuare. . ."); + Console.ReadKey(); + } + + static uint Dimensione() { //restituisce un intero che indica la dimensione di un lato della figura + uint ritorno = 0; + bool showErrorMessage; + do { + showErrorMessage = false; + Console.Write("Inserire la dimensione della figura: "); + + try { + ritorno = Convert.ToUInt32(Console.ReadLine()); + if (ritorno == 0) { + showErrorMessage = true; + } + } + catch (Exception) { + showErrorMessage = true; + } + + if (showErrorMessage) { + Console.WriteLine("Errore: inserire un numero superiore a 0."); + } + } while (showErrorMessage); + return ritorno; + } + + static void QuadratoPieno(uint p_dimensione, char p_unit) { + + for (int i = 1; i <= p_dimensione; i++) { + for (int j = 1; j <= p_dimensione; j++) { + Console.Write(p_unit); + } + Console.WriteLine(); + } + } + + static void QuadratoVuoto(uint p_dimensione, char p_unit) { + for (int i = 1; i <= p_dimensione; i++) { + if (i == 1 || i == p_dimensione) { + for (int j = 1; j <= p_dimensione; j++) { + Console.Write(p_unit); + } + Console.WriteLine(); + } + else { + for (int j = 0; j <= p_dimensione - 2; j++) { + if (j == 0 || j == p_dimensione - 2) { + Console.Write(p_unit); + } + Console.Write(' '); + } + Console.WriteLine(); + } + } + } + + static void Triangolo(uint p_dimensione, char p_unit) { + for (int i = 1; i <= p_dimensione; i++) { + for (int j = 1; j <= i; j++) { + Console.Write(p_unit); + } + Console.WriteLine(""); + } + } + + static void QuadratoDiagonale(uint p_dimensione, char p_unit, char p_unit2) { + int j; + for (int i = 1; i <= p_dimensione; i++) { + for (j = 1; j <= i; j++) { + Console.Write(p_unit); + } + for (int k = (int)p_dimensione - --j; k > 0; k--) { + Console.Write(p_unit2); + } + Console.WriteLine(""); + } + } }