Nowy171
Rozwiązane

[C++]
Napisz program, który będzie posiadał menu
1. pole prostokąta
2. pole trójkąta (Wzór Herona)
3.pole koła;
Każdy punkt menu obliczamy za pomocą oddzielnej funkcji, która zwraca wynik do programu.
- prostokąt (a,b)
- trójkąt (a,b,c)
- koło (r)

Użyj biblioteki oraz sqrt ()



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';

}