calcolatrice/Program.cs

90 lines
3.4 KiB
C#

namespace calcolatrice;
class Program
{
static void Main(string[] args)
{
//dichiarazione e inizializzazione variabili
double operatore1, operatore2, risultato;
string scelta, risultatoIntermedio; //risultatoIntermedio serve per gestire la divisione per zero
bool exit; //serve per far uscire il programma senza stampare il risultato
exit=false;
risultatoIntermedio="placeholder"; //inizializzato ad un valore casuale per capire se è stata effettuata la divisione o no
risultato=0;
//Output iniziale e richiesta dei due numeri su cui fare i calcoli
Console.Write("Inserire il primo numero: ");
operatore1=Convert.ToDouble(Console.ReadLine());
Console.Write("Inserire il secondo numero: ");
operatore2=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Quale operazione eseguire?");
Console.WriteLine("1. Somma");
Console.WriteLine("2. Differenza");
Console.WriteLine("3. Prodotto");
Console.WriteLine("4. Quoziente");
Console.WriteLine("0. Esci");
do{
Console.Write("Scelta: ");
scelta=Console.ReadLine();
switch(scelta){
case "0":
exit=true;
break;
case "1":
risultato=Somma(operatore1, operatore2);
break;
case "2":
risultato=Differenza(operatore1, operatore2);
break;
case "3":
risultato=Prodotto(operatore1, operatore2);
break;
case "4":
risultatoIntermedio=Quoziente(operatore1, operatore2);
break;
default:
Console.WriteLine("Scelta non valida");
break;
}
}
while(scelta!="0" && scelta!="1" && scelta!="2" && scelta!="3" && scelta!="4"); //escludo le scelte non valide dal loop
if(exit!=true){//se l'utente non vuole uscire
if (risultatoIntermedio=="error"){
Console.WriteLine("Impossibile dividere per zero");//gestione della divisione per zero
}
else{
if(risultatoIntermedio!="placeholder"){//se è stata effettuata una divisione
risultato=Convert.ToDouble(risultatoIntermedio);//assegna il risultato della divisione al risultato double
}
Console.WriteLine("Risultato: " +risultato);//output finale
}
}
}
static double Somma(double p_operatore1, double p_operatore2) {
double risultato;
risultato=p_operatore1+p_operatore2;
return risultato;
}
static double Differenza(double p_operatore1, double p_operatore2) {
double risultato;
risultato=p_operatore1-p_operatore2;
return risultato;
}
static double Prodotto(double p_operatore1, double p_operatore2) {
double risultato;
risultato=p_operatore1*p_operatore2;
return risultato;
}
static string Quoziente(double p_operatore1, double p_operatore2) {
string risultato;
if(p_operatore2==0){//gestione della divisione per zero
return "error";
}
else{
risultato=Convert.ToString(p_operatore1/p_operatore2);
return risultato;
}
}
}