90 lines
3.4 KiB
C#
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 operatore1, double operatore2) {
|
|
double risultato;
|
|
risultato=operatore1+operatore2;
|
|
return risultato;
|
|
}
|
|
static double Differenza(double operatore1, double operatore2) {
|
|
double risultato;
|
|
risultato=operatore1-operatore2;
|
|
return risultato;
|
|
}
|
|
static double Prodotto(double operatore1, double operatore2) {
|
|
double risultato;
|
|
risultato=operatore1*operatore2;
|
|
return risultato;
|
|
}
|
|
static string Quoziente(double operatore1, double operatore2) {
|
|
string risultato;
|
|
if(operatore2==0){//gestione della divisione per zero
|
|
return "error";
|
|
}
|
|
else{
|
|
risultato=Convert.ToString(operatore1/operatore2);
|
|
return risultato;
|
|
}
|
|
}
|
|
}
|