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.

Banner Pubblicitario

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;

// Prototipi delle funzioni
int somma(int x, int y);
int prodotto(int x, int y);
int insert();

// Funzione per visualizzare il menu di scelta
int menu_scelta() {
    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() {
    int scelta;
    int a, b, s, p;

    // Ciclo finché l'utente non sceglie di uscire
    while ((scelta = menu_scelta()) != 4) {
        switch (scelta) {
            case 1: // Inserimento dei numeri
                a = insert();
                b = insert();
                break;
            case 2: // Somma dei numeri
                if (!a || !b) {
                    cout << "Prima devi inserire i numeri!" << endl;
                } else {
                    s = somma(a, b);
                    cout << "La somma è: " << s << endl;
                }
                break;
            case 3: // Prodotto dei numeri
                if (!a || !b) {
                    cout << "Prima devi inserire i numeri!" << endl;
                } else {
                    p = prodotto(a, b);
                    cout << "Il prodotto è: " << p << endl;
                }
                break;
        }
    }
    return 0;
}

// Funzione per inserire un numero
int insert() {
    int x;
    cout << "Inserisci un numero: " << endl;
    cin >> x;
    return x;
}

// Funzione per sommare due numeri
int somma(int x, int y) {
    return x + y;
}

// Funzione per moltiplicare due numeri
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++

Banner pubblicitario

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