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

Por qué me da 0 de resultado para los factoriales del 1 al 5 usando un ciclo while?

Estas en el tema de Por qué me da 0 de resultado para los factoriales del 1 al 5 usando un ciclo while? en el foro de C/C++ en Foros del Web. Me podrían decír que hice mal? xD Es que despliega 0 0 0 0 0 y en teoría debería desplegar 1 2 6 24 120... ...
  #1 (permalink)  
Antiguo 19/05/2011, 20:14
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Pregunta Por qué me da 0 de resultado para los factoriales del 1 al 5 usando un ciclo while?

Me podrían decír que hice mal? xD Es que despliega 0 0 0 0 0 y en teoría debería desplegar 1 2 6 24 120...

Aquí está el programa:
Código C:
Ver original
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main(){
  5.    
  6.     int f1 = 0, f2 = 0, f3 = 0, f4 = 0, f5 = 0;
  7.     int contador = 1;
  8.     int factor = 1;
  9.    
  10.     while(contador <= 5){
  11.        factor *= contador;
  12.        
  13.        switch(contador){
  14.           case '1':
  15.                f1 = factor;
  16.                break;
  17.                
  18.           case '2':
  19.                f2 = factor;
  20.                break;
  21.                
  22.           case '3':
  23.                f3 = factor;
  24.                break;
  25.                
  26.           case '4':
  27.                f4 = factor;
  28.                break;
  29.                
  30.           case '5':
  31.                f5 = factor;
  32.                break;
  33.           }
  34.        
  35.        contador++;
  36.        }
  37.     printf("%d %d %d %d %d", f1, f2, f3, f4, f5);
  38.     getch();
  39. }

Muchas gracias a aquel que guste explicarme xP

Saludos!!
  #2 (permalink)  
Antiguo 19/05/2011, 20:19
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Respuesta: Por qué me da 0 de resultado para los factoriales del 1 al 5 usando un cic

Ohm... olvidenlo... ya descubrí mi error... era porque en los cases ponía '1' y no 1... ahora alguien me podría explicar por qué?
  #3 (permalink)  
Antiguo 19/05/2011, 21:15
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Por qué me da 0 de resultado para los factoriales del 1 al 5 usando un cic

Porque una cosa es el caracter y otra cosas es un numero.

Un caracter va entre comillas simples y por lo general se guarda en una variable del tipo char. (mas adelante vas a descubrir que son representado por un numero y se pueden almacenar en un int)

Y por otro lado tenes los numeros, que ase escriben como numero, que se almacenan en variables del tipo int para enteros y float para decimales.

Basicamente es eso..obviamente que hay mas tipos y condiciones.

Etiquetas: resultados, ciclos
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 02:40.