Рекурсивное вычисление приближенного значения синуса в c

Рекурсивная функция Approx_sin(x,n)=x - x^3/3! + х^5/5! - х^7/7! + ... (-1)^n * x^(2*n-1) / (2*n-1)! Кто рассчитывает  приблизительное значение синуса порядка n.
Рекурсивное вычисление приблизительного значения синуса порядка n

#include< stdio.h> 
#include< stdlib.h>

unsigned long fact_recursive (unsigned short nombre)
{
if (number == 0)
return 1;
else
возвращаемое число * fact_recursive(число - 1);
}

unsigned int puiss(long int x, int n)
{
if(n == 0)
return 1;
if(n == 1)
return x;
int x2 = power(x,n/2);
if(n%2 == 0)
return x2 * x2;
return x2 * x2 * x;
}

float Approx_sin(float x, int n)
{
float fraction = (float)puiss(x,2*n-1) / (float)fact_recursive(2*n-1);
//display
if(n%2==1)
printf("n = %d --> %f\n",n,дробь);
else
printf("n = %d --> -%f\n",n,дробь);

//Терминальное условие: если n=1, то Approx_sin=x;
if(n==1)
{
return x;
}
else{
//если n нечетное, знак положительный
if(n%2==1)
return calcul_formule(x, n-1)+дробь;
//если n нечетное, знак отрицательный
else
возвращает calcul_formule(x,n-1)-дробь;
}
}

int main(int argc, char *argv[])
{
int n;
float x;
printf("Введите значение x: ");
scanf("%d",& x);
printf("Введите значение n: ");
scanf("%d",& n);
//расчет формулы
printf("Approx_sin(%f, %d ) = %f\n",x,Approx_sin(x,n) );
system("пауза");
}