Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> Lenguaje C

C++ while y do...while Bucle

C++ while y do...while Bucle

En este tutorial, aprenderemos el uso de los bucles while y do...while en la programación de C++ con la ayuda de algunos ejemplos.

En la programación de computadoras, los bucles se usan para repetir un bloque de código.

Por ejemplo, digamos que queremos mostrar un mensaje 100 veces. Luego, en lugar de escribir la declaración de impresión 100 veces, podemos usar un ciclo.

Ese fue solo un ejemplo simple; podemos lograr mucha más eficiencia y sofisticación en nuestros programas haciendo un uso eficaz de los bucles.

Hay 3 tipos de bucles en C++.

  1. for bucle
  2. while bucle
  3. do...while bucle

En el tutorial anterior, aprendimos sobre el ciclo for de C++. Aquí vamos a aprender sobre while y do...while bucles.


C++ while Loop

La sintaxis del while el bucle es:

while (condition) {
    // body of the loop
}

Aquí,

Para obtener más información sobre el conditions , visite Operadores lógicos y relacionales de C++.


Diagrama de flujo de ciclo while


Ejemplo 1:Mostrar números del 1 al 5

// C++ Program to print numbers from 1 to 5

#include <iostream>

using namespace std;

int main() {
    int i = 1; 

    // while loop from 1 to 5
    while (i <= 5) {
        cout << i << " ";
        ++i;
    }
    
    return 0;
}

Salida

1 2 3 4 5

Así es como funciona el programa.

Iteración Variable yo <=5 Acción
i = 1 true 1 se imprime y i se incrementa a 2 .
2do i = 2 true 2 se imprime y i se incrementa a 3 .
3ro i = 3 true 3 se imprime y i se incrementa a 4
i = 4 true 4 se imprime y i se incrementa a 5 .
i = 5 true 5 se imprime y i se incrementa a 6 .
i = 6 false El bucle se termina

Ejemplo 2:Suma de números positivos solamente

// program to find the sum of positive numbers
// if the user enters a negative number, the loop ends
// the negative number entered is not added to the sum

#include <iostream>
using namespace std;

int main() {
    int number;
    int sum = 0;

    // take input from the user
    cout << "Enter a number: ";
    cin >> number;

    while (number >= 0) {
        // add all positive numbers
        sum += number;

        // take input again if the number is positive
        cout << "Enter a number: ";
        cin >> number;
    }

    // display the sum
    cout << "\nThe sum is " << sum << endl;
    
    return 0;
}

Salida

Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2

The sum is 25

En este programa, se solicita al usuario que ingrese un número, que se almacena en la variable número .

Para almacenar la suma de los números, declaramos una variable sum e inicialícelo con el valor de 0 .

El while el ciclo continúa hasta que el usuario ingresa un número negativo. Durante cada iteración, el número ingresado por el usuario se suma a la suma variables.

Cuando el usuario ingresa un número negativo, el ciclo termina. Finalmente, se muestra la suma total.


C++ do...while Loop

El do...while loop es una variante del while bucle con una diferencia importante:el cuerpo de do...while el bucle se ejecuta una vez antes del condition está marcado.

Su sintaxis es:

do {
   // body of loop;
}
while (condition);

Aquí,


Diagrama de flujo del bucle do...while


Ejemplo 3:Mostrar números del 1 al 5

// C++ Program to print numbers from 1 to 5

#include <iostream>

using namespace std;

int main() {
    int i = 1; 

    // do...while loop from 1 to 5
    do {
        cout << i << " ";
        ++i;
    }
    while (i <= 5);
    
    return 0;
}

Salida

1 2 3 4 5

Así es como funciona el programa.

Iteración Variable yo <=5 Acción
  i = 1 no marcado 1 se imprime y i se incrementa a 2
i = 2 true 2 se imprime y i se incrementa a 3
2do i = 3 true 3 se imprime y i se incrementa a 4
3ro i = 4 true 4 se imprime y i se incrementa a 5
i = 5 true 5 se imprime y i se incrementa a 6
i = 6 false El bucle se termina

Ejemplo 4:Suma de números positivos únicamente

// program to find the sum of positive numbers
// If the user enters a negative number, the loop ends
// the negative number entered is not added to the sum

#include <iostream>
using namespace std;

int main() {
    int number = 0;
    int sum = 0;

    do {
        sum += number;

        // take input from the user
        cout << "Enter a number: ";
        cin >> number;
    }
    while (number >= 0);
    
    // display the sum
    cout << "\nThe sum is " << sum << endl;
    
    return 0;
}

Salida 1

Enter a number: 6
Enter a number: 12
Enter a number: 7
Enter a number: 0
Enter a number: -2

The sum is 25

Aquí, el do...while el ciclo continúa hasta que el usuario ingresa un número negativo. Cuando el número es negativo, el ciclo termina; el número negativo no se suma al sum variables.

Salida 2

Enter a number: -6
The sum is 0.

El cuerpo del do...while el ciclo se ejecuta solo una vez si el usuario ingresa un número negativo.


bucle while infinito

Si el condition de un bucle siempre es true , el bucle se ejecuta infinitas veces (hasta que la memoria está llena). Por ejemplo,

// infinite while loop
while(true) {
    // body of the loop
}

Aquí hay un ejemplo de un do...while infinito bucle.

// infinite do...while loop

int count = 1;

do {
   // body of loop
} 
while(count == 1);

En los programas anteriores, el condition siempre es true . Por lo tanto, el cuerpo del bucle se ejecutará infinitas veces.


bucles for vs while

Un for loop se usa generalmente cuando se conoce el número de iteraciones. Por ejemplo,

// This loop is iterated 5 times
for (int i = 1; i <=5; ++i) {
   // body of the loop
}

Aquí, sabemos que el bucle for se ejecutará 5 veces.

Sin embargo, while y do...while los bucles se utilizan generalmente cuando se desconoce el número de iteraciones. Por ejemplo,

while (condition) {
    // body of the loop
}

Consulte estos ejemplos para obtener más información:


Lenguaje C

  1. C# if, if...else, if...else if y declaración if anidada
  2. Clases y objetos de C++
  3. Gestión de memoria C++:nuevo y eliminar
  4. Herencia pública, protegida y privada de C++
  5. Función amiga de C++ y Clases amigas
  6. C++ do...while bucle con ejemplos
  7. Diferencia entre while y do-while:explicada con ejemplos
  8. Programa numérico Palindrome en Java usando while &for Loop
  9. C++ Fecha y hora
  10. Sobrecarga de C++ (operador y función)
  11. Archivos y flujos de C++