Copiato il codice della verifica
This commit is contained in:
parent
51ad1a6c9f
commit
7148bc27bd
285
Program.cs
285
Program.cs
@ -1,9 +1,284 @@
|
|||||||
namespace Verifica_Ripasso;
|
namespace Verifica_Ripasso;
|
||||||
|
|
||||||
class Program
|
class Program {
|
||||||
{
|
const int MESI_IN_UN_ANNO = 12;
|
||||||
static void Main(string[] args)
|
static void Main(string[] args) {
|
||||||
{
|
Console.Clear();
|
||||||
Console.WriteLine("Hello, World!");
|
//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
|
||||||
|
{
|
||||||
|
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