For some reason my "else if" statement is not working. When I run the code with the input "20", I get the expression for the factorial back then for "20", when my "else if" statement should correct for this.
Help is appreciated.
include
unsigned int factorial(unsigned int number);
int main()
{
unsigned int number;
std::cout<< "Please enter a positive interger. ";
std::cin >> number;
std::cout << "facorial of " << number << " = " << factorial(number);
return 0;
}
unsigned int factorial(unsigned int number)
{
if (number > 1 && number < 20){
return number * factorial(number - 1);
}
else if (number >= 20){
std::cout << "error" << std::endl;
}
else
return 1;
}
Aucun commentaire:
Enregistrer un commentaire