c++的一个角度和弧度转换的一个程序,怎么不能正确转换?
#include<iostream.h>constdoublepi=3.1415926535;doubleradtoang(double){doubleang,rad;a...
#include<iostream.h>
const double pi=3.1415926535;
double radtoang (double)
{
double ang,rad;
ang=rad*180/pi;
return ang;
}
double angtorad (double)
{
double ang,rad;
int a,b;
double c;
a=int(ang);
b=int((ang-int(ang))*100);
c=ang-a-b;
rad=(a*pi/180)+(b*pi/180/60)+(c*pi/180/60/60);
return rad;
}
main()
{
int option;
cout<<"angtorad请输入1,radtoang请输入2"<<'\n';
cin>>option;
switch (option)
{
case 1:
cout<<"请输入一个角度x:"<<'\n';
double x,rad;
cin>>x;
angtorad(x);
cout<<"rad="<<rad<<endl;
return rad;
break;
case 2:
cout<<"请输入一个弧度y:"<<'\n';
double y,ang;
cin>>y;
radtoang(y);
cout<<"ang="<<ang<<endl;
return ang;
}
}
求大神指教,调试了,没错误,但是转换角度的时候,不鞥正确抓换( 角度的输入方式如38度56秒24.5分,应该输入38.56245),哪里错了? 展开
const double pi=3.1415926535;
double radtoang (double)
{
double ang,rad;
ang=rad*180/pi;
return ang;
}
double angtorad (double)
{
double ang,rad;
int a,b;
double c;
a=int(ang);
b=int((ang-int(ang))*100);
c=ang-a-b;
rad=(a*pi/180)+(b*pi/180/60)+(c*pi/180/60/60);
return rad;
}
main()
{
int option;
cout<<"angtorad请输入1,radtoang请输入2"<<'\n';
cin>>option;
switch (option)
{
case 1:
cout<<"请输入一个角度x:"<<'\n';
double x,rad;
cin>>x;
angtorad(x);
cout<<"rad="<<rad<<endl;
return rad;
break;
case 2:
cout<<"请输入一个弧度y:"<<'\n';
double y,ang;
cin>>y;
radtoang(y);
cout<<"ang="<<ang<<endl;
return ang;
}
}
求大神指教,调试了,没错误,但是转换角度的时候,不鞥正确抓换( 角度的输入方式如38度56秒24.5分,应该输入38.56245),哪里错了? 展开
2个回答
展开全部
角度跟弧度的关系是一个圆周为360角度等于2π弧度,因此换算关系就是:
1角度=π/180弧度
1弧度=180/π角度
由此设计角度和弧度的转换函数。其中用到π是一个无理数,可以根据需要截取适当的精度,比如:
#define PI 3.14159265
角度转换成弧度,把角度乘以PI/180就可以了,角度和转换成的弧度都可能是小数。
double DegToRad(double deg)
{
return deg*PI/180;
}
弧度转换成角度,把弧度乘以180/PI就可以了,弧度和转换成的角度都可能是小数。
double RadToDeg(double rad)
{
return rad*180/PI;
}
1角度=π/180弧度
1弧度=180/π角度
由此设计角度和弧度的转换函数。其中用到π是一个无理数,可以根据需要截取适当的精度,比如:
#define PI 3.14159265
角度转换成弧度,把角度乘以PI/180就可以了,角度和转换成的弧度都可能是小数。
double DegToRad(double deg)
{
return deg*PI/180;
}
弧度转换成角度,把弧度乘以180/PI就可以了,弧度和转换成的角度都可能是小数。
double RadToDeg(double rad)
{
return rad*180/PI;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |