funzioni_2/Program.cs
La Programmatrice Verde 9a477b26b1 Sembra tutto ok
2024-11-21 19:54:35 +01:00

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