main.cpp
#include<iostream>
using namespace std;
#include"pointer.h"
#include"circle.h"
void isInCircle(Circle &c, Pointer p) {
int distanceSquare = (p.getX() - c.getCenter().getX()) * (p.getX() - c.getCenter().getX()) + (p.getY() - c.getCenter().getY()) * (p.getY() - c.getCenter().getY());
int radiusSquare = c.getR() * c.getR();
if (distanceSquare == radiusSquare) {
cout << "on the circle" << endl;
}
else if (distanceSquare > radiusSquare) {
cout << "outside the circle" << endl;
}
else {
cout << "in the circle" << endl;
}
}
int main()
{
Circle c1;
c1.setR(10);
Pointer center;
center.setX(10);
center.setY(0);
c1.setCenter(center);
Pointer p1;
p1.setX(0);
p1.setY(0);
c1.judge(p1);
isInCircle(c1, p1);
}
pointer.cpp
#include"pointer.h"
void Pointer::setX(int x) {
m_X = x;
}
int Pointer::getX() {
return m_X;
}
void Pointer::setY(int y) {
m_Y = y;
}
int Pointer::getY() {
return m_Y;
}
circle.cpp
#include"circle.h"
void Circle::setR(int r)
{
m_R = r;
}
int Circle::getR()
{
return m_R;
}
void Circle::setCenter(Pointer p)
{
center = p;
}
Pointer Circle::getCenter()
{
return center;
}
void Circle::judge(Pointer p)
{
if ((p.getX() - center.getX()) * (p.getX() - center.getX()) + (p.getY() - center.getY()) * (p.getY() - center.getY()) == m_R * m_R) {
cout << "on the circle" << endl;
}
else if ((p.getX() - center.getX()) * (p.getX() - center.getX()) + (p.getY() - center.getY()) * (p.getY() - center.getY()) > m_R * m_R) {
cout << "outside the circle" << endl;
}
else {
cout << "in the circle" << endl;
}
}
pointer.h
#pragma once
class Pointer {
int m_X;
int m_Y;
public:
void setX(int x);
int getX();
void setY(int y);
int getY();
};
circle.h
#pragma once
#include<iostream>
using namespace std;
#include"pointer.h"
class Circle {
int m_R;
Pointer center;
public:
void setR(int r);
int getR();
void setCenter(Pointer p);
Pointer getCenter();
void judge(Pointer p);
};