Esempio sulle funzioni in C++

Realizziamo oggi un esempio sulle funzioni in C++, al fine di consolidarne l’uso.

Consideriamo dunque il seguente problema:

Progettare un programma a menù, con uso di funzioni, che offra le seguenti scelte:
1. Leggi due valori numerici;
2. Visualizza la somma;
3. Visualizza il prodotto;
4. Esci dal programma.


Esempio sulle funzioni in C++, Procedimento

Per realizzare questo semplice esercizio creiamo innanzitutto una funzione che crei un menù di scelta, la chiamo ad esempio menu_scelta.

Questo menù consentirà, di inserire gli elementi, fare la somma, il prodotto o di uscire dal programma.

Quindi realizziamo la funzione per l’inserimento insert() che restituirà il numero inserito.

Poi realizziamo le funzioni somma e prodotto che prenderanno come parametri due valori interi x e y e restituiranno rispettivamente il prodotto e la somma.

Quindi nel main in base alla scelta effettuata facciamo le operazioni.

Se si sceglie per prima l’opzione 2 o 3 avvisiamo l’utente che ancora deve inserire i dati.

Ecco dunque il listato completo dell’esempio sulle funzioni in C++:

#include <iostream>
using namespace std;

int somma(int x, int y); //prototipi di funzione
int prodotto(int x, int y); //prototipi di funzione
int insert(); //prototipi di funzione

int menu_scelta(void)
{
  int selezione = 0;
  do
    {
    cout<<endl<<"1 - Inserisci i numeri"<<endl;
    cout<<"2 - Somma i numeri"<<endl;
    cout<<"3 - Prodotto dei numeri"<<endl;
    cout<<"4 - Esci"<<endl;
    cout<<"Effettua una scelta:"<<endl;
    cin>>selezione;
    }
    while (selezione<1 || selezione>4);
  return selezione;
}

int main(void)
{
    int scelta;
    int a,b,s,p;
    
    while((scelta=menu_scelta())!=4){
    switch(scelta){
        case 1: 
               	a=insert();
		b=insert();
                break;
        case 2:
        	if(!a || !b){
		        cout<<"Prima devi inserire i numeri!";
		} 
		else {
			s=somma(a,b);
			cout<<"la somma e':"<<s<<endl;
		}
               break;
        case 3:
        	if(!a || !b){
		       cout<<"Prima devi inserire i numeri!";
		} 
		else {
		        p=prodotto(a,b);
			cout<<"Il prodotto e':"<<p<<endl;
		}
               	break;
        case 4: break;
             }
    }             
    return 0;
}

int insert(){
	int x;
	
	cout<<"Inserisci un numero"<<endl;
	cin>>x;

	return x;
}

int somma(int x, int y) {
	return x+y;	
}

int prodotto(int x, int y) {
	return x*y;	
}

Si poteva anche richiedere, dopo il messaggio di avviso, l’inserimento dei due numeri in input. Come da esempio sotto:

if(!a || !b){
	cout<<"Prima devi inserire i numeri!"<<endl;
	a=insert();
	b=insert();
} 
else {
	s=somma(a,b);
	cout<<"la somma e':"<<s<<endl;
}

Chiaramente questa è solo una possibile soluzione al problema proposto, possono esserci tanti altri metodi risolutivi a questo esempio sulle funzioni in C++.

Alcuni link utili

Indice argomenti C++

Ciclo while in C++

Ciclo do while

Iterazioni con il ciclo for in C++

Operatori logici in C++

Esercizi con switch case in C++

Switch case in C++

If else in C++

Casting in C++

Variabili in C++

Tutorial C++

Successione di Fibonacci in C++

Array in C++

Esercitazione sugli array in C++

Esercizi con gli array

Ricerca sequenziale in C++

Ricerca in un array ordinato

Array con numeri random

Ricerca binaria

Leave a Reply