C/C++

Учебная задача по C++

Создай класс Circle (окружность на плоскости). Создай поля x,y,R. Добавь метод set_center, который будет присваивать полям x, y значения, и метод set_radius,
который будет присваивать значение атрибут R. Также добавь метод get_distance, который будет возвращать расстояние от начала координат до центра окружности,
и get_area, который будет возвращать площадь круга, ограниченного данной окружностью.
Считай с клавиатуры 3 целых числа: x, y, R - каждое на отдельной строке и создай экземпляр класса Circle.
Используя методы, задай полям значения, которые ты считал с клавиатуры. Используя методы, выведи площадь круга,
ограниченного данной окружностью, и расстояние от начала координат до центра окружности с точностью до сотых на разных строках.
Входные данные:
Вводится 3 целых числа - каждое на новой строке.
Выходные данные:
Вводится площадь и расстояние, округленные до сотых на разных строках.
 #include  
#include
#include

using namespace std;

struct Coord {
double y;
double x;
Coord() : x(0), y(0) {}
double get_distance(const Coord& coord = {})const {
return sqrt(x * x + y * y);
}
};

class Circle : public Coord {
static inline const auto pi = 3.1415926535897932;
double r;
public:
Circle() : Coord{}, r(0) {}
void set_center(const double x, const double y) {
this->x = x;
this->y = y;
}
void set_radius(const double r) {
this->r = r;
}
double get_area()const {
return pi * r * r;
}
};

int main() {
int x, y;
cin >> x >> y;
unsigned r;
cin >> r;
Circle circle;
circle.set_center(x, y);
circle.set_radius(r);
const auto area = circle.get_area();
const auto distance = circle.get_distance();
cout.setf(ios::fixed);
cout.precision(2);
cout
Алишер Шарипов
Алишер Шарипов
63 213
Лучший ответ
попробуй это:
#include <iostream>
#include <cmath>
#include <iomanip>

class Circle {
private:
int x;
int y;
int R;

public:
void set_center(int x_val, int y_val) {
x = x_val;
y = y_val;
}

void set_radius(int R_val) {
R = R_val;
}

double get_distance() {
return sqrt(x*x + y*y);
}

double get_area() {
return M_PI * R * R;
}
};

int main() {
int x, y, R;
std::cin >> x >> y >> R;

Circle circle;
circle.set_center(x, y);
circle.set_radius(R);

double distance = circle.get_distance();
double area = circle.get_area();

std::cout << std::fixed << std::setprecision(2);
std::cout << area << std::endl;
std::cout << distance << std::endl;

return 0;
}