• La sentencia do-while se utiliza para especificar un ciclo condicional que se ejecuta al menos una vez.
• Este ciclo se presenta en algunas circunstancias en las que se ha de tener la seguridad de que una determinada acción se ejecutara una o más veces, pero al menos una vez.
Sintaxis:
do
sentencia;
while ( condición );
• Si se requiere realizar más de un sentencia se deben utilizar llaves.
do
{
bloque de sentencias;
}
while ( condición ); // nota que lleva ;
• Se realizan los sentencias y se verifica la condición, mientras sea verdadera se sigue ejecutando; al momento de ser falsa termina el ciclo.
• Dado que la condición se revisa al final del ciclo el (los) sentencia(s), se realizan al menos una vez a diferencia del while.
Ejemplo I: Dado un número de tipo long decir cuántos dígitos tiene
#include <iostream.h>
long num;
int cant = 0, x;
int main()
{
cout<<"Teclea un numero ";
cin>>num;
x = num; // guardo el numero en otra variable para no perderlo (por si luego lo ocupo)
do
{
x = x / 10;
cant++;
} while (x > 0);
cout<<"El numero tiene "<<cant <<" digitos"<<endl;
return 0;
}
Ejemplo II: Validar que un número dado esté en el rango de 10 a 20.
#include <iostream.h>
int num;
int main()
{
do
{
cout << "Dame el numero " << endl;
cin >> num;
}
while ( (num <10) || (num > 20) );
cout << "Numero dentro de rango" << endl;
return 0;
}
donde si la condición es falsa la primera vez no se ejecuta lo que esté dentro del ciclo.