Implementare un software che permetta di svolgere calcoli matematici con due numeri interi. Più nel dettaglio il software deve permettere di effettuare le operazioni di addizione, sottrazione, moltiplicazione e divisione.
Analisi del problema
E’ possibile realizzare questo software utilizzando la metodologia top-down che prevede la scomposizione di un problema in tanti piccoli sottoproblemi. Questa metodologia consente di facilitare la risoluzione del problema principale. Possiamo schematizzare quanto detto nel seguente modo:
Ad ogni sottoproblema deve corrispondere un sottoprogramma che in C++ implementiamo col concetto di funzione. Prevediamo quattro funzioni come schematizzato:
- int addizione (int n1, int n2) : prende in input due valori e calcola la somma di tipo intero
- int sottrazione (int n1, int n2) : prende in input due valori e calcola la differenza di tipo intero
- int moltiplicazione (int n1, int n2) : prende in input due valori e calcola il prodotto di tipo intero
- float divisione (int n1, int n2) : prende in input due valori e calcola il quoziente di tipo reale
- void menu()
menu()
Questa funzione permette di stampare il menu.
Per visualizzare il menu dobbiamo utilizzare una serie di stampe:
Programma
#include <iostream>
int addizione(int a, int b);
int sottrazione(int a, int b);
int moltiplicazione(int a, int b);
float divisione(int a, int b);
void menu();
using namespace std;
int main(int argc, char** argv) {
cout<<"*************************************"<<endl;
cout<<"*PROGRAMMA CALCOLATRICE CON FUNZIONI*"<<endl;
cout<<"*************************************"<<endl;
cout<<"Dammi due numeri:"<<endl;
int n1, n2;
cin>>n1;
cin>>n2;
menu();
char input;
cin>>input;
do
{
switch(input)
{
case '1': {
int r = addizione(n1,n2);
cout<<"Il risultato e' "<<r<<endl;
break;
}
case '2':{
int r =sottrazione(n1,n2);
cout<<"Il risultato e' "<<r<<endl;
break;
}
case '3': {
int r =moltiplicazione(n1,n2);
cout<<"Il risultato e' "<<r<<endl;
break;
}
case '4': {
int r = divisione(n1,n2);
cout<<"Il risultato e' "<<r<<endl;
break;
}
}
}while(input=='q');
return 0;
}
void menu()
{
cout<<"Digita l'operazione da compiere:"<<endl;
cout<<"1 - Addizione"<<endl;
cout<<"2 - Sottrazione"<<endl;
cout<<"3 - Moltiplicazione"<<endl;
cout<<"4 - Divisione"<<endl;
cout<<"q - Uscita"<<endl;
}
int addizione(int a, int b)
{
int r = a+b;
return r;
}
int sottrazione(int a, int b)
{
int r = a-b;
return r;
}
int moltiplicazione(int a, int b)
{
int r = a*b;
return r;
}
float divisione(int a, int b)
{
int r = a/b;
return r;
}
Torna a funzioni