/
zhenya-crator
/
Read-List
Обзор
Документация
Войти
/
zhenya-crator
/
Read-List
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Main.cpp
186 строк
8 KB
zheny-creator
Final changes: fixed JSON handling and completed development
02 окт 2025, 19:57
02 окт 2025, 19:57
75bdaee
Код
Авторство
О чём код?
#include "Classes.hpp" // Здесь лежат классы int main() { int choice; // Переменная для выбора действия string name, author, genre, name_list, new_name_list, new_data, old_data, old_name_list; // Переменные для хранения данных int year, id; // Переменная для хранения года издания while (true) // Бесконечный цикл { cout << "\n=== Меню ===\n"; cout << "1: Создать список книг\n"; cout << "2: Добавить книгу в существующий список\n"; cout << "3: Изменить книгу в списке\n"; cout << "4: Выйти\n"; cout << "5: О программе\n"; cout << "6: Изменение названия списка\n"; cout << "Введите номер действия: "; cin >> choice; // Ввод выбора действия cin.ignore(); // Очистка буфера ввода if (choice == 1) // Если выбрано создание списка книг { cout << "Введите id: "; cin >> id; if (cin.fail()) { cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Ошибка ввода! Введите число.\n"; continue; } cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Введите название списка: "; getline(cin, name_list); if (name_list.empty()) { cout << "Название списка не может быть пустым!\n"; continue; } // Если название списка пустое cout << "Введите название книги: "; getline(cin, name); if (name.empty()) { cout << "Название книги не может быть пустым!\n"; continue; } cout << "Введите автора: "; getline(cin, author); if (author.empty()) { cout << "Автор не может быть пустым!\n"; continue; } // Если автор не указан cout << "Введите жанр: "; getline(cin, genre); if (genre.empty()) { cout << "Жанр не может быть пустым!\n"; continue; } // Если жанр не указан cout << "Введите год издания: "; cin >> year; if (cin.fail()) { cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Ошибка ввода! Введите число.\n"; continue; } cin.ignore(numeric_limits<streamsize>::max(), '\n'); Book book1(id, name, author, genre, name_list, year); book1.add_book(id, name, author, genre, name_list, year); cout << "Список создан!\n"; continue; } else if (choice == 2) // Если выбрано добавление книги в существующий список { cout << "Введите название списка: "; getline(cin, name_list); if (name_list.empty()) { cout << "Название списка не может быть пустым!\n"; continue; } cout << "Введите id: "; cin >> id; if (cin.fail()) { cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Ошибка ввода! Введите число.\n"; continue; } cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Введите название книги: "; getline(cin, name); if (name.empty()) { cout << "Название книги не может быть пустым!\n"; continue; } cout << "Введите автора: "; getline(cin, author); if (author.empty()) { cout << "Автор не может быть пустым!\n"; continue; } cout << "Введите жанр: "; getline(cin, genre); if (genre.empty()) { cout << "Жанр не может быть пустым!\n"; continue; } cout << "Введите год издания: "; cin >> year; if (cin.fail()) { cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Ошибка ввода! Введите число.\n"; continue; } cin.ignore(numeric_limits<streamsize>::max(), '\n'); Book book1(id, name, author, genre, name_list, year); book1.add_book_to_list(id, name_list, name, author, genre, year); cout << "Список обновлен!\n"; continue; } else if (choice == 3) // Если выбрано изменение книги в списке { cout << "Введите название списка: "; getline(cin, name_list); if (name_list.empty()) { cout << "Название списка не может быть пустым!\n"; } cout << "Введите id книги: "; cin >> id; if (cin.fail()) { cin.clear(); cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Ошибка ввода! Введите число.\n"; continue; } cin.ignore(numeric_limits<streamsize>::max(), '\n'); cout << "Введите название того, что хотите изменить (пример на английском: name, genre, year, author) "; getline(cin, name); cout << "Введите новое значение: "; getline(cin, new_data); cout << "Введите старое значение: "; getline(cin, old_data); New_data data1(name, name_list, old_data, new_data, id); data1.change_data(name, name_list, old_data, new_data, id); continue; } else if (choice == 4) // Если выбран выход { cout << "Выход из программы..." << endl; break; } else if (choice == 5) // Если выбрана программа { cout << "Программа для создания списка книг." << endl; cout << "Автор: Женя Бородин" << endl; cout << "Версия: 1.0" << endl; continue; } else if (choice == 6) // Если выбрано изменение названия списка { cout << "Введите старое название списка: "; getline(cin, old_name_list); cout << "Введите новое название списка: "; getline(cin, new_name_list); List list1(old_name_list, new_name_list); list1.change_name_list(old_name_list, new_name_list); cout << "Название списка изменено!\n"; continue; } } return 0; }