FIMEE-ELECTRÓNICA, UNICA
Estructuras repetitiva Infinita mientras (while)
Los ciclos while son también una estructura cíclica, que nos permite ejecutar una o varias líneas de código de manera repetitiva sin necesidad de tener un valor inicial e incluso a veces sin siquiera conocer cuando se va a dar el valor final que esperamos, los ciclos while, no dependen directamente de valores numéricos, sino de valores booleanos, es decir su ejecución depende del valor de verdad de una condición dada, verdadera o falso, nada más. De este modo los ciclos while, son mucho más efectivos para condiciones indeterminadas, que no conocemos cuando se van a dar a diferencia de los ciclos for, con los cuales se debe tener claro un principio, un final y un tamaño de paso.
Para comprender mejor el funcionamiento del ciclo while, pongamos un buen ejemplo, imaginemos que por algún motivo, queremos pedirle a un usuario una serie de números cualquiera y que solo dejaremos de hacerlo cuando el usuario ingrese un número mayor a 100. Como vemos, aquí no podríamos utilizar un ciclo for, pues no tenemos ni idea de cuándo al usuario se le va a ocurrir ingresar un número mayor que 100, es algo indeterminado para nosotros, sin embargo el ciclo while nos permite ejecutar una acción de forma infinita hasta que se cumpla alguna condición especifica, en nuestro caso sería que el numero ingresado sea mayor a 100. De modo que si el usuario nos ingresa de manera sucesiva los siguientes numero 1,50,99, 49, 21, 30, 100 ..., nuestro programa no finalizara, pues ninguno de estos números es mayor que 100, sin embargo si nos ingresara el numero 300, el programa finalizaría inmediatamente.
​
La sintaxis de un ciclo while es incluso más simple y "legible" que la del ciclo for en C++, pues simplemente requerimos tener clara una condición de parada. En realidad, en la mayoría de los lenguajes de alto nivel la manera de escribir un ciclo while (la sintaxis) es incluso muy similar, así que con tan solo tener bien clara una condición de finalización para el ciclo tendremos prácticamente todo hecho

while tiene asociado un bloque de sentencias que se ejecutarán secuencialmente mientras la condición de entrada al bucle sea cierta.
La condición se evalúa al comienzo de la estructura. Esto supone que el bloque de instrucciones puede no ejecutarse ninguna vez si la condición es inicialmente falsa.
EJEMPLO
#include "iostream"
using namespace std;
int main()
{
int numero;
cout << "Ingrese un numero ";
cin >> numero;
while(numero <= 100)
{
cout << "Ingrese un numero ";
cin >> numero;
}
system("PAUSE");
return 0;
}
#include <iostream>
using namespace std;
int main()
{
cout << "Introduzca cuantos números reales quiere sumar: ";
int num_valores;
cin >> num_valores;
int contador = 0;
double suma = 0.0;
while (contador < num_valores)
{
cout << "Deme valor real a sumar: ";
double valor;
cin >> valor;
suma += valor; // Equivalente a suma = suma + valor
contador += 1; // Equivalente a contador = contador + 1
}
if (num_valores > 0)
cout << "La suma de los " << num_valores <<
" valores introducidos es " << suma << endl;
else
cout << "No se introdujeron números para realizar la suma.\n";
}