Progettare e disegnare algoritmo e codifica di un programma che legge numeri in ingresso da 1 a 9 ad oltranza finché viene inserito 0. Contare e stampare a video quante volta si presenta ognuna delle 9 cifre.
L’esercizio non è difficile ma contiene delle insidie a livello algoritmico. Prima di tutto è chiaro che abbiamo bisogno di un ciclo per leggere numeri ad oltranza. La lettura deve essere fatta a prescindere dal numero inserito, che sia compreso da 1 a 9, negativo ma semplicemente non viene considerato nel nostro flusso principale se non mostrando un messaggio di errore. Mentre un opportuno switch o una serie di if potranno aumentare il valore delle variabili c1 se inserito 1, c2 se inserito 2 e così via. La stampa dei singoli contatori può essere fatta in molti modi, qui ne abbiamo scelto uno simpatico.
Il listato del codice:
/*
* Progettare e disegnare algoritmo e codifica di un programma che legge numeri
* in ingresso da 1 a 9 ad oltranza finché viene inserito 0.
* Contare e stampare a * video quante volta si presenta ognuna delle 9 cifre.
*/
#include <iostream>
using namespace std;
int main()
{
int num = -1;
int c1 =0;
int c2 =0;
int c3 =0;
int c4 =0;
int c5 =0;
int c6 =0;
int c7 =0;
int c8 =0;
int c9 =0;
while (num != 0)
{
cout << "Inserisci un numero positivo" << endl;
cin >> num;
switch(num)
{
case 1:
c1++;
break;
case 2:
c2++;
break;
case 3:
c3++;
break;
case 4:
c4++;
break;
case 5:
c5++;
break;
case 6:
c6++;
break;
case 7:
c7++;
break;
case 8:
c8++;
break;
case 9:
c9++;
break;
case 0:
break;
default:
cout << "Errore di inserimento" <<endl;
}
}
cout << endl;
cout<< "|*******************|" << endl;
cout<< "| CONTEGGIO |" <<endl;
cout<< "|*******************|" << endl;
cout << "1 ->"<<c1 <<endl;
cout << "2 ->"<<c2 <<endl;
cout << "3 ->"<<c3 <<endl;
cout << "4 ->"<<c4 <<endl;
cout << "5 ->"<<c5 <<endl;
cout << "6 ->"<<c6 <<endl;
cout << "7 ->"<<c7 <<endl;
cout << "8 ->"<<c8 <<endl;
cout << "9 ->"<<c9 <<endl;
return 0;
}Il listato su Github -> https://github.com/alfredocentinaro/esercizi-cplusplus/blob/main/contacifre-da-1-a-9/contacifre.cpp
L’eseguibile su Replit -> https://replit.com/@AlfredoCentina2/conta-cifre-da-1-a-9
Ultima modifica 11 Gennaio 2022


