我的方法1:
1 #include<iostream> 2 3 class Point{ 4 int cX,cY; 5 public: 6 void setPoint(int x,int y){ 7 cX=x;cY=y; 8 } 9 int getPointX(){ 10 return cX; 11 } 12 int getPointY(){ 13 return cY; 14 } 15 }; 16 class Circle{ 17 int cRadius;Point cCenter; 18 public: 19 void setCircle(int radius,Point center){ 20 cRadius=radius;cCenter=center; 21 } 22 int getRadius(){ 23 return cRadius; 24 } 25 int getCenterX(){ 26 return cCenter.getPointX(); 27 } 28 int getCenterY(){ 29 return cCenter.getPointY(); 30 } 31 }; 32 int main(){ 33 Point p1,cp;Circle c1; 34 p1.setPoint(7,0);cp.setPoint(0,0); 35 c1.setCircle(8,cp); 36 if((c1.getCenterX()-p1.getPointX())*(c1.getCenterX()-p1.getPointX())+ 37 (c1.getCenterY()-p1.getPointY())*(c1.getCenterY()-p1.getPointY())> 38 c1.getRadius()*c1.getRadius()) 39 std::cout<<"点在圆外\n"<<std::endl; 40 else if(((c1.getCenterX()-p1.getPointX())*(c1.getCenterX()-p1.getPointX())+ 41 (c1.getCenterY()-p1.getPointY())*(c1.getCenterY()-p1.getPointY())== 42 c1.getRadius()*c1.getRadius())) 43 std::cout<<"点在圆上\n"<<std::endl; 44 else 45 std::cout<<"点在圆内\n"<<std::endl; 46 system("pause"); 47 return 0; 48 }
老师的做法:
1 #include<iostream> 2 class Point{ 3 int cX,cY; 4 public: 5 void setPoint(int x,int y){ 6 cX=x;cY=y; 7 } 8 int getPointX(){ 9 return cX; 10 } 11 int getPointY(){ 12 return cY; 13 } 14 }; 15 class Circle{ 16 int cRadius;Point cCenter; 17 public: 18 void setCircle(int radius,Point center){ 19 cRadius=radius;cCenter=center; 20 } 21 int getRadius(){ 22 return cRadius; 23 } 24 Point getCenter(){ 25 return cCenter; 26 } 27 }; 28 int main(){ 29 Point p1,cp;//声明2个点,p1是任意点,cp是圆心 30 Circle c1; //声明圆 31 p1.setPoint(0,5); //赋值点 32 cp.setPoint(0,0); //赋值圆心 33 c1.setCircle(6,cp); //设置圆的半径及圆心 34 35 if((c1.getCenter().getPointX()-p1.getPointX())* 36 (c1.getCenter().getPointX()-p1.getPointX())+ 37 (c1.getCenter().getPointY()-p1.getPointY())* 38 (c1.getCenter().getPointY()-p1.getPointY())> 39 c1.getRadius()*c1.getRadius()) 40 std::cout<<"点在圆外\n\n"; 41 else if((c1.getCenter().getPointX()-p1.getPointX())* 42 (c1.getCenter().getPointX()-p1.getPointX())+ 43 (c1.getCenter().getPointY()-p1.getPointY())* 44 (c1.getCenter().getPointY()-p1.getPointY())== 45 c1.getRadius()*c1.getRadius()) 46 std::cout<<"点在圆上\n\n"; 47 else 48 std::cout<<"点在圆内\n\n"; 49 system("pause"); 50 return 0; 51 }