C/C++

ПРОШУ, ПОМОГИТЕ НАПИСАТЬ КОД C++

Написать программу по работе с геометрическими фигурами
(прямоугольник, квадрат, круг, прямоугольный параллелепипед, куб,
шар). У пользователя есть выбор: работа с 2D объектами (например
квадрат), или 3D объектами (например куб). В зависимости от
выбранного объекта нужно ввести его параметры (для прямоугольника
это 2 стороны, для параллелепипеда это 3 стороны). Нужно вывести
площадь и периметр 2D фигуры, либо объем 3D фигуры. Организовать
красивое меню с «защитой от дураков»
ООП. Наследование.
https://pastebin.com/u/NickAndNick
Ydgin *
Ydgin *
58 406
Лучший ответ
#include <iostream>
#include <cmath>
using namespace std;

void printMenu() {
cout << "Выберите тип фигуры:" << endl;
cout << "1. Прямоугольник" << endl;
cout << "2. Квадрат" << endl;
cout << "3. Круг" << endl;
cout << "4. Прямоугольный параллелепипед" << endl;
cout << "5. Куб" << endl;
cout << "6. Шар" << endl;
}

void printError() {
cout << "Ошибка! Попробуйте еще раз." << endl;
}

int main() {
int choice;
double a, b, c, s, p, v;
const double pi = 3.14159265358979323846;

do {
printMenu();
cin >> choice;

switch (choice) {
case 1:
cout << "Введите стороны прямоугольника:" << endl;
cin >> a >> b;
s = a * b;
p = 2 * (a + b);
cout << "Площадь: " << s << endl;
cout << "Периметр: " << p << endl;
break;

case 2:
cout << "Введите сторону квадрата:" << endl;
cin >> a;
s = a * a;
p = 4 * a;
cout << "Площадь: " << s << endl;
cout << "Периметр: " << p << endl;
break;

case 3:
cout << "Введите радиус круга:" << endl;
cin >> a;
s = pi * a * a;
p = 2 * pi * a;
cout << "Площадь: " << s << endl;
cout << "Периметр: " << p << endl;
break;

case 4:
cout << "Введите стороны прямоугольного параллелепипеда:" << endl;
cin >> a >> b >> c;
s = 2 * (a * b + b * c + a * c);
v = a * b * c;
cout << "Площадь: " << s << endl;
cout << "Объем: " << v << endl;
break;

case 5:
cout << "Введите сторону куба:" << endl;
cin >> a;
s = 6 * a * a;
v = a * a * a;
cout << "Площадь: " << s << endl;
cout << "Объем: " << v << endl;
break;

case 6:
cout << "Введите радиус шара:" (продолжение в комментарии)
Jasulan Sarsembekov
Jasulan Sarsembekov
6 174
Jasulan Sarsembekov << endl;

cin >> a;

s = 6 * a * a;

v = a * a * a;

cout << "Площадь: " << s << endl;

cout << "Объем: " << v << endl;

break;

case 6:

cout << "Введите радиус шара:" << endl;

cin >> a;

s = 4 * pi * a * a;

v = 4 / 3 * pi * a * a * a;

cout << "Площадь: " << s << endl;

cout << "Объем: " << v << endl;

break;

default:

printError();

break;

}

} while (choice < 1 || choice > 6);

return 0;

}