/
Oppq
/
Labs
Обзор
Документация
Войти
/
Oppq
/
Labs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Lab5/Main.cpp
153 строки
4 KB
Oppq
update: Main.cpp, ObMen.cpp, Tree.cpp, Tree.h
25 фев 2026, 19:33
Верифицирован
25 фев 2026, 19:33
444ad2f
Код
Авторство
О чём код?
#include "Tree.h" #include <iostream> #include <string> using namespace std; int main() { setlocale(LC_ALL, "Russian"); Tree* root = nullptr; int choice; int code; Detail d; Tree* found; Detail d1 = {70, "Колесо", 320, 7.1}; Detail d2 = {50, "Вал", 250, 1.5}; Detail d3 = {30, "Шестерня", 180, 0.8}; Detail d4 = {20, "Втулка", 90, 0.3}; Detail d5 = {40, "Ось", 150, 0.9}; Detail d6 = {60, "Рычаг", 210, 1.2}; Detail d7 = {80, "Крышка", 120, 0.6}; do { menu(); cin >> choice; switch(choice) { case 1: d = inputDetail(); root = addDetail(root, d); cout << "Деталь добавлена" << endl; break; case 2: cout << "Шифр для удаления: "; cin >> code; root = deleteDetail(root, code); cout << "Удалено" << endl; break; case 3: cout << "Шифр для поиска: "; cin >> code; found = findDetail(root, code); if (found) {cout << "Найдено: " << found->det.name << endl;} else {cout << "Не найдено" << endl;} break; case 4: BFS_Tree(root); break; case 5: cout << "Прямой обход: "; s1(root); cout << endl; break; case 6: cout << "По возрастанию: "; s2(root); cout << endl; break; case 7: cout << "По убыванию: "; s4(root); cout << endl; break; case 8: cout << "Обратный обход: "; s3(root); cout << endl; break; case 9: cout << "Тест - добавление"; root = addDetail(root, d1); root = addDetail(root, d2); root = addDetail(root, d3); cout << "Добавлено 3 детали"; break; case 10: cout << "Тест - поиск"; found = findDetail(root, 50); if (found) cout << "Найден: " << found->det.name << endl; else {cout << "Не найден";} break; case 11: cout << "Тест - удаление"; root = deleteDetail(root, 30); cout << "Удалено\n"; break; case 12: cout << "Тест - загрузка из файла"; root = loadFromFile(root); break; case 13: root = loadFromFile(root); break; case 14: double minPrice; cout << "Минимальная цена: "; cin >> minPrice; root = deleteByPrice(root, minPrice); cout << "Удалены элементы меньше заданой цены детали" << endl; break; case 0: cout << "Программа завершена" << endl; break; default: cout << "Неверный выбор" << endl; } } while (choice != 0); deleteTree(root); return 0; }