SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: darksig en Viernes 9 de Noviembre de 2007, 01:51
-
:hola: Buenas noches... tengo este codigo para calcular el factorial de un numero por medio de una funcion pero el problema es que siempre me da como resultado el mismo valor. Agradezco la atencion y colaboracion que me puedan brindar. :comp:
#include<stdio.h>
#include<conio.h>
int factorial(int num1);
int main()
{
clrscr();
int num;
printf("Digite el numero\n");
scanf("%d", &num);
printf("El factorial del numero es: %d\n", factorial(num));
getch();
return 0;
}
int factorial(int num1)
{
int i, num, cont;
cont = 1;
i = 1;
while (cont <= num)
{
i = i * cont;
cont++;
return i;
}
}
-
:hola: Buenas noches... tengo este codigo para calcular el factorial de un numero por medio de una funcion pero el problema es que siempre me da como resultado el mismo valor. Agradezco la atencion y colaboracion que me puedan brindar. :comp:
#include<stdio.h>
#include<conio.h>
int factorial(int num1);
int main()
{
clrscr();
int num;
printf("Digite el numero\n");
scanf("%d", &num);
printf("El factorial del numero es: %d\n", factorial(num));
getch();
return 0;
}
int factorial(int num1)
{
int i, num, cont;
cont = 1;
i = 1;
while (cont <= num)
{
i = i * cont;
cont++;
return i;
}
}
La linea va debajo de la siguiente llave de cierre "}" del código. De lo contrario, el bucle del while solamente se ejecuta una vez y la función retorna el valor de que en la primer pasada siempre vale uno.
Un consejo: Ante este tipo de errores, ejecuta paso a paso para ver que está pasando, si eso no furula, depurá.
PD: Utilizá las etiquetas CODE para publicar tu código, debido a que no las usaste, no se si el código estaba tabulado o no, de ser que no, hacelo también.
Un saludo :beer:
-
Muchas gracias mollense ya he podido resover el problema.
-
Muchas gracias mollense ya he podido resover el problema.
No hay porqué !
Un saludo :beer: