/
khazov
/
module2
Обзор
Документация
Войти
/
khazov
/
module2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
task5_3in1/3in1.cpp
184 строки
4 KB
KhazovAV
Доработка проекта по многофайловости
31 июл 2026, 08:53
31 июл 2026, 08:53
7cf46f9
Код
Авторство
О чём код?
#include <Windows.h> #include <iostream> #include <string> #include "task5_1/math_functions.h" #include "task5_2/Counter.h" #include "task5_3/EquilateralTriangle.h" #include "task5_3/IsoscelesTriangle.h" #include "task5_3/RightTriangle.h" #include "task5_3/Rectangl.h" #include "task5_3/Square.h" #include "task5_3/Parallelogram.h" #include "task5_3/Rhombus.h" using namespace std; void task_1(void); void task_2(void); void task_3(void); void printInfo(const Figure* figure); //------------------------------------------------------------------------- int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); cout << "Задача 1 - Математические функции" << endl; task_1(); cout << endl << "Задача 2 - Счетчик" << endl; task_2(); cout << endl<< "Задача 3 - Фигуры" << endl; task_3(); } //------------------------------------------------------------------------- void task_1(void) { int cmd; double num1, num2; cout << "Введите число 1: "; cin >> num1; cout << "Введите число 2: "; cin >> num2; do { cout << "Введите номер операции (1 - сложение, 2 - вычитание, 3 - умножение, 4 - деление, 5 - возведение в степень): "; cin >> cmd; switch (cmd) { case 1: cout << num1 << " + " << num2 << " = " << add(num1, num2); break; case 2: cout << num1 << " - " << num2 << " = " << subtract(num1, num2); break; case 3: cout << num1 << " * " << num2 << " = " << multiply(num1, num2); break; case 4: cout << num1 << " / " << num2 << " = " << divide(num1, num2); break; case 5: cout << num1 << " ^ " << num2 << " = " << pow(num1, num2); break; default: cout << "Введена неправильная команда, повторите ввод!"; break; } cout << endl; } while (cmd < 1 || cmd > 5); } //------------------------------------------------------------------------- void task_2(void) { int value; string str; Counter *counter; while (1) { cout << "Хотите задать значение счетчика? (да/нет): "; cin >> str; if (str == "да") { counter = new Counter(); cout << "Введите целое значение: "; cin >> value; counter = new Counter(value); break; } else if (str == "нет") { cout << "Счетчик равен 1" << endl; counter = new Counter(); break; } else cout << "Неверный ответ" << endl; } char cmd{ '0' }; do { cout << "Введите команду: +, -, = или х для выхода: "; cin >> cmd; switch (cmd) { case '+': counter->increment(); break; case '-': counter->decrement(); break; case '=': cout << counter->equal(); break; case 'х': cout << "Всего хорошего!"; break; default: cout << "Неверная команда!"; break; } cout << endl; } while (cmd != 'х'); delete counter; } //------------------------------------------------------------------------- void task_3(void) { Figure figure; printInfo(&figure); // треугольники Triangle triangle(10, 20, 30, 50, 60, 70); RightTriangle rTriangle(10, 20, 30, 50, 60); IsoscelesTriangle isTriangle(10, 20, 50, 60); EquilateralTriangle eTriangle(30); printInfo(&triangle); printInfo(&rTriangle); printInfo(&isTriangle); printInfo(&eTriangle); // прямоугольники Quadrangle quadrangle(10, 20, 30, 40, 50, 60, 70, 80); Rectangl rectangle(10, 20); Square square(20); Parallelogram parallelogram(20, 30, 30, 40); Rhombus rhombus(30, 30, 40); printInfo(&quadrangle); printInfo(&rectangle); printInfo(&square); printInfo(¶llelogram); printInfo(&rhombus); } //------------------------------------------------------------------------- void printInfo(const Figure* figure) { if (figure) { figure->printInfo(); cout << endl; } } //-------------------------------------------------------------------------