#include <iostream>
#include <cmath>
#include <windows.h>
using namespace std;
const double PI = 3.141592653589793;
class Circle {
private:
double x;
double y;
double radius;
public:
Circle();
Circle(double xVal, double yVal, double radiusVal);
~Circle();
void assign(double xVal, double yVal, double radiusVal);
double getX() const;
double getY() const;
double getRadius() const;
double area() const;
double length() const;
bool containsPoint(double pointX, double pointY) const;
void print() const;
};
Circle::Circle()
{
assign(0, 0, 1);
}
Circle::Circle(double xVal, double yVal, double radiusVal)
{
assign(xVal, yVal, radiusVal);
}
Circle::~Circle()
{
}
void Circle::assign(double xVal, double yVal, double radiusVal)
{
x = xVal;
y = yVal;
if (radiusVal > 0)
radius = radiusVal;
else
radius = 1;
}
double Circle::getX() const
{
return x;
}
double Circle::getY() const
{
return y;
}
double Circle::getRadius() const
{
return radius;
}
double Circle::area() const
{
return PI * radius * radius;
}
double Circle::length() const
{
return 2 * PI * radius;
}
bool Circle::containsPoint(double pointX, double pointY) const
{
double dx = pointX - x;
double dy = pointY - y;
return dx * dx + dy * dy <= radius * radius;
}
void Circle::print() const
{
cout << "Ïàðàìåòðû êðóãà:" << endl;
cout << "öåíòð = (" << x << "; " << y << ")" << endl;
cout << "ðàäèóñ = " << radius << endl;
cout << "äëèíà îêðóæíîñòè = " << length() << endl;
cout << "ïëîùàäü = " << area() << endl;
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
setlocale(LC_ALL, "Russian");
double x, y, radius;
double pointX, pointY;
cout << "Ââåäèòå êîîðäèíàòó X öåíòðà êðóãà: ";
cin >> x;
cout << "Ââåäèòå êîîðäèíàòó Y öåíòðà êðóãà: ";
cin >> y;
cout << "Ââåäèòå ðàäèóñ êðóãà: ";
cin >> radius;
Circle circle(x, y, radius);
cout << endl;
circle.print();
cout << endl;
cout << "Ââåäèòå êîîðäèíàòó X òî÷êè: ";
cin >> pointX;
cout << "Ââåäèòå êîîðäèíàòó Y òî÷êè: ";
cin >> pointY;
if (circle.containsPoint(pointX, pointY))
cout << "Òî÷êà ïðèíàäëåæèò êðóãó" << endl;
else
cout << "Òî÷êà íå ïðèíàäëåæèò êðóãó" << endl;
system("pause");
return 0;
}