坐标
1 #ifndef HEADER_PPOINT//头文件卫士 2 #define HEADER_PPOINT 3 class PPoint 4 { 5 double x,y;//直角坐标或极坐标 6 public: 7 PPoint(double ix,double iy);//设置坐标 8 double xOffset();//设置轴分量x 9 double yOffset();//设置y轴分量 10 double angle();//极坐标弧角 11 double radius();//极坐标半径 12 }; 13 #endif//HEADER_PPOINT 14 //--------------------------------------- 15 #include"ppoint.h" 16 #include<iostream> 17 using namespace std; 18 int main() 19 { 20 for(double x,y;cout<<"Enter x and y:\n"&&cin>>x>>y&&x>=0;)// 21 { 22 PPoint p(x,y); 23 cout<<"angle="<<p.angle()<<",radius="<<p.radius()<<",xOffset="<<p.xOffset()<<",yOffset"<<p.yOffset()<<"\n"; 24 } 25 } 26 //------------------------------- 27 #include"ppoint.h" 28 #include<cmath> 29 using namespace std; 30 PPoint::PPoint(double ix,double iy) 31 { 32 x=ix,y=iy; 33 } 34 double PPoint::xOffset() 35 { 36 return x; 37 } 38 double PPoint::yOffset() 39 { 40 return y; 41 } 42 double PPoint::angle() 43 { 44 return (180/3.14159)*atan2(y,x);//atan2得到的是弧度 45 } 46 double PPoint::radius() 47 { 48 return sqrt(x*x+y*y); 49 }