Trasferita verifica

This commit is contained in:
La Programmatrice Verde 2024-12-13 21:04:17 +01:00
parent d22274fbd8
commit 75a499b979

View File

@ -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);
}
}
}