107 lines
3.3 KiB
C#
107 lines
3.3 KiB
C#
namespace ripasso3;
|
|
|
|
class Program {
|
|
const int minDimensione = 0;
|
|
const int maxDimensione = 100;
|
|
static void Main(string[] args) {
|
|
int scelta;
|
|
int[] array = null;
|
|
|
|
do {
|
|
Console.Clear();
|
|
Console.WriteLine("Scegliere un'opzione:");
|
|
Console.WriteLine("1. Crea un'insieme di numeri tra " + minDimensione + " e " + maxDimensione);
|
|
Console.WriteLine("2. Mostra il maggiore e il minore");
|
|
Console.WriteLine("3. Calcolo media");
|
|
Console.WriteLine("0. Esci");
|
|
Console.Write("Scelta: ");
|
|
scelta = Convert.ToInt32(Console.ReadLine());
|
|
|
|
|
|
switch (scelta) {
|
|
case 0:
|
|
Console.Clear();
|
|
break;
|
|
case 1:
|
|
Console.Clear();
|
|
array = CreaArray();
|
|
StampaArray(array);
|
|
//StampaArray(CreaArray());
|
|
Pausa();
|
|
break;
|
|
case 2:
|
|
Console.Clear();
|
|
|
|
Pausa();
|
|
break;
|
|
case 3:
|
|
Console.Clear();
|
|
|
|
Pausa();
|
|
break;
|
|
|
|
default:
|
|
Console.WriteLine("Scelta non valida");
|
|
Pausa();
|
|
break;
|
|
}
|
|
}
|
|
while (scelta != 0);
|
|
}
|
|
|
|
static void Pausa() {
|
|
Console.WriteLine("Premere invio per continuare. . .");
|
|
Console.ReadLine();
|
|
Console.Clear();
|
|
}
|
|
static int[] CreaArray() {
|
|
int dimensione, i = 0;
|
|
string input;
|
|
|
|
do { //richiesta dimensione array
|
|
Console.Write("Quanti numeri vuoi inserire? ");
|
|
dimensione = Convert.ToInt32(Console.ReadLine());
|
|
if (dimensione <= 0) {
|
|
Console.WriteLine("Devi inserire almeno un numero");
|
|
}
|
|
}
|
|
while (dimensione <= 0);
|
|
|
|
int[] ritorno = new int[dimensione];
|
|
|
|
for (i = 0; i < dimensione; i++) {//creo un valore di default, così la sequenza non deve essere per forza completa
|
|
ritorno[i] = -1;
|
|
}
|
|
|
|
i = 0;//reset contatore
|
|
|
|
do{//richiesta numeri da mettere nell'array
|
|
Console.Clear();
|
|
Console.WriteLine("Hai ancora " + (dimensione - i) + " numeri da inserire");
|
|
Console.Write("Inserire un numero ([q] per uscire): ");
|
|
input=Console.ReadLine(); //non posso ancora fare il catch dell'eccezione se viene inserito un qualcosa che non sia un numero o q
|
|
if(input!="q"){
|
|
if(Convert.ToInt32(input) >= minDimensione && Convert.ToInt32(input) <= maxDimensione){
|
|
ritorno[i]=Convert.ToInt32(input);
|
|
i++;
|
|
}
|
|
else {
|
|
Console.WriteLine("Il numero deve essere compreso tra 0 e 100, estremi inclusi");
|
|
Pausa();
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
while(input!="q" && i<dimensione);
|
|
|
|
return ritorno;
|
|
}
|
|
static void StampaArray(int[] p_insieme) {
|
|
for (int j = 0; j < p_insieme.Length; j++) {
|
|
if (p_insieme[j] != -1) {
|
|
Console.WriteLine("Elemento " + j + ": " + p_insieme[j]);
|
|
}
|
|
}
|
|
}
|
|
} |