Affronteremo in questo articolo il ciclo do-while in C++, che viene utilizzato quando il corpo dell’iterazione deve essere eseguito almeno una volta.

Il ciclo do-while è dunque un’istruzione post-condizionale dove, prima sono eseguite le istruzioni che formano il blocco dell’iterazione e dopo è eseguita la condizione per stabilire se ripetere il ciclo oppure no.

Se la condizione è vera allora si ripete il ciclo, altrimenti si passa all’istruzione successiva.


Ciclo do-while in C++, iterazione post-condizionale

Vediamo dunque la sintassi dell’istruzione do-while in C++.

do {

istruzioni;

Banner Pubblicitario

} while (condizione);

Con istruzioni intendiamo o una singola operazione o un blocco di istruzioni.


La semantica del costrutto do-while è dunque la seguente:

1. Si esegue l’istruzione (o più di una);

2. Si valuta la condizione, la quale può essere vera o falsa.

3. Se la condizione è vera si ritorna al punto 1; altrimenti si passa all’istruzione successiva.


Esempio 1 – do-while in C++

Generiamo i numeri da 5 a 100, a step di 5, utilizzando il ciclo do-while.

Banner pubblicitario

Riprendiamo dunque l’esercizio svolto con il while nel precedente articolo sui cicli e lo modifichiamo utilizzando il do-while, al fine di paragonare i due metodi.

Il procedimento è molto semplice.

Inizializzo dapprima n a zero, poi lo incremento di 5 e lo visualizzo. Quando n non è più minore di 100 esco dal ciclo ed eseguo l’istruzione successiva.

Ecco dunque il listato dell’esempio proposto con il ciclo do-while in C++.

#include <iostream>
using namespace std;

int main(){	
	int n = 0;
	
	do {
		n += 5;
		cout << n << endl;
	} while (n < 100);
	
	return 0;
}


Esempio 2

Inserire n numeri e sommarli finchè non si inserisce il numero zero.

Dapprima inizializziamo a zero la variabile per la somma: somma=0;

Poi eseguiamo le istruzioni all’interno del ciclo: inseriamo dunque un numero, se il numero è uguale a zero allora non eseguiamo più il ciclo, altrimenti continuiamo le iterazioni finchè non immettiamo lo zero.

La condizione impostata è dunque: while (numero!=0);

Ecco quindi il listato dell’esempio proposto con il ciclo do-while in C++.

#include <iostream>
using namespace std;

int main(){	
	int numero, somma = 0;
	
	do {
		cout << "inserisci un numero";
		cin >> numero;
		somma += numero;
	} while (numero != 0);

	cout << somma << endl;
	return 0;
}

Esempio 3

Inserire un numero in input e finchè è negativo richiederlo nuovamente.

Allego dunque il listato dell’esempio proposto con il ciclo do-while in C++.

#include <iostream>
using namespace std;

int main(){	
	int numero;
	
	do {
		cout << "Inserisci un numero positivo ";
		cin >> numero;
	} while (numero < 0);
		
	return 0;
}

In questo modo si effettua dunque un controllo dell’input.

Questi sono solo alcuni semplici esempio sul ciclo do-while in C++.

Alcuni link utili

Indice argomenti linguaggio C++

1- Introduzione al linguaggio C++

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++