Odpowiedź :
#include <iostream>
#include <cmath>
#include <Windows.h>
constexpr double PI = 3.141592653589793238463;
double rectangleArea(double a, double b)
{
return a * b;
}
double triangleArea(double a, double b, double c)
{
double s = (a + b + c) / 2.;
return std::sqrt(s * (s - a) * (s - b) * (s - c));
}
double circleArea(double r)
{
return PI * r * r;
}
int main()
{
SetConsoleOutputCP(CP_UTF8);
setvbuf(stdout, nullptr, _IOFBF, 1000);
std::cout <<
u8R"(MENU
1. pole prostokąta
2. pole trójkąta (Wzór Herona)
3. pole koła)" << '\n';
int choice = -1;
std::cin >> choice;
if(choice == -1) {
std::cerr << "Niepoprawna opcja\n";
return 1;
}
double area;
if(choice == 1) {
double a;
double b;
std::cout << u8"Podaj długość pierwszego boku\n";
std::cin >> a;
std::cout << u8"Podaj długość drugiego boku\n";
std::cin >> b;
area = rectangleArea(a, b);
}
else if(choice == 2) {
double a;
double b;
double c;
std::cout << u8"Podaj długość pierwszego boku\n";
std::cin >> a;
std::cout << u8"Podaj długość drugiego boku\n";
std::cin >> b;
std::cout << u8"Podaj długość trzeciego boku\n";
std::cin >> c;
area = triangleArea(a, b, c);
}
else if(choice == 3) {
double r;
std::cout << u8"Podaj długość promienia boku\n";
std::cin >> r;
area = circleArea(r);
}
else {
std::cerr << "Niepoprawna opcja\n";
return 1;
}
std::cout << "Pole figury wynosi " << area << '\n';
}