Implementare un software che permetta di calcolare il valore massimo e minimo di due valori interi dati in input.

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 tre funzioni come schematizzato:

  • int max (int n1, int n2) : prende in input due valori e restituisce il più grande
  • int min (int n1, int n2) : prende in input due valori e restituisce il più piccolo
  • void menu()

Implementazione

menu()

Questa funzione permette di stampare il menu.

max()

La funzione max prende in input due valori e permette di calcolare il maggiore restituendolo:

int max(int a, int b)
{
	if(a>b)
	{
		return a;
	}
	else
	{
		return b;
	}
}

Programma

#include <iostream>


void menu();
using namespace std;

int max(int a, int b);
int min(int a, int b);
void menu();

int main(int argc, char** argv) {
	
	cout<<"*************************************"<<endl;
	cout<<"*PROGRAMMA MASSIMO MINIMO*"<<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 = max(n1,n2);
				  cout<<"Il massimo e''"<<r<<endl;
					  break;
			}
					
			case '2':{
				int r =min(n1,n2);
				cout<<"Il minimo e''"<<r<<endl;
					  break;
			} 
		}
	}while(input=='q');
	
	
	return 0;
}


void menu()
{
	cout<<"Digita l'operazione da compiere:"<<endl;
	cout<<"1 - Massimo"<<endl;
	cout<<"2 - Minimo"<<endl;
	cout<<"q - Uscita"<<endl;
}

int max(int a, int b)
{
	if(a>b)
	{
		return a;
	}
	else
	{
		return b;
	}
}

int min(int a, int b)
{
	if(a<b)
	{
		return a;
	}
	else
	{
		return b;
	}
}

Scarica Scheda Lavoro

Torna a funzioni



Lascia un commento

Il tuo indirizzo email non sarà pubblicato.