c++计算sinx的值求大佬帮忙

描述
计算sin(x)=x-x^3/3!+x^5/5!-X^7/7!+......,直到最后一项的绝对值小于10-7时停止计算。其中-2Π<=x<=2Π,^表示次方,如x^3表示x的3次方。
输入
一个实数x,-2Π<=x<=2Π
输出
sin(x)的值
输入样例 1
3.142
输出样例 1
-0.000407347
提示
要求用C++的IO进行输入、输出。不允许使用pow函数。

#include <iostream>
#define EPS 1e-7
int main()
{
    double x, res = 0, sing;
    char flag = 1;
    int itr = 1;
    std::cin >> x;
    res += (sing = x);
    while(sing > EPS)
    {
        flag = -flag;
        itr += 2;
        sing = sing * x * x / (itr - 1) / itr;
        res += flag * sing;
    }
    std::cout << res;
    return 0;
}