Как организована Картотека видеотеки на языке С++? Какие поля содержит массив структур? Каким образом вводится

  • 52
Как организована Картотека видеотеки на языке С++? Какие поля содержит массив структур? Каким образом вводится информация о видеотеке и как можно вывести информацию о фильмах, снятых одним режиссером?
Коко
47
Картотека видеотеки на языке C++ может быть организована с использованием массива структур. В данном случае каждая структура будет представлять информацию об отдельном фильме.

Для начала, необходимо создать структуру, которая будет содержать поля для хранения информации о фильме. В данной задаче поля могут быть следующими:

1. Название фильма - строковое поле для хранения названия фильма.
2. Режиссер - строковое поле для хранения имени режиссера.
3. Год выпуска - числовое поле для хранения года выпуска фильма.
4. Жанр - строковое поле для хранения жанра фильма.
5. Продолжительность - числовое поле для хранения продолжительности фильма в минутах.

Далее необходимо создать массив указанной структуры, чтобы хранить информацию о фильмах видеотеки. Размер массива должен быть достаточным, чтобы вместить все фильмы.

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

После ввода информации о фильмах, вы можете вывести информацию о фильмах, снятых одним режиссером, с помощью цикла, в котором будет проверяться соответствие поля "Режиссер" заданному имени режиссера. При обнаружении фильма с совпадающим режиссером, вы можете вывести информацию о нем на экран.

Вот пример кода на языке C++ для организации картотеки видеотеки:

cpp
#include
#include

struct Film {
std::string title;
std::string director;
int year;
std::string genre;
int duration;
};

int main() {
const int maxFilms = 100; // Максимальное количество фильмов в видеотеке
Film films[maxFilms]; // Массив структур для хранения информации о фильмах

int numOfFilms; // Количество фильмов в видеотеке
std::cout << "Введите количество фильмов в видеотеке: ";
std::cin >> numOfFilms;

// Ввод информации о фильмах
for (int i = 0; i < numOfFilms; ++i) {
std::cout << "Фильм #" << (i + 1) << std::endl;

std::cout << "Введите название фильма: ";
std::cin.ignore(); // Очищаем буфер ввода
std::getline(std::cin, films[i].title);

std::cout << "Введите имя режиссера: ";
std::getline(std::cin, films[i].director);

std::cout << "Введите год выпуска: ";
std::cin >> films[i].year;

std::cout << "Введите жанр: ";
std::cin.ignore();
std::getline(std::cin, films[i].genre);

std::cout << "Введите продолжительность в минутах: ";
std::cin >> films[i].duration;
}

// Вывод информации о фильмах одного режиссера
std::string searchDirector;
std::cout << "Введите имя режиссера, фильмы которого вы хотите вывести: ";
std::cin.ignore();
std::getline(std::cin, searchDirector);

std::cout << "Фильмы, снятые режиссером " << searchDirector << ":" << std::endl;
for (int i = 0; i < numOfFilms; ++i) {
if (films[i].director == searchDirector) {
std::cout << "Название: " << films[i].title << std::endl;
std::cout << "Год выпуска: " << films[i].year << std::endl;
std::cout << "Жанр: " << films[i].genre << std::endl;
std::cout << "Продолжительность: " << films[i].duration << " мин." << std::endl;
std::cout << std::endl;
}
}

return 0;
}


Таким образом, вы можете организовать картотеку видеотеки на языке C++ с помощью массива структур, вводить информацию о фильмах и выводить информацию о фильмах, снятых одним режиссером.