Trasferita verifica
This commit is contained in:
parent
d22274fbd8
commit
75a499b979
175
Program.cs
175
Program.cs
@ -3,7 +3,176 @@
|
||||
class Program
|
||||
{
|
||||
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