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.
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.
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.
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
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
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?
hola panchito me podrias decir si tienes algun manual de c++ descargado aver si me pudieras decir el nombre por favor y yo te paso la direccio de uno videotutoriales que son muy wenos para seguir los ejecicios de javi la direccion es :http://foro.elhacker.net/programacion_cc/video_tutorial_programacion_c-t249577.0.html
espero me puedas ayudar y espero que te gusten los videos
gracias
Buenas Panchito,
Lo que comentas es importante y, para dar solución debemos de dar varios conceptos más, por que tenemos que tener en cuenta varias cosas sobre los caracteres y los enteros. Lo que voy hacer es colgarte esta tarde un vídeo explicativo sobre este tema, así resolverás esta duda. Estate atento.
Un saludo.
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
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.
gracias compañero
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
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;
}
y asi colocas debajo del triangulo equilatero el triangulo isoseles y el escaleno
Pingback: ingenieriainformatica.info - c++
Pingback: AprendeCPP.com » Blog Archive » Aprende C++: Estructuras repetitivas (BUCLES)
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.
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.
¿me podrias ayudar por favor necesito saber como hacer un programa corriendo en compilador c
Es urgente