
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
Iterazioni con il ciclo for in C++
Esercizi con switch case in C++
Successione di Fibonacci in C++
Esercitazione sugli array in C++