Donar $20 Donar $50 Donar $100 Donar mensualmente
 


Enviar respuesta 
 
Calificación:
  • 0 votos - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Buscar en el tema
Do while...dudas de uso
Autor Mensaje
cloferba Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Otra
Facultad Regional Santa Fe

Mensajes: 42
Agradecimientos dados: 2
Agradecimientos: 2 en 2 posts
Registro en: Sep 2014
Mensaje: #1
Do while...dudas de uso Dudas y recomendaciones Algoritmos y Estructuras de Datos
Hola a todos

Tengo una duda referente al Do While, no puedo entender porque no funciona el siguiente codigo y creo que esta mal aplicada la idea del Do While:


//Escribe un programa que valide el ingreso de un número entero positivo. Si el número es negativo o
//cero, el programa debe solicitar el reingreso hasta que el número ingresado sea válido.
#include <iostream>
using namespace std;
int main (){
int numero;
cout << "Ingresar el numero"<<endl;
cin >> numero;
do {
cout<< "Debes ingresar un numero valido"<<endl;
cin >> numero;
}
while (numero<1);
cout <<"El numero ingresado es valido"<<endl;
return 0;
}



Mirando mi codigo interpreto que:
Al leerse el Do automaticamente pasa abajo y lee el condicional While, en caso de cumplirse ejecuta lo del Do y en caso que no se cumplia sigue con lo ubicado debajo del While.

Estoy equivocado? En caso que si, tienen alguna otra manera de explicarme el uso del Do While?
[/code]
Desde ya muchas gracias
07-08-2015 00:19
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Zyk Sin conexión
Empleado del buffet
Sin estado :(
*

Ing. Electrónica
Facultad Regional Buenos Aires

Mensajes: 7
Agradecimientos dados: 4
Agradecimientos: 2 en 2 posts
Registro en: Jul 2014
Mensaje: #2
RE: Do while...dudas de uso
Si no me equivoco, el do while se ejecuta aunque sea una sola vez. Es decir, primero ejecuta lo que esta despues del do, despues comprueba la condicion. Si es verdadera sigue ejecutandose. Si es falsa sale del while
07-08-2015 00:34
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
evildark08 Sin conexión
Empleado del buffet
asdasdd
*

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 6
Agradecimientos dados: 50
Agradecimientos: 5 en 3 posts
Registro en: Nov 2013
Facebook
Mensaje: #3
RE: Do while...dudas de uso
Edit: Esta mal porque al principio pedis 2 veces que se ingrese un número, y seguramente ahí se te trababa.
Siempre se ejecuta lo que está dentro del do, luego analiza la condición del while. Si la condición es verdadera, entonces se vuelve al do.
Caso contrario continúa.
PD: ojo que el programa no va a andar correctamente si el usuario ingresara 1.

Edit: si quisieras conservar esa estructura, deberías cambiar el do-while por un while(numero <= 1)
Sino borra las líneas 7 y 8 y también debería funcionar
(Este mensaje fue modificado por última vez en: 07-08-2015 00:56 por evildark08.)
07-08-2015 00:37
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
cloferba Sin conexión
Empleado de Fotocopiadora
Sin estado :(
**

Otra
Facultad Regional Santa Fe

Mensajes: 42
Agradecimientos dados: 2
Agradecimientos: 2 en 2 posts
Registro en: Sep 2014
Mensaje: #4
RE: Do while...dudas de uso
Perfecto ahora comprendo el do while.
Esto significa que lo podemos usar principalmente para un contador y que al llegar a cierto valor (sumando) salga del do while.
Hay otros ejemplos practicos?
07-08-2015 09:59
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
rod77 Sin conexión
Presidente del CEIT
:o
********

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 1.079
Agradecimientos dados: 130
Agradecimientos: 399 en 176 posts
Registro en: Mar 2011
Mensaje: #5
RE: Do while...dudas de uso
Su uso, es para cuando vos necesitas que se corra al menos una vez.

Sinceramente el "do..while" no lo vas a usar mucho, ya que poniendo cierta condición en el "while" lo podes hacer funcionar igual que el otro.

Por ejemplo, en tu ejercicio podes hacerlo asi:


int main (){
int numero;

do {
cout<< "Ingrese un valor positivo."<<endl;
cin >> numero;
}
while (numero<1);

cout<< "Usted ingreso un valor correcto."<<endl;
return 0;
}


Se ejecuta 1 vez solicitando el valor, si es negativo o 0, vuelve a solicitar el valor. sale del ciclo cuando es mayor a 1.
07-08-2015 10:17
Envíale un email Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Toonami Sin conexión
Empleado de Fotocopiadora
Hakuna Matata
**

Ing. en Sistemas
Facultad Regional Buenos Aires

Mensajes: 43
Agradecimientos dados: 5
Agradecimientos: 2 en 2 posts
Registro en: Feb 2011
Mensaje: #6
RE: Do while...dudas de uso
el do a mi gusto es un dibujo, no es necesario en el algoritmo (es mas, es medio inutil la mayoria del tiempo xq siempre tenes la opcion de no usarlo), solo con el while y un cout al salir era suficiente

int main (){
int numero;
cout<< "Ingrese un valor positivo."<<endl;
cin >> numero;
while (numero<1);{
cout<< "Ingrese un valor positivo."<<endl;
cin >> numero; }
cout<< "Usted ingreso un valor correcto."<<endl;
return 0;}
}
(Este mensaje fue modificado por última vez en: 07-08-2015 16:18 por Toonami.)
07-08-2015 16:16
Encuentra todos sus mensajes Agregar agradecimiento Cita este mensaje en tu respuesta
Buscar en el tema
Enviar respuesta 




Usuario(s) navegando en este tema: 1 invitado(s)



    This forum uses Lukasz Tkacz MyBB addons.