#include <iostream>
#include <cmath> // Обязательная библиотека для математики (корень, степени)
using namespace std;
// Создаем наш класс (чертеж)
class GeometryCalc {
public:
// --- ФУНКЦИЯ 1 (Перегруженная для 3 сторон) ---
void figureInfo(double a, double b, double c) {
cout << "Фигура: Треугольник." << endl;
// Площадь по формуле Герона
double p = (a + b + c) / 2.0; // полупериметр
double area = sqrt(p * (p - a) * (p - b) * (p - c));
cout << "Площадь: " << area << endl;
}
// --- ФУНКЦИЯ 1 (Перегруженная для 4 сторон) ---
void figureInfo(double a, double b, double c, double d) {
cout << "Фигура: Четырехугольник (прямоугольник)." << endl;
// Для площади прямоугольника достаточно умножить две смежные стороны
double area = a * b;
cout << "Площадь: " << area << endl;
}
// --- ФУНКЦИЯ 2: Корень числа ---
double getSquareRoot(double num) {
return sqrt(num); // Встроенная функция из <cmath>
}
// --- ФУНКЦИЯ 3: Расстояние между координатами ---
double getDistance(double x1, double y1, double x2, double y2) {
// Формула: корень из ((x2-x1)^2 + (y2-y1)^2)
// pow(число, 2) - это возведение в квадрат
return sqrt(pow(x2 - x1, 2) + pow(y2 - y1, 2));
}
};
int main() {
setlocale(LC_ALL, "Russian"); // Чтобы русский текст в консоли работал
// Создаем объект нашего класса
GeometryCalc calc;
cout << "--- Проверка функции 1 ---" << endl;
calc.figureInfo(3, 4, 5); // Передали 3 числа -> сработает треугольник
calc.figureInfo(4, 5, 4, 5); // Передали 4 числа -> сработает прямоугольник
cout << "\n--- Проверка функции 2 ---" << endl;
cout << "Корень из 25 = " << calc.getSquareRoot(25) << endl;
cout << "\n--- Проверка функции 3 ---" << endl;
// Точки (0,0) и (3,4) - классический египетский треугольник, ответ должен быть 5
cout << "Расстояние = " << calc.getDistance(0, 0, 3, 4) << endl;
return 0;
}