Copiato il codice della verifica
This commit is contained in:
parent
51ad1a6c9f
commit
7148bc27bd
283
Program.cs
283
Program.cs
@ -1,9 +1,284 @@
|
||||
namespace Verifica_Ripasso;
|
||||
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
class Program {
|
||||
const int MESI_IN_UN_ANNO = 12;
|
||||
static void Main(string[] args) {
|
||||
Console.Clear();
|
||||
//dichiarazione e inizializzazione variabili
|
||||
int scelta, mediaPresenzeGennaioMarzo, mediaPresenzeGiugnoAgosto;
|
||||
int[] arrayPresenze = null;
|
||||
bool opzione1 = false;
|
||||
string meseConMaggioriPresenze = null;
|
||||
|
||||
|
||||
//menu ciclico
|
||||
do {
|
||||
Console.WriteLine("Inserire un'opzione:");
|
||||
Console.WriteLine("1. Inserire le presenze");
|
||||
Console.WriteLine("2. Mostra presenze");
|
||||
Console.WriteLine("3. Mostra mese con maggiori presenze");
|
||||
Console.WriteLine("4. Media presenze gennaio-marzo e giugno-agosto");
|
||||
Console.WriteLine("5. Mostra mesi con presenze superiori alla media");
|
||||
Console.WriteLine("6. Lancio dei dadi");
|
||||
Console.WriteLine("0. Esci");
|
||||
Console.Write("Scelta: ");
|
||||
scelta = Convert.ToInt32(Console.ReadLine());
|
||||
|
||||
switch (scelta) {
|
||||
case 0:
|
||||
break;
|
||||
case 1:
|
||||
Console.Clear();
|
||||
arrayPresenze = NumeroPresenze(arrayPresenze);
|
||||
opzione1 |= true;
|
||||
Pausa();
|
||||
break;
|
||||
case 2:
|
||||
Console.Clear();
|
||||
if (opzione1) {
|
||||
StampaArray(arrayPresenze);
|
||||
}
|
||||
else {
|
||||
Console.WriteLine("Bisogna inserire il numero di presenze prima di mostrarle");
|
||||
|
||||
}
|
||||
|
||||
Pausa();
|
||||
break;
|
||||
case 3:
|
||||
Console.Clear();
|
||||
if (opzione1) {
|
||||
meseConMaggioriPresenze = NumeroPresenzeMaggiore(arrayPresenze);
|
||||
Console.WriteLine("Il mese con maggiori presenze è il mese di " + meseConMaggioriPresenze);
|
||||
}
|
||||
else {
|
||||
Console.WriteLine("Bisogna inserire il numero di presenze prima di mostrarle");
|
||||
|
||||
}
|
||||
Pausa();
|
||||
break;
|
||||
case 4:
|
||||
Console.Clear();
|
||||
if (opzione1) {
|
||||
mediaPresenzeGennaioMarzo = mediaPresenzeTreMesi(arrayPresenze, SwitchMese("gennaio"), SwitchMese("marzo"));
|
||||
mediaPresenzeGiugnoAgosto = mediaPresenzeTreMesi(arrayPresenze, SwitchMese("giugno"), SwitchMese("agosto"));
|
||||
Console.WriteLine("Media 1: " + mediaPresenzeGennaioMarzo);
|
||||
Console.WriteLine("Media 2: " + mediaPresenzeGiugnoAgosto);
|
||||
}
|
||||
else {
|
||||
Console.WriteLine("Bisogna inserire il numero di presenze prima di mostrarle");
|
||||
|
||||
}
|
||||
Pausa();
|
||||
break;
|
||||
case 5:
|
||||
Console.Clear();
|
||||
if (opzione1) {
|
||||
MesiSopraLaMedia(arrayPresenze);
|
||||
}
|
||||
else {
|
||||
Console.WriteLine("Bisogna inserire il numero di presenze prima di mostrarle");
|
||||
|
||||
}
|
||||
Pausa();
|
||||
break;
|
||||
case 6:
|
||||
Console.Clear();
|
||||
LancioDelDado();
|
||||
Pausa();
|
||||
break;
|
||||
default:
|
||||
Console.WriteLine("Opzione non valida");
|
||||
Pausa();
|
||||
break;
|
||||
}
|
||||
}
|
||||
while (scelta != 0);
|
||||
}
|
||||
static void Pausa() {
|
||||
Console.WriteLine("Premere un tasto per continuare. . .");
|
||||
Console.ReadKey();
|
||||
Console.Clear();
|
||||
}
|
||||
static string SwitchMese(int p_NumeroMese) {
|
||||
string nomeMese = null;
|
||||
switch (p_NumeroMese) //L'indice dell'array sta ad indicare il numero del mese. Per non confondere l'utente dicendogli che gennaio è il mese 0, eseguo le operazioni con indiceInserimento-1
|
||||
{
|
||||
Console.WriteLine("Hello, World!");
|
||||
case 1:
|
||||
nomeMese = "gennaio";
|
||||
break;
|
||||
case 2:
|
||||
nomeMese = "febbraio";
|
||||
break;
|
||||
case 3:
|
||||
nomeMese = "marzo";
|
||||
break;
|
||||
case 4:
|
||||
nomeMese = "aprile";
|
||||
break;
|
||||
case 5:
|
||||
nomeMese = "maggio";
|
||||
break;
|
||||
case 6:
|
||||
nomeMese = "giugno";
|
||||
break;
|
||||
case 7:
|
||||
nomeMese = "luglio";
|
||||
break;
|
||||
case 8:
|
||||
nomeMese = "agosto";
|
||||
break;
|
||||
case 9:
|
||||
nomeMese = "settembre";
|
||||
break;
|
||||
case 10:
|
||||
nomeMese = "ottobre";
|
||||
break;
|
||||
case 11:
|
||||
nomeMese = "novembre";
|
||||
break;
|
||||
case 12:
|
||||
nomeMese = "dicembre";
|
||||
break;
|
||||
}
|
||||
return nomeMese;
|
||||
}
|
||||
|
||||
static int SwitchMese(string p_NomeMese) {
|
||||
int numeroMese = 0;
|
||||
switch (p_NomeMese) {
|
||||
case "gennaio":
|
||||
numeroMese = 1;
|
||||
break;
|
||||
case "febbraio":
|
||||
numeroMese = 2;
|
||||
break;
|
||||
case "marzo":
|
||||
numeroMese = 3;
|
||||
break;
|
||||
case "aprile":
|
||||
numeroMese = 4;
|
||||
break;
|
||||
case "maggio":
|
||||
numeroMese = 5;
|
||||
break;
|
||||
case "giugno":
|
||||
numeroMese = 6;
|
||||
break;
|
||||
case "luglio":
|
||||
numeroMese = 7;
|
||||
break;
|
||||
case "agosto":
|
||||
numeroMese = 8;
|
||||
break;
|
||||
case "settembre":
|
||||
numeroMese = 9;
|
||||
break;
|
||||
case "ottobre":
|
||||
numeroMese = 10;
|
||||
break;
|
||||
case "novembre":
|
||||
numeroMese = 11;
|
||||
break;
|
||||
case "dicembre":
|
||||
numeroMese = 12;
|
||||
break;
|
||||
}
|
||||
return numeroMese;
|
||||
}
|
||||
static int[] NumeroPresenze(int[] p_arrayPresenze) {
|
||||
//dichiarazione e inizializzazione variabili
|
||||
int input, indiceInserimento, postiDisponibili;
|
||||
string nomeMese = null;
|
||||
p_arrayPresenze = new int[MESI_IN_UN_ANNO];
|
||||
|
||||
Console.Write("Quanti posti sono disponibili? ");
|
||||
postiDisponibili = Convert.ToInt32(Console.ReadLine());
|
||||
|
||||
for (indiceInserimento = 1; indiceInserimento <= MESI_IN_UN_ANNO; indiceInserimento++) {
|
||||
|
||||
nomeMese = SwitchMese(indiceInserimento); //L'indice dell'array sta ad indicare il numero del mese. Per non confondere l'utente dicendogli che gennaio è il mese 0, eseguo le operazioni con indiceInserimento-1
|
||||
|
||||
do {
|
||||
Console.Write("Quanti ospiti sono presenti nel mese di " + nomeMese + "? ");
|
||||
input = Convert.ToInt32(Console.ReadLine());
|
||||
if (input < 0) {
|
||||
Console.WriteLine("Non può essere inserito un numero di ospiti negativo");
|
||||
Pausa();
|
||||
}
|
||||
else if (input > postiDisponibili) {
|
||||
Console.WriteLine("Non ci sono abbastanza posti per questo numero di ospiti");
|
||||
Pausa();
|
||||
}
|
||||
else {
|
||||
p_arrayPresenze[indiceInserimento - 1] = input;
|
||||
}
|
||||
}
|
||||
while (input < 0 || input > postiDisponibili);
|
||||
}
|
||||
return p_arrayPresenze;
|
||||
}
|
||||
static void StampaArray(int[] p_array) {
|
||||
for (int i = 0; i < p_array.Length; i++) {
|
||||
string nomeMese = SwitchMese(i + 1);
|
||||
|
||||
Console.WriteLine("Ospiti per il mese di " + nomeMese + ": " + p_array[i]);
|
||||
}
|
||||
}
|
||||
static string NumeroPresenzeMaggiore(int[] p_array) {
|
||||
//dichiarazione e inizializzazione variabili
|
||||
int max = 0, indiceMax = 0;
|
||||
|
||||
for (int i = 0; i < p_array.Length; i++) {
|
||||
if (p_array[i] > max) {
|
||||
max = p_array[i];
|
||||
indiceMax = i;
|
||||
}
|
||||
}
|
||||
return SwitchMese(indiceMax + 1);
|
||||
}
|
||||
static int mediaPresenzeTreMesi(int[] p_array, int meseIniziale, int meseFinale) {
|
||||
//dichiarazione e inizializzazione variabili
|
||||
int media, somma = 0;
|
||||
for (int i = meseIniziale - 1; i < meseFinale; i++) {
|
||||
somma += p_array[i];
|
||||
}
|
||||
media = somma / 3;
|
||||
return media;
|
||||
}
|
||||
static void MesiSopraLaMedia(int[] p_array) {
|
||||
//dichiarazione e inizializzazione variabili
|
||||
int somma = 0, media;
|
||||
|
||||
for (int i = 0; i < MESI_IN_UN_ANNO; i++) {
|
||||
somma += p_array[i];
|
||||
}
|
||||
media = somma / MESI_IN_UN_ANNO;
|
||||
for (int i = 0; i < MESI_IN_UN_ANNO; i++) {
|
||||
if (p_array[i] > media) {
|
||||
Console.WriteLine(SwitchMese(i + 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
static void LancioDelDado() {
|
||||
//dichiarazione e inizializzazione variabili
|
||||
const int FACCE_DEL_DADO = 6;
|
||||
int r, somma = 0, facciaPrecedente = 0;
|
||||
Random caso = new Random();
|
||||
|
||||
do {
|
||||
r = caso.Next(1, FACCE_DEL_DADO + 1);
|
||||
Console.WriteLine("Faccia del dado: " + r);
|
||||
somma += r;
|
||||
if (somma > 50) {
|
||||
break;
|
||||
}
|
||||
else if (facciaPrecedente == FACCE_DEL_DADO && r == FACCE_DEL_DADO) {
|
||||
break;
|
||||
}
|
||||
facciaPrecedente = r;
|
||||
} while (true);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user