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