C言語における指数関数の再帰的計算

e(x)=1+ x/1!+ x^2/2!+ x^3/3!+ ... + x^n/n!と x^n/n!< Ɛ

#include
#include

unsigned long fact_recursive (unsigned short nombre)
{
  if (number == 0)
    return 1;
  else
    戻り値 number * fact_recursive(number - 1);
}

unsigned int puiss(long int x, int n)
{
 if(n == 0)
  1を返します。
 if(n == 1)
  x;
 int x2 = powers(x,n/2);
 if(n%2 == 0)
  x2 * x2を返します。
 x2 * x2 * x;
}

double calcul_formule(int x, int n, int epsilon)
{
   倍精度分数 = (double)puiss(x,n) / (double)fact_recursive(n);
   if(n==0)
   {
       return 1;
   }
   else{
     //powers(x,n)/n!>epsilon
     if(分数 < イプシロン)
       return fraction+calcul_formule(x,n-1、イプシロン);
     else
       calcul_formule(x,n-1、イプシロン);
   }

}

int main(int argc, char *argv[])
{
   int型x、n、イプシロン;
   printf("xの値を入力してください: ");
   scanf("%d",&x);
   printf("nの値を入力してください: ");
   scanf("%d",&n);
   printf( イプシロンの値を入力します: ");
   scanf("%d",&イプシロン);
    //数式の計算
   printf("exp( %d ) = %f\n",x,calcul_formule(x,n,epsilon) );
   system("一時停止");
}