Trasferita verifica
This commit is contained in:
parent
d22274fbd8
commit
75a499b979
175
Program.cs
175
Program.cs
@ -3,7 +3,176 @@
|
|||||||
class Program
|
class Program
|
||||||
{
|
{
|
||||||
static void Main(string[] args)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Hello, World!");
|
//Dichiarazione e inizializzazione variabili
|
||||||
}
|
int scelta = 0;
|
||||||
|
double raggio = 0;
|
||||||
|
double area = 0;
|
||||||
|
double numero = 0;
|
||||||
|
int numeroIntero = 0;
|
||||||
|
double divisibilePerDieci = 0;
|
||||||
|
int i = 0;
|
||||||
|
int k = 0;
|
||||||
|
int dimensioneDiagonale = 0;
|
||||||
|
uint decToBin = 0;
|
||||||
|
bool multiploDiDieci = false;
|
||||||
|
const double pi = 3.14;
|
||||||
|
const int costanteIntera = 100;
|
||||||
|
//menù
|
||||||
|
do
|
||||||
|
{
|
||||||
|
Console.WriteLine("Scegliere un'opzione: ");
|
||||||
|
Console.WriteLine("1. Area cerchio");
|
||||||
|
Console.WriteLine("2. Controllo numeri interi");
|
||||||
|
Console.WriteLine("3. Fermati finché non arrivi a 100");
|
||||||
|
Console.WriteLine("4. Multipli di 10");
|
||||||
|
Console.WriteLine("5. Diagonale");
|
||||||
|
Console.WriteLine("6. Decimale -> Binario (Big Endian)");
|
||||||
|
Console.WriteLine("0. Esci");
|
||||||
|
Console.Write("Scelta: ");
|
||||||
|
|
||||||
|
scelta = Convert.ToInt32(Console.ReadLine());
|
||||||
|
|
||||||
|
switch (scelta)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
do
|
||||||
|
{
|
||||||
|
Console.Write("Inserire la misura del raggio: ");
|
||||||
|
raggio = Convert.ToDouble(Console.ReadLine());
|
||||||
|
if (raggio <= 0)//il raggio zero o negativo non esiste
|
||||||
|
{
|
||||||
|
Console.WriteLine("Il raggio non può essere né negativo né zero.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (raggio <= 0);
|
||||||
|
//calcolo area
|
||||||
|
area = raggio * raggio * pi;
|
||||||
|
//output
|
||||||
|
Console.WriteLine("L'area del cerchio misura " + area);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
//input
|
||||||
|
Console.Write("Inserire un numero: ");
|
||||||
|
numero = Convert.ToDouble(Console.ReadLine());
|
||||||
|
//output condizionale
|
||||||
|
if (numero < 0)
|
||||||
|
{
|
||||||
|
Console.WriteLine("numero negativo");
|
||||||
|
}
|
||||||
|
else if (numero == 0)
|
||||||
|
{
|
||||||
|
Console.WriteLine("hai inserito zero");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Console.WriteLine("numero positivo");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
//input
|
||||||
|
do
|
||||||
|
{
|
||||||
|
Console.WriteLine("Inserire un numero maggiore di " + costanteIntera + " per terminare.");
|
||||||
|
Console.Write("Numero: ");
|
||||||
|
numeroIntero = Convert.ToInt32(Console.ReadLine());
|
||||||
|
}
|
||||||
|
while (numeroIntero <= costanteIntera);//controllo che non si voglia terminare
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
//input
|
||||||
|
Console.Write("Quanti numeri vuoi inserire? ");
|
||||||
|
i = Convert.ToInt32(Console.ReadLine());
|
||||||
|
for (; i > 0; i--)//faccio inserire quanti numeri vuole l'utente
|
||||||
|
{
|
||||||
|
Console.Write("Inserire un numero: ");
|
||||||
|
divisibilePerDieci = Convert.ToInt32(Console.ReadLine());
|
||||||
|
multiploDiDieci = DivisibilePerDieci(divisibilePerDieci);
|
||||||
|
if (multiploDiDieci == true)
|
||||||
|
{
|
||||||
|
k++;//conto tutti i numeri divisibili per 10
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//output
|
||||||
|
Console.WriteLine("I numeri inseriti divisibili per dieci sono " +k );
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
//input
|
||||||
|
Console.Write("Quanto deve essere larga la diagonale? ");
|
||||||
|
dimensioneDiagonale = Convert.ToInt32(Console.ReadLine());
|
||||||
|
//output
|
||||||
|
Diagonale(dimensioneDiagonale);
|
||||||
|
break;
|
||||||
|
case 6:
|
||||||
|
//input
|
||||||
|
Console.WriteLine("NOTA: il numero binario deve essere letto da destra verso sinistra");//visto che non posso fare la procedura al contrario in modo che funzioni per ogni numero, uso quella standard e avviso l'utente
|
||||||
|
Console.Write("Inserire un numero intero positivo: ");
|
||||||
|
decToBin=Convert.ToUInt32(Console.ReadLine());
|
||||||
|
//output
|
||||||
|
Console.Write(decToBin + " in binario vale ");
|
||||||
|
DecToBin(decToBin);
|
||||||
|
Console.WriteLine();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
Console.WriteLine("Opzione non valida.");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
while (scelta != 0);
|
||||||
|
}
|
||||||
|
static bool DivisibilePerDieci(double p_num)
|
||||||
|
{
|
||||||
|
//Dichiarazione e inizializzazione variabili
|
||||||
|
const double divisore = 10;
|
||||||
|
bool ritorno;
|
||||||
|
//verifico se p_num è divisibile per 10 o no
|
||||||
|
if (p_num % divisore == 0)
|
||||||
|
{
|
||||||
|
ritorno = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ritorno = false;
|
||||||
|
}
|
||||||
|
//ritorno
|
||||||
|
return ritorno;
|
||||||
|
}
|
||||||
|
static void Diagonale(int p_dimensione)
|
||||||
|
{
|
||||||
|
//Dichiarazione e inizializzazione variabili
|
||||||
|
int j = 0;
|
||||||
|
//stampa degli zeri prima dell'uno
|
||||||
|
for (int i = p_dimensione; i > 0; i--)
|
||||||
|
{
|
||||||
|
for (j = 0; j < i-1; j++)
|
||||||
|
{
|
||||||
|
Console.Write("0");
|
||||||
|
}
|
||||||
|
//stampa dell'uno
|
||||||
|
Console.Write("1");
|
||||||
|
//stampa degli zeri dopo l'uno
|
||||||
|
for (; j < p_dimensione-1 ; j++)
|
||||||
|
{
|
||||||
|
Console.Write("0");
|
||||||
|
}
|
||||||
|
Console.WriteLine();//a capo dopo ogni riga
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
static void DecToBin(uint p_num)
|
||||||
|
{
|
||||||
|
//Dichiarazione e inizializzazione variabili
|
||||||
|
uint resto = 0;
|
||||||
|
const uint costanteIntera = 2;
|
||||||
|
//calcolo del resto
|
||||||
|
while (p_num != 0)
|
||||||
|
{
|
||||||
|
resto = p_num % costanteIntera;
|
||||||
|
p_num = p_num / costanteIntera;
|
||||||
|
//output
|
||||||
|
Console.Write(resto);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user