我正在从一本名为C ++ Modules for Gaming的书中练习第3章(功能)。 我无法做到的这一个问题是找到(2,4)的atanf(4/2),根据这本书和我的计算器应该回复' 63.42'度。
相反,它给了我1.107度。这是我的代码:
#include "stdafx.h"
#include <iostream>
#include <cmath>
using namespace std;
void tani(float a,float b) //Finds the Tan inverse
{
float res;
res = atanf(b / a);
cout << res << endl;
}
int main()
{
cout << "Enter The Points X and Y: " << endl;
float x, y;
cin >> x >> y; //Input
tani(x,y); //calling Function
}
答案 0 :(得分:5)
atanf
以及c++中的其他三角函数会返回radians的结果。 1.107弧度是63.426428度,所以你的代码是正确的。
您可以通过乘以180并除以Pi(M_PI
提供的<cmath>
常数)将弧度转换为度数:
cout << res * 180.0 / M_PI << endl;
答案 1 :(得分:1)
它以弧度给你正确的答案。简单地将它转换为Degree!
void tani(float a, float b) //Finds the Tan inverse
{
float res;
res = atanf(b/ a);
cout << res *(180 / 3.14) << endl;
}