设计一个圆形类(Circle),和一个点类(Point),计算点
2020-11-23 本文已影响0人
darkness605
#include <iostream>
#include <stdio.h>
#include <string>
#include <ctime>
using namespace std;
using namespace std;
class Point
{
public:
void setx(int x) {
m_x = x;
}
int getx() {
return m_x;
}
void sety(int y) {
m_y = y;
}
int gety() {
return m_y;
}
private:
int m_x;
int m_y;
};
class Circle
{
public:
//设置圆心
void setCenter(Point center) {
m_Center = center;
}
//设置半径
void setR(int r) {
m_R = r;
}
int getR() {
return m_R;
}
Point getcenter() {
return m_Center;
}
private:
int m_R;
Point m_Center;
};
void isInCircle(Circle &c, Point &p)
{
int distance =
(c.getcenter().getx() - p.getx())*(c.getcenter().getx() - p.getx()) +
(c.getcenter().gety() - p.gety())*(c.getcenter().gety() - p.gety());
int rDistance = c.getR()*c.getR();
if (distance == rDistance)
{
cout << "点在圆上" << endl;
}
else if (distance > rDistance)
{
cout << "点在圆外" << endl;
}
else
{
cout << "点在圆内" << endl;
}
}
int main() {
Circle c;
c.setR(10);
Point center;
center.setx(10);
center.sety(0);
c.setCenter(center);
Point p;
p.setx(10);
p.sety(10);
isInCircle(c, p);
system("pause");
return 0;
}