namespace ripasso1; class Program { static void Main(string[] args) { //dichiarazione e inizializzazione variabili int scelta, i, numero, somma, tmp, multipliDiTre; somma = 0; tmp = 0; multipliDiTre = 0; bool positiviPari, positivoNegativo; positiviPari = true; positivoNegativo = false; //menu do { Console.WriteLine("Scegliere un'opzione:"); Console.WriteLine("1. Tutti positivi e pari"); Console.WriteLine("2. Continua fino"); Console.WriteLine("3. Positivo e negativo"); Console.WriteLine("4. Media multipli di 3"); Console.WriteLine("0. Esci"); Console.Write("Scelta: "); scelta = Convert.ToInt32(Console.ReadLine()); switch (scelta) { case 0: break; case 1: //reset variabili positiviPari = true; do{ Console.Write("Numeri da inserire: "); i = Convert.ToInt32(Console.ReadLine()); if (i <= 0){ Console.WriteLine("Opzione non valida"); } } while (i <= 0); for (; i > 0; i--){ Console.Write("Inserire un numero: "); numero = Convert.ToInt32(Console.ReadLine()); if(numero < 0 || numero % 2 != 0){ //se non è positivo e pari positiviPari = false; } } if (positiviPari == true){ Console.WriteLine("Tutti positivi e pari"); } else{ Console.WriteLine("NO"); } break; case 2: //reset variabili somma = 0; do{ Console.Write("Inserire un numero: "); numero = Convert.ToInt32(Console.ReadLine()); if (!((numero < 0 && numero % 2 == 0) || (numero >= 0 && numero % 3 == 0))){ //se non è ((minore di zero e divisibile per 2) o è ((maggiore o uguale a zero) e divisibile per 3)) somma = somma + numero; } } while (!((numero < 0 && numero % 2 == 0) || (numero >= 0 && numero % 3 == 0))); // stessa condizione dell'if Console.WriteLine("Somma: " + somma); break; case 3: positivoNegativo = false; do{ Console.Write("Inserire un numero: "); numero = Convert.ToInt32(Console.ReadLine()); if(numero > 0 && tmp < 0){ //se il numero inserito è positivo e quello precedente è negativo positivoNegativo = true; } tmp = numero; } while (numero != 0); if(positivoNegativo){ Console.WriteLine("OK"); } else{ Console.WriteLine("NO"); } break; case 4: //reset variabili somma = 0; do{ Console.Write("Numeri da inserire: "); i = Convert.ToInt32(Console.ReadLine()); if (i <= 0){ Console.WriteLine("Opzione non valida"); } } while (i <= 0); for (; i > 0; i--){ Console.Write("Inserire un numero: "); numero = Convert.ToInt32(Console.ReadLine()); if(numero % 3 == 0){ //se è divisibile per 3 somma = somma + numero; multipliDiTre++; } } Console.WriteLine("La media è " + (somma/multipliDiTre)); break; default: Console.WriteLine("Opzione non valida"); Console.WriteLine("Premere un tasto per continuare. . ."); Console.ReadKey(); break; } } while (scelta != 0); } }