03-04-2011, 01:19 PM
Per evitare il return main() avresti potuto fare una cosa di questo tipo (per esempio):
Codice PHP:
#include <iostream>
#include <cmath> //è uguale a math.h, solo che richiede il namespace std (più in stile c++)
using namespace std;
int operazione();
bool continua();
int main()
{
float n1,n2,risultato; //la variabile esponente non è necessaria, si può usare n2
do{
switch(operazione()) //include il messaggio di scelta
{
//ADDIZIONE
case 1 :
cout << "Inserire il primo numero: " << endl;
cin >> n1;
cout << "Inserire il secondo numero: " << endl;
cin >> n2;
risultato=n1+n2;
cout << "Il risultato \212 " << risultato << endl;
break;
//SOTTRAZIONE
case 2 :
cout << "Inserire il primo numero: " << endl;
cin >> n1;
cout << "Inserire il secondo numero: " << endl;
cin >> n2;
risultato=n1-n2;
cout << "Il risultato \212 " << risultato << endl;
break;
//MOLTIPLICAZIONE
case 3 :
cout << "Inserire il primo numero: " << endl;
cin >> n1;
cout << "Inserire il secondo numero: " << endl;
cin >> n2;
risultato=n1*n2;
cout << "Il risultato \212 " << risultato << endl;
break;
//DIVISIONE
case 4 :
cout << "Inserire il primo numero: " << endl;
cin >> n1;
cout << "Inserire il secondo numero: " << endl;
cin >> n2;
risultato=n1/n2;
cout << "Il risultato \212 " << risultato << endl;
break;
//RADICE QUADRATA
case 5 :
cout << "Inserire il numero: " << endl;
cin >> n1;
risultato=sqrt(n1);
cout << "Il risultato \212 " << risultato << endl;
break;
//ELEVAMENTO A POTENZA
case 6 :
cout << "Inserire il numero della base: " << endl;
cin >> n1;
cout << "Inserire il numero dell'esponente" << endl;
cin >> n2;
risultato=pow(n1,n2);
cout << "Il risultato \212 " << risultato << endl;
break;
//ELEVAMENTO AL QUADRATO
case 7 :
cout << "Inserire il numero della base: " << endl;
cin >> n1;
risultato=n1*n1;
cout << "Il risultato \212 " << risultato << endl;
break;
//ELEVAMENTO AL CUBO
case 8 :
cout << "Inserire il numero della base: " << endl;
cin >> n1;
risultato=n1*n1*n1;
cout << "Il risultato \212 " << risultato << endl;
break;
//USCITA DAL PROGRAMMA
case 9 :
exit(0);
break;
default:
break;
}
}while(continua()); //include il messaggio di scelta
return 0;
}
int operazione()
{
int operazione;
do{
system("cls");
//SCELTA DELL'OPERAZIONE E MESSAGGIO DI BENVENUTO
cout << " __________________________" << endl;
cout << "|Calcolatrice by ossen97 |" << endl;
cout << "|Versione 1.0 |" << endl;
cout << "|--------------------------|" << endl;
cout << "|Scegliere l'operazione: |" << endl;
cout << "|1) Addizione |" << endl;
cout << "|2) Sottrazione |" << endl;
cout << "|3) Moltiplicazione |" << endl;
cout << "|4) Divisione |" << endl;
cout << "|5) Radice Quadrata |" << endl;
cout << "|6) Elevamento a potenza |" << endl;
cout << "|7) Elevamento al quadrato |" << endl;
cout << "|8) Elevamento al cubo |" << endl;
cout << "|9) Esci da Calcolatrice |" << endl;
cout << "|__________________________|" << endl;
//-----------------------------------------------
cin >> operazione;
}while(!(0<operazione && operazione<10));
return operazione;
}
bool continua()
{
char risp;
do{
cout << endl << endl << "Vuoi continuare con un altra operazione? (s/n) ";
cin >> risp;
}while(risp != 's' && risp!='n');
if(risp == 's'){
system("cls");
return 1;
}
return 0;
}