Boa noite. Estou estudando C++ e me deparei com o seguinte problema:
No código abaixo tento implementar o algoritmo para o cálculo de exp(x). Entretanto ao chemar uma função dentro de outra acontece como se o algoritmo não concluísse a compilação.
#include <iostream>
#include <string>
#include <math.h>
using namespace std;
double determineFactorial(double number)
{
double factorialNumber;
bool flag =true;
factorialNumber=1;
if (number!=0)
{
while(flag)
{
factorialNumber=factorialNumber*(number);
number--;
if (number==1)
{
flag=false;
}
}
}
else factorialNumber=1;
return factorialNumber;
}
double determineExpX(double numberExp)
{
double expX;
bool flag =true;
double cont=0;
while(flag)
{
expX=pow(numberExp,cont)/determineFactorial(cont);
cont++;
if (cont==10)
{
flag=false;
}
}
return expX;
}
int main ()
{
double number1=3;
double number2=3;
cout << "O fatorial de " << number1 << " é: " << determineFactorial(number1)<< ".\n"<< endl;
cout << "O exponencial de " << number2 << " é: " << determineExpX(number2)<< ".\n"<< endl;
return 0;
}