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

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *