Media di n numeri con menu in C++

Altro esercizio con un classico problema per principianti. La media di n numeri in ingresso con n letto da tastiera, solo visto sotto forma di menù con inserimento n, inserimento numeri con relativa somma e media.

Il trucco per realizzare un piccolo menù grafico che rende più gradevoli da vedere ed usare i nostri software è abbastanza semplice. Creiamo un ciclo while con un lettura di un intero e stabiliamo le singoli voci da eseguire usando lo switch per procedere al frammento di codice di interesse. Il resto è solo giocare un po’ con tratteggi, pipeline, andate a capo e spazi vuoti per allineare e riquadrare le scritte.

L’esempio fine a se stesso un classico esercizio della media di n numeri in cui occorre leggere prima quanti numeri inserire, poi procedere alla lettura ciclica di tutti gli elementi di input e farne la somma, quindi procedere con la stampa e il calcolo contestuale della media.

Il listato del codice:

#include <iostream>

using namespace std;

int main()
{
    int scelta = -1;
    int n = 0;
    int cont = 0;
    int numero;
    
    float media;
    float somma;

    while(scelta !=0 )
    {
        cout <<"|-------------------------|" <<endl;
        cout <<"|           MENU          |" <<endl;
        cout <<"|-------------------------|" <<endl;
        cout <<"Scegli cosa fare:" << endl;
        cout <<"1- Inserisci n" <<endl;
        cout <<"2- Calcola la somma di n numeri in input" <<endl;
        cout <<"3- Media degli n numeri" <<endl;
        cout <<"0- Esci" <<endl;

        cin >> scelta;

        switch (scelta)
        {
            case 1:
                while(n <= 0)
                {
                    cout << "Inserisci quanti numeri vuoi leggere ";
                    cin >> n;
                }
                break;

            case 2:
                while (cont < n)
                {
                    cout << "inserisci il "<<cont<<"° numero ";
                    cin >> numero;
		    somma = somma + n;
                    cont++;
                }

                break;

            case 3:

		media = somma / 3;
                cout << "La media e' " << media <<endl<<endl<<endl;
                break;

            case 0:
                return 0;

            default:
                cout << "ERRORE" << endl;
        }
    }

    return 0;
}   

Ultima modifica 11 Gennaio 2022

Lascia un commento