Загрузка данных


#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;
}