Esercizio 7
Data una serie di numeri interi, visualizzarne la somma totale: la serie termine con l'immisione del valore 0.
Il fatto di non conoscere preventivamente il numero totale di valori da sommare privilegia l'utilizzo di una struttura do-while.
#include <iostream>
using namespace std;
int main(){
int n,sum=0;
do{
cout<<"ins.num:";cin>>n;
sum+=n;
}while(n!=0);
cout<<"somma:"<<sum;
return 0;
}
Invece, un eventuale tentativo di usare il ciclo while
è sconsigliato, perchè come specificato nel testo del problema il programma
deve terminare dopo che è stato introdotto il numero 0.
Sappiamo però che tale ciclo esegue il controllo sulla condizione logica prima del blocco di
istruzioni da eseguire e questo ne pregiudica l'utilizzo.
Al limite sarebbe possibile usare un ciclo for con
qualche artificio:
for(;;){
cout<<"ins.num:";cin>>n;
if(n==0)break;
sum+=n;
}
L'istruzione for(;;) genera in ciclo infinito
mentre l'istruzione
if(n==0)break;
impone un'uscita dal ciclo nell'eventualità sia stato inserito il numero 0.