129 lines
5.1 KiB
C#
129 lines
5.1 KiB
C#
namespace funzioni_2;
|
|
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
//dichiarazione e inizializzazione variabile
|
|
int scelta=9;
|
|
//Menù
|
|
Console.WriteLine("Scegliere un'operazione:");
|
|
Console.WriteLine("1. Calcolo area e perimetro di un quadrato");
|
|
Console.WriteLine("2. Calcolo sconto di un prezzo");
|
|
Console.WriteLine("3. Calcolo media");
|
|
Console.WriteLine("4. Calcolo età");
|
|
Console.WriteLine("5. Calcolo rette perpendicolari");
|
|
Console.WriteLine("0. Esci");
|
|
Console.Write("Scelta: ");
|
|
scelta=Convert.ToInt32(Console.ReadLine());
|
|
|
|
|
|
do{
|
|
switch(scelta){
|
|
case 0:
|
|
break;
|
|
case 1:
|
|
//dichiarazione e inizializzazione variabili
|
|
double lato, area, perimetro;
|
|
//ricevo input
|
|
Console.Write("Inserire il lato: ");
|
|
lato=Convert.ToDouble(Console.ReadLine());
|
|
//chiamo funzioni per i calcoli
|
|
area=Area(lato);
|
|
perimetro=Perimetro(lato);
|
|
//output
|
|
Console.WriteLine("Il perimtetro è " +perimetro +" mentre l'area è " +area);
|
|
break;
|
|
case 2:
|
|
//dichiarazione e inizializzazione variabili
|
|
double prezzo, sconto;
|
|
//ricevo input
|
|
Console.Write("Inserire il prezzo: ");
|
|
prezzo=Convert.ToDouble(Console.ReadLine());
|
|
Console.Write("Inserire la percentuale di sconto (senza %): ");
|
|
sconto=Convert.ToDouble(Console.ReadLine());
|
|
//output con chiamata a funzione per il calcolo integrata
|
|
Console.WriteLine("Il prezzo scontato è " +Scontatore(prezzo, sconto));
|
|
break;
|
|
case 3:
|
|
//dichiarazione e inizializzazione variabili
|
|
double somma, numeroVero;
|
|
string numero;
|
|
int i;
|
|
somma=0;
|
|
i=0;
|
|
//ricevo input di continuo
|
|
do{
|
|
//ricevo input
|
|
Console.Write("Inserire un numero ([q] per terminare): ");
|
|
numero=Console.ReadLine();
|
|
//verifico se non si vuole terminare
|
|
if(numero!="q"){
|
|
numeroVero=Convert.ToDouble(numero);//non so come fare una condizione che verifichi se Convert.ToDouble abbia restituito un'eccezione aka è stata inserito un qualcosa che non sia un numero o q
|
|
somma=somma+numeroVero;
|
|
i++;
|
|
}
|
|
}
|
|
while(numero!="q");
|
|
//output
|
|
Console.WriteLine("La media è " +Media(somma, i));
|
|
break;
|
|
case 4:
|
|
int anno, nascita;
|
|
Console.Write("Che anno è? ");
|
|
anno=Convert.ToInt32(Console.ReadLine());
|
|
Console.Write("Quando sei nato? ");
|
|
nascita=Convert.ToInt32(Console.ReadLine());
|
|
Console.WriteLine("Hai " +Età(anno, nascita) +" anni");
|
|
break;
|
|
case 5:
|
|
double coefficiente, intercetta;
|
|
Console.Write("Inserire il coefficiente angolare: ");
|
|
coefficiente=Convert.ToDouble(Console.ReadLine());
|
|
Console.Write("Inserire l'intercetta: ");
|
|
intercetta=Convert.ToDouble(Console.ReadLine());
|
|
if(IsPerpendicolare(coefficiente, intercetta)==true){
|
|
Console.WriteLine("Le due rette sono perpendicolari");
|
|
}
|
|
else{
|
|
Console.WriteLine("Le due rette non sono perpendicolari");
|
|
}
|
|
break;
|
|
default:
|
|
Console.WriteLine("Scelta non valida");
|
|
break;
|
|
}
|
|
}
|
|
while(scelta!=0 && scelta!=1 && scelta!=2 && scelta!=3 && scelta!=4 && scelta!=5);
|
|
}
|
|
|
|
static double Area(double p_lato){
|
|
return p_lato*p_lato;
|
|
}
|
|
static double Perimetro(double p_lato){
|
|
return p_lato*4;
|
|
}
|
|
|
|
static double Scontatore(double p_prezzo, double p_sconto){ //Scontatore è da intendersi come "colui che applica lo sconto" (lo so che non è italiano ma mi stava simpatico come nome)
|
|
return p_prezzo-(p_prezzo*p_sconto/100);
|
|
}
|
|
|
|
static double Media(double p_somma, int p_i){
|
|
return p_somma/p_i;
|
|
}
|
|
|
|
static int Età(int p_anno, int p_nascita){
|
|
return p_anno-p_nascita;
|
|
}
|
|
|
|
static bool IsPerpendicolare(double p_coefficiente, double p_intercetta){
|
|
|
|
if (p_coefficiente*p_intercetta==-1){
|
|
return true;
|
|
}
|
|
else{
|
|
return false;
|
|
}
|
|
}
|
|
}
|