Se la condizione è vera allora si ripete il ciclo, altrimenti si passa all'istruzione successiva.
Vediamo dunque la sintassi dell'istruzione do-while in C++.
Fondamenti solidi di programmazione
Impara le basi della programmazione in C in modo semplice, pratico ed efficace. Variabili, cicli, funzioni, logica e algoritmi.
- ⏱️ 9 ore di corso registrato
- 🧩 Più di 50 algoritmi risolti passo passo
- 🎯 Livello base
- 💻 100% online, fruibile quando vuoi
istruzioni;
} 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.
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() {
for (int n = 5; n <= 100; n += 5) {
cout << n << endl;
}
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 (0 per terminare): ";
cin >> numero;
somma += numero;
} while (numero != 0);
cout << "La somma totale è: " << somma << endl;
return 0;
}
Si può anche evitare di stampare lo 0.
#include <iostream>
using namespace std;
int main() {
int numero, somma = 0;
do {
cout << "Inserisci un numero (0 per terminare): ";
cin >> numero;
if (numero != 0)
somma += numero;
} while (numero != 0);
cout << "La somma totale è: " << somma << endl;
return 0;
}
Esempio 3
Inserire un numero in input e se è negativo richiederlo nuovamente.
Controlliamo numero < 0 → se è vero, stampa un messaggio di errore e ripete la richiesta.
Usiamo il ciclo do-while → in questo modo il blocco viene eseguito almeno una volta. È utile perché l’utente deve inserire un numero almeno una volta.
Quando l’utente inserisce un numero non negativo, il ciclo termina e viene stampato il numero valido.
Allego dunque il listato dell'esempio proposto con il ciclo do-while in C++.
#include <iostream>
using namespace std;
int main() {
int numero;
// Continua a chiedere finché il numero è negativo
do {
cout << "Inserisci un numero (non negativo): ";
cin >> numero;
if (numero < 0) {
cout << "Errore: il numero non può essere negativo. Riprova.\n";
}
} while (numero < 0);
cout << "Hai inserito: " << numero << endl;
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++