tengo que hacer esto
Elabore un programa en C++ en el que se permita ingresar un número entero positivo no mayor que 20 y se deberá mostrar el factorial de cada uno de los números desde el 1 hasta el número ingresado.
y esto es lo que tengo hecho
#include <iostream.h>
#include <stdlib.h>
int main()
{
int numero,a,c,d;
cout<< "Dame un numero entero \n";
cin>>numero;
a=numero;
if (numero>20)
{
cout << " Por favor, el numero solo puede ser 20 o menor que 20";
}
else
{
while (a>0)
{
d=a;
c=a-1;
while (c>0)
{
d=d*c;
c=c-1;
}
cout << "El factorial de " << a <<" es " << d ;
a=a-1;
}
}
return 0;
}
Hasta el nuemro 7 funciona perfecto, pero de ahi para alla da resultados incoherentes, alguien sabe a que se debe, profavor es urgente saber cual es el problema. gracias