Programación en c++: El bucle do-while

En este artículo quiero mostrarte una de las sentencias repetitivas, que si bien tiene un gran parecido al bucle while, tiene una diferenciación que puede resultar muy importante a la hora de realizar programas.  Si lees este artículo vas a conseguir realizar comprobaciones a los datos introducidos por los usuarios, teniendo así un mejor control de los errores.El bucle do-while  te va a permitir realizar las mismas operaciones que realiza un bucle while. Entonces te preguntarás, ¿Por qué existe? ¿Que diferencia hay?. Pues bueno, la diferencia que tiene este bucle es que siempre se realiza la primera iteración.

Voy a intentar explicarte esto mucho mas claro, y voy a comenzar poniéndote la sintaxis de este  bucle:

do{
sentencias;
}while (condición);

En la sintaxis no olvideis nunca de los puntos y comas finales, y si hay más de una sentencia es obligatorio poner las llaves. Como veis lo que es repetitivo son las sentencias según sea la condición verdadera o falsa hará que el bucle siga repitiéndose o no. Lo que si nos damos cuenta es que la primera ejecución siempre se realiza independientemente de la condición.

Un pequeño ejemplo de este bucle sería el siguiente:

Este ejemplo repite por pantalla 5 veces la «frase hola mundo», como veis, esto mismo se puede hacer con el bucle while. ¿Para que utilizamos los programadores el do-while? lo utilizamos para controlar los datos introducidos por el usuario.

Voy a ponerte un código que te mostrará como funciona el bucle do-while con el tema del control de datos introducidos por el usuario. Este código hará un programa que muestre un menú con opciones. si el usuario introduce una de esas opciones, el programa sacará por pantalla bien y terminará, si el usuario no introduce ninguna de esas opciones, el programa sacará de nuevo por pantalla el menú y esperará a que el usuario elija una de las opciones deseadas.

Copia este código y prueba si los resultados son los deseados, cuando lo ejecutes observarás la importancia y la repercusión que tiene esta estructura repetitiva dentro del mundo de la programación.

Déjame un comentario con tus dudas y también diciéndome que te ha parecido el artículo. Yo mismo estaré contestando.

Muchas gracias,

Javi Pizarro.

Acerca de Javi Pizarro

Ingeniero informático dedicado a la docencia, con experiencia en creación de programas de gestión y desarrollo de aplicaciones web.
Esta entrada fue publicada en Programacion y etiquetada , , , , , , , , , , , , . Guarda el enlace permanente.

