这个程序作用是坐标系的转换
问题在于程序没有输出
例如
xyz输入123就可以有输出
#include
using namespace std;
#define N 6378137/7292115.1467e-11
#define e2 0.00673949
#define e1 0.00669437
#define c 6378137*6378137/6356752.3142
int i=0;
class ZhuanHuan {
public:
void ZzhuanD(double x,double y,double z)
{
m_l = atan(y / x);
m_b = Diedai(x, y, z);
cout << m_b << " " << m_l;
}
double Diedai(double x, double y, double z)
{
double b1 = atan(z / sqrt(pow(x, x) + pow(y, y)));
double b2 =atan(z / sqrt(pow(x, x) + pow(y, y)) + c * e1 * tan(b1 / sqrt(pow(x, x) + pow(y, y)) * sqrt(1 + (1 - e2) * tan(b1))));
while ((b2-b1)<=0.0001)
{
b1 = b2;
b2 = atan(z / sqrt(pow(x, x) + pow(y, y)) + c * e1 * tan(b1 / sqrt(pow(x, x) + pow(y, y)) * sqrt(1 + (1 - e2) * tan(b1))));
}
return b2;
}
public:
double m_x;
double m_y;
double m_z;
double m_l;
double m_b;
};
int main()
{
double x, y, z;
ZhuanHuan Z1;
cout << "请输入xyz"<> x >> y >> z;
Z1.ZzhuanD(x, y, z);
}
同常是因为数据太大,卡了