#include <iostream>
#include <cmath>
using namespace std;
int schermoMenu();
void convalidaIntero(int min, int max, string messaggio, int &scelta);
int somma(int a, int b);
int differenza(int a, int b);
int prodotto(int a, int b);
float divisione(float a, float b);
int main(){
int scelta;
while (true){
scelta = schermoMenu();
if (scelta == 0){
cout << "Chiusura applicazione...\n";
break;
}
if (scelta == 1){
int numero1;
int numero2;
cout << "Inserire primo numero:\n";
cin >> numero1;
cout << "Inserire secondo numero:\n";
cin >> numero2;
cout << "La somma dei due numeri è " << somma(numero1, numero2) << endl;
}
if (scelta == 2){
int numero1;
int numero2;
cout << "Inserire primo numero:\n";
cin >> numero1;
cout << "Inserire secondo numero:\n";
cin >> numero2;
cout << "La differenza dei due numeri è " << differenza(numero1, numero2) << endl;
}
if (scelta == 3){
int numero1;
int numero2;
cout << "Inserire primo numero:\n";
cin >> numero1;
cout << "Inserire secondo numero:\n";
cin >> numero2;
cout << "Il prodotto dei due numeri è " << prodotto(numero1, numero2) << endl;
}
if (scelta == 4){
float numero1;
float numero2;
cout << "Inserire primo numero:\n";
cin >> numero1;
cout << "Inserire secondo numero:\n";
cin >> numero2;
while (numero2 == 0){
cout << "Errore. Impossibile eseguire una divisione per zero. Inserire un altro divisore!\n";
cin >> numero2;
}
cout << "La divisione dei due numeri è " << divisione(numero1, numero2) << endl;
}
if (scelta == 5){
int numero;
cout << "Inserire numero al quale si vuole applicare la funzione radice: \n";
cin >> numero;
while (numero < 0){
cout << "Impossibile applicare la funzione radice a numeri negativi. Inserire un numero maggiore o uguale a 0: \n";
cin >> numero;
}
cout << "La radice del numero inserito è " << sqrt(numero) << endl;
}
}
return 0;
}
int schermoMenu(){
int scelta;
cout << "*********************************\n";
cout << "---- MENU CALCOLATRICE ----\n";
cout << "\n";
cout << "1) Esegui somma\n";
cout << "2) Esegui differenza\n";
cout << "3) Esegui prodotto\n";
cout << "4) Esegui divisione\n";
cout << "5) Esegui radice quadrata\n";
cout << "\n";
cout << "0) Esci dall'applicazione\n";
cout << "*********************************\n";
convalidaIntero(0, 5, "Scelta---->", scelta);
return scelta;
}
void convalidaIntero(int min, int max, string messaggio, int &scelta){
cout << messaggio << endl;
cin >> scelta;
while (scelta < min || scelta > max){
cout << "Errore. Inserire un numero compreso tra " << min << " e " << max << endl;
cout << messaggio << endl;
cin >> scelta;
}
return;
}
int somma(int a, int b){
int somma;
somma = a + b;
return somma;
}
int differenza(int a, int b){
int differenza;
differenza = a - b;
return differenza;
}
int prodotto(int a, int b){
int prodotto;
prodotto = a * b;
return prodotto;
}
float divisione(float a, float b){
float divisione;
divisione = a / b;
return divisione;
}