Foros del Web » Programación para mayores de 30 ;) » C/C++ »

while se anula cuando ingresa 0?

Estas en el tema de while se anula cuando ingresa 0? en el foro de C/C++ en Foros del Web. hola este este ejercicio que dice que ingrese numeros enteros hasta que sea el valor cero, imprimir el producto de los mismos.... y yo hice ...
  #1 (permalink)  
Antiguo 20/06/2010, 16:16
 
Fecha de Ingreso: julio-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses
Puntos: 0
while se anula cuando ingresa 0?

hola este este ejercicio que dice que ingrese numeros enteros hasta que sea el valor cero, imprimir el producto de los mismos....
y yo hice esto ....

#include<conio.h>
#include<stdio.h>
main()
{
int num,prod=1;
printf ("Programa que ingresa numeros hasta cero y realiza el producto\n\n");
while (num!=0)
{
printf("\ningrese un numero: ");
scanf("%d",&num);
prod=prod*num;
}
printf("\nEl producto de los numeros ingresados es: %d",prod);
getch ();
}



___________
osea cuando ingresa el cero , ademas de cumplir la condicion del while y cierra todo, lo toma como para multiplicar y claro cualquier numero por 0. da 0 y no la multiplicacion de los numeros anteriores....
saludos
  #2 (permalink)  
Antiguo 20/06/2010, 18:21
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: while se anula cuando ingresa 0?

Usa if.
Inicializa la variable num.
  #3 (permalink)  
Antiguo 20/06/2010, 19:18
 
Fecha de Ingreso: julio-2009
Mensajes: 29
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: while se anula cuando ingresa 0?

baa si inicializo en 0 la variable num, se cierra. directamente con el mientras (while)

if dicen que use....

que con while no funciona entonces¿¿¿
  #4 (permalink)  
Antiguo 20/06/2010, 19:35
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: while se anula cuando ingresa 0?

tu problema es el siguiente..... vos estas leyendo y multiplicando y despues se chekea la condicion del while....entonces vos ingreasas el 0, multiplicas y despues se fija si numero es igual a cero, da true y por eso sale.....

deberias:
printf("\ningrese un numero: ");
scanf("%d",&num);
while (num!=0)
{
prod=prod*num;
printf("\ningrese un numero: ");
scanf("%d",&num);
}

Fijate con ese cambio
  #5 (permalink)  
Antiguo 20/06/2010, 23:22
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: while se anula cuando ingresa 0?

1234567891
Código c++:
Ver original
  1.  

Última edición por margarito04; 20/06/2010 a las 23:29

Etiquetas: cuando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:17.