#include<stdio.h>
#include<math.h>
#define P 3.1412592635
void ang_disTOcoor(double D,double ang)
{
printf("x=%f,y=%f",D*cos(ang),D*sin(ang));
}
void coorTOang_dis(double x1,double y1,double x2,double y2)
{
double ang,D,dif;
ang=atan((y2-y1)/(x2-x1));
dif=(y2-y1)*(y2-y1)+(x2-x1)*(x2-x1);
D=sqrt(dif);
printf("ang=%lf,D=%lf",ang,D);
}
void main()
{
double a,b;
void ang_disTOcoor(double D,double ang);
printf("1.坐标正算。\n2.坐标反算。\n");
int i;
scanf("%d",&i);
switch(i)
{
case 1:
printf("请输入坐标方位角,和水平距离,。如:ang=36.12(角度需要化成小数形式),D=50\n");
scanf("ang=%5.2lf,D=%5.2lf",&a,&b);
ang_disTOcoor(a,b);
break;
case 2:
double x1,x2,y1,y2 ;
void coorTOang_dis(double x1,double y1,double x2,double y2);
printf("请输入两点坐标如:(10.2,45.2),(25.00,58.32)\n");
scanf("(%lf,%lf),(%lf,%lf)",&x1,y1,&x2,&y2);
coorTOang_dis(x1,y1,x2,y2);
break;
default:putchar('\a');
}
}
#include<math.h>
#define P 3.1412592635
void ang_disTOcoor(double D,double ang)
{
printf("x=%f,y=%f",D*cos(ang),D*sin(ang));
}
void coorTOang_dis(double x1,double y1,double x2,double y2)
{
double ang,D,dif;
ang=atan((y2-y1)/(x2-x1));
dif=(y2-y1)*(y2-y1)+(x2-x1)*(x2-x1);
D=sqrt(dif);
printf("ang=%lf,D=%lf",ang,D);
}
void main()
{
double a,b;
void ang_disTOcoor(double D,double ang);
printf("1.坐标正算。\n2.坐标反算。\n");
int i;
scanf("%d",&i);
switch(i)
{
case 1:
printf("请输入坐标方位角,和水平距离,。如:ang=36.12(角度需要化成小数形式),D=50\n");
scanf("ang=%5.2lf,D=%5.2lf",&a,&b);
ang_disTOcoor(a,b);
break;
case 2:
double x1,x2,y1,y2 ;
void coorTOang_dis(double x1,double y1,double x2,double y2);
printf("请输入两点坐标如:(10.2,45.2),(25.00,58.32)\n");
scanf("(%lf,%lf),(%lf,%lf)",&x1,y1,&x2,&y2);
coorTOang_dis(x1,y1,x2,y2);
break;
default:putchar('\a');
}
}