profile
Размещено 5 месяцев назад по предмету Информатика от nidzat251

Помогите написать программу ведения базы данных домашних видеокассет. База данных должна содержать: тематику, название фильма, год создания, страну, режиссера, текущий номер и поле примечаний для пометок и аннотации. Программа должна позволять вводить данные кассеты, редактировать данные и производить поиск по тематике, названию фильма, году создания и фамилии режиссера. Где возможно, программа должна использовать справочники (например, при вводе режиссера в бланке ввода новых данных).

ЯЗЫК C++

  1. Ответ на вопрос
    Ответ на вопрос дан widkazo1525

    Ответ:

    Эта программа позволяет добавлять новые кассеты в базу данных и искать их по названию. Можно расширить эту программу, добавив функции для поиска по тематике, году создания и фамилии режиссера. Обратите внимание, что все данные хранятся в памяти и будут потеряны после завершения программы. Для постоянного хранения данных потребуется использовать файлы или базу данных, но это потребует использования сторонних библиотек.

    Объяснение:

    Код на С++

    #include <iostream>

    #include <string>

    #include <vector>

    #include <limits> // Для очистки буфера ввода

    struct Videotape {

       std::string theme;

       std::string title;

       int year;

       std::string country;

       std::string director;

       int tapeNumber;

       std::string notes;

    };

    // Функция для добавления новой кассеты в базу данных

    void addVideotape(std::vector<Videotape> &database) {

       Videotape tape;

       std::cin.ignore(std::numeric_limits<std::streamsize>::max(), 'n'); // Очищаем буфер

       std::cout << "Введите тематику: ";

       std::getline(std::cin, tape.theme);

       std::cout << "Введите название фильма: ";

       std::getline(std::cin, tape.title);

       std::cout << "Введите год создания: ";

       std::cin >> tape.year;

       std::cout << "Введите страну: ";

       std::cin.ignore(std::numeric_limits<std::streamsize>::max(), 'n'); // Очищаем буфер

       std::getline(std::cin, tape.country);

       std::cout << "Введите режиссера: ";

       std::getline(std::cin, tape.director);

       std::cout << "Введите текущий номер: ";

       std::cin >> tape.tapeNumber;

       std::cin.ignore(std::numeric_limits<std::streamsize>::max(), 'n'); // Очищаем буфер

       std::cout << "Введите примечания: ";

       std::getline(std::cin, tape.notes);

       database.push_back(tape);

    }

    // Функция для поиска кассет по заданным критериям

    void searchVideotape(const std::vector<Videotape> &database, const std::string &keyword) {

       for (const auto &tape : database) {

           if (tape.theme == keyword || tape.title == keyword ||

               std::to_string(tape.year) == keyword || tape.director == keyword) {

               std::cout << "Тематика: " << tape.theme << std::endl;

               std::cout << "Название фильма: " << tape.title << std::endl;

               std::cout << "Год создания: " << tape.year << std::endl;

               std::cout << "Страна: " << tape.country << std::endl;

               std::cout << "Режиссер: " << tape.director << std::endl;

               std::cout << "Текущий номер: " << tape.tapeNumber << std::endl;

               std::cout << "Примечания: " << tape.notes << std::endl;

               std::cout << "-----------------------------" << std::endl;

           }

       }

    }

    int main() {

       std::vector<Videotape> database;

       char choice;

       do {

           std::cout << "Выберите действие:" << std::endl;

           std::cout << "1. Добавить новую кассету" << std::endl;

           std::cout << "2. Поиск кассеты" << std::endl;

           std::cout << "3. Выйти" << std::endl;

           std::cout << "Ваш выбор: ";

           std::cin >> choice;

           switch (choice) {

               case '1':

                   addVideotape(database);

                   break;

               case '2': {

                   std::string keyword;

                   std::cin.ignore(std::numeric_limits<std::streamsize>::max(), 'n'); // Очищаем буфер

                   std::cout << "Введите ключевое слово для поиска: ";

                   std::getline(std::cin, keyword);

                   searchVideotape(database, keyword);

                   break;

               }

               case '3':

                   std::cout << "Программа завершена." << std::endl;

                   return 0; // Выход из программы

               default:

                   std::cin.ignore(std::numeric_limits<std::streamsize>::max(), 'n'); // Очищаем буфер

                   std::cout << "Неверный ввод. Попробуйте еще раз." << std::endl;

           }

       } while (true); // Бесконечный цикл, завершается только при выборе опции "Выйти"

       return 0;

    }

    Кароче, код исправил. Должно работать прекрасно

    1. Ответ на вопрос
      Ответ на вопрос дан widkazo1525
      Стоп. Есть другая идея. Жди
    2. Ответ на вопрос
      Ответ на вопрос дан widkazo1525
      Так щас, у меня тут в коде проблемы
    3. Ответ на вопрос
      Ответ на вопрос дан nidzat251
      Спасибо, помогите пожалуйста с последним заданием
    4. Ответ на вопрос
      Ответ на вопрос дан widkazo1525
      щас гляну
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.