hello everyone, i wrote a code in C that suppose to calculate COS of an angle.

i dont need help with the writing, i just have one problem, for some reason the program doesnt enter the function cosApprox, it suppose to enter the function and save the result in sum_column , but it just skips it, does someone knows why?

Thanks.

Code:

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define PI 3.1415927
double power(double a, int b);
long factorial(int n);
double cosElement(double x, int i);
double cosApprox(double x, int i);
int main()
{
double x; /* Angle variable */
int k; /* Number of elements variable */
double sum_column; /* Sum of all elements variable */
clrscr();
printf("\nEnter an angle (in Radians):");
scanf("%lf", &x);
printf("\nEnter number of elements:");
scanf("%d", &k);
while(k<0)
{
printf("Erroneous Input. Please enter number of elements (k>=0):");
scanf("%d", &k);
}
sum_column=cosApprox(x, k); /* a function to calculate the sum of elements */
printf("The value of Cos(x) is: %.4lf", 1+sum_column);
getch();
return 0;
}
double cosApprox(double x, int i)
{
double sum=0;
for(i=i;i>0;i--)
{
sum=sum+cosElement(x, i);
}
return sum;
}
double cosElement(double x, int i) /* a function to calculate the element in the i place of the column */
{
double element;
element=pow((-1),i)*power(x,i)/factorial(i);
return element;
}
long factorial(int n) /* a function to calculate the factorial of a number */
{
long sum_f=2*n;
int i;
for(i=2*n;i>1;i--)
{
sum_f=sum_f*(2*n-1);
}
return sum_f;
}
double power(double a, int b) /* a function to calculate x^2k */
{
double power;
power=pow(a,2*b);
return power;
}