Ejemplo:
Si el número ingresado por ejemplo sería 5, para sacar el factorial se hace 5*4*3*2*1= 120, esto mismo intento hacer en el programa, pero no obtengo los resultados que quiero.
Dejo el código de el programa que hice
main.cpp
Código
Factorial.h
#include <iostream> using std::cout; using std::endl; using std::cin; #include "Factorial.h" int main() { int numero; cout <<"Escriba un numero entero no negativo para calcular su factorial!\n" <<"Numero: "; cin >> numero; Factorial Factorial1(numero); Factorial1.establecerFactorial(); cout <<"El factorial es: " <<Factorial1.obtenerFactorial() <<endl; cin.get(); cin.get(); return 0; }
Código
Factorial.cpp
class Factorial { public: Factorial(int); //Funciones establecer void establecerNumero(int); void establecerFactorial(); //Funciones obtener int obtenerFactorial(); private: int numeroFactorial; int resultado; };
Código
#include <iostream> using std::cout; #include "Factorial.h" Factorial::Factorial(int numero) { establecerNumero(numero); } //Funciones Establecer void Factorial::establecerNumero(int numero) { if (numero > 0) { numeroFactorial= numero; } else { cout <<"\nEl numero ingresado no es correcto!\n"; } } void Factorial::establecerFactorial() { int numeroMultiplicador = numeroFactorial - 1; while (numeroMultiplicador != 0) { resultado= (resultado + (numeroFactorial * numeroMultiplicador)); --numeroMultiplicador; } } //Funciones Obtener int Factorial::obtenerFactorial() { return resultado; }
Desde ya gracias por cualquier ayuda