20 respuestas a Programación en c++: El bucle do-while

  1. raul galvez cachairo dijo:

    wenas javi
    si tenemos el siguiente bucle habria alguna manera de dacir etc(etcetera)al final
    do{
    cout<<"______________"<<endl;
    }while(ab / cd == 1||2||3||4||<=====aqui se puede dicir etc de alguna manera?
    gracias
    un saludo.

    • Javi Pizarro dijo:

      Buenas raúl, no entiendo tu pregunta, puedes formularla de nuevo?. etc no se puede decir en una condición pero si puedes poner ab/cd mayor o igual que 5 || ab/cd menor o igual que el etc que quieras.

      • raul galvez cachairo dijo:

        hola javi
        me explico como un libro cerrao
        he visto que en algunos sitios se usan tres puntos que me parecia que queria decir etc
        [= ], …}====>estos tres puntos qiueren decir etc??¿¿
        if(123 == a) …====>esta era mi pregunta por los tres puntos
        if(int val = func(arg))…==>y si no quiere decir etc que significa
        gracias

  2. raul galvez cachairo dijo:

    wenos dias
    javi mira, las variables es aconsejable iniciarlas en la declaracion no?¿
    darle valor cero por ejemplo int a=0; vale?¿
    ya esta inicializada?¿
    saludos

  3. PANCHITO dijo:

    Hola, me salio bien el ejercicio, pero si el usuario introduce una letra, el bucle se hace infinito, cual sera la solucion para ese problema?

  4. raul galvez cachairo dijo:

    panchito si no tienes ningun manual no importa de todos modos te e dejado la direccion y me parece que hay que registrarse y si alguna vez encuentras algun buen manual de c++ te agradeceria si me pasaras el nombre o la direccion
    GRACIAS y perdona por las molestias

    • PANCHITO dijo:

      Raul galvez cachairo : perdon por no responder, estuve atendiendo otros asusntos escolares de mucha importancia, por lo que tuve que abandonar la programacion un rato.
      En realidad no estoy siguiendo ningun manual c++, lo problemas o dudas que he tenido las he resuelto con ayuda de Google.
      Gracias por los videos, los voy a checar, cuando encuentre algun manual o buenos vídeos te los pasare.

  5. christopher dijo:

    ola me sirvio mucho el video pero tengo un problema en el cual no tengo ni idea de como empezar a resolverlo… es el siguiente:
    elaborar un algoritmo que permite ingresar los siguientes datos de varias personas; DNI, Edad;Estado Civil.Se debe imprimir el porcentaje de solteros, el porcentaje de casados y quienes tienen el mayor promedio de edad(los solteros o casados). El ingreso de datos se realizara hasta que para el DNI se ingrese el numero cero.

    seria de mucha ayuda que me orientes en este problema… gracias

  6. tori dijo:

    hola, soy nva en esto, y me ha servido de mucho la info, qiero hacer un programa para obtener el area o el perimetro de un triangulo, solo q no sé como poner el menú para q el ususario elija entre area o perimetro, me serviria de mucho su ayuda.

    • #include «iostream.h»
      #include «conio.h»
      void area()
      {
      float b, h, area;
      gotoxy(13,17);cout<<"****—Calcular el Area de un TRIANGULO—****"<<endl;
      cout<>b;
      cout<>h;
      area=(b*h)/2;
      cout<<"Su area es: 1/2 ("<<b<<"*"<<h<<") = "<<area;
      getch();
      }

      void perimetro()
      {
      float l, per;
      gotoxy(13,17);cout<<"****—Calcular el perimetro de un TRIANGULO equilatero—****"<<endl;
      cout<>l;
      per=3*l;
      cout<<"Su perimetro es: 3*("<<l<<") = "<<per;
      getch();
      }

      void menu()
      {
      char opc='s';
      int op;
      while(opc=='s')
      {
      clrscr();
      gotoxy(28,4);cout<<"¿Que quiere calcular?";
      gotoxy(31,6);cout<<"1.-Area triangulo";
      gotoxy(31,7);cout<<"2.-Perimetro triangulo equilatero";
      gotoxy(31,8);cout<<"3.-Salir";
      gotoxy(31,10);cout<>op;
      switch (op)
      {
      case 1: area();
      break;
      case 2: perimetro();
      break;
      case 3: opc=’n’;
      break;
      }
      }
      }

      int main()
      {
      menu();
      return 0;
      }

  7. Pingback: ingenieriainformatica.info - c++

  8. Pingback: AprendeCPP.com » Blog Archive » Aprende C++: Estructuras repetitivas (BUCLES)

  9. hola a todos, discúlpenme, alguien me puede hacer el favor de decirme como puedo yo hacer un programa en c o c++ que me calcule las tablas de multiplicar por sumas sucesivas, con la herramienta do-whie o cualquier otra??????????????? es urgente.
    les agradezco de antemano.

  10. Alejandro dijo:

    Amigo me dejaron aser un menu en el c++ repetitivo lo hice pero nose porque al momento de quererlo repetir osea que salgan el menu de opciones no sale se cierra y lo tienes que estar abriendo para que agarre como puedo aserlo repetitivo me dijieron que con el do,while pero no me sale.

  11. mirna leticia mancha torres dijo:

    ¿me podrias ayudar por favor necesito saber como hacer un programa corriendo en compilador c

  12. mirna leticia mancha torres dijo:

    Es urgente

Replica a PANCHITO Cancelar la respuesta