/* 6(a) Calculate the value of Sin(X) for different values of X in degrees using the series : Sin(X) = X - X3/3! + X5/5! + . . .
(a) to a given
accuracy (b) Using n terms
(c) Also print Sin(X) using library function
*/
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<conio.h>
void main()
{
int i,x,n,sign=1,ch,k=2,den=1;
double xr,acc,sum=0.0,temp;
clrscr();
printf("\t\t\t\t\tSINE SERIES\n");
printf("Input the value of x : ");
scanf("%d",&x);
if (x>=0)
{
printf("\n\nSelect any ONE option below : ");
printf("\n1. To a given accuracy");
printf("\n2. Upto `n' terms");
printf("\n3. Using library function sin(x)");
printf("\n0. Exit");
printf("\n\nYOUR CHOICE = ");
scanf("%d",&ch);
xr=((float)x*3.14159)/180.0;
switch(ch)
{
case 1:
printf("\nEnter the Accuracy Value : ");
scanf("%lf",&acc);
temp=xr;
for (i=1; fabs(sum-temp)>=acc; i+=2)
{
temp=sum;
sum+=(pow(xr,i)/den)*sign;
sign*=-1;
den*=k*(k+1);
k+=2;
}
printf("\n\nSine Value of %d (Upto Accuracy = %lf) is %lf",x,acc,sum);
break;
case 2:
printf("\nInput the value for n : ");
scanf("%d",&n);
for (i=1; i<=n; i+=2)
{
sum+=(pow(xr,i)/den)*sign;
sign*=-1;
den*=k*(k+1);
k+=2;
}
printf("\n\nSine Value of %d is %lf (Upto n = %d)",x,sum,n);
break;
case 3:
printf("\n\nSine Value of %d is %lf",x,sin(xr));
break;
case 0:
printf("\nThank you for using.");
break;
default:
printf("\n!!!Invalid Choice Selection. Please Try Again");
}
}
else printf("\n!!! Invalid Input Entry. Please Try Again");
getch();
}