Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Задание:
- Реализовать класс video_store, в котором хранятся структуры film со следующими полями:
- -название фильма;
- -режиссер;
- -жанр;
- -рейтинг популярности.
- Класс должен иметь конструктор по умолчанию, деструктор, параметризованные конструкторы для одного параметра (желаемая емкость хранилища) и двух параметров (массив структур film и его размер)
- Реализовать следующие возможности:
- -поиск по названию;
- -поиск по жанру;
- -поиск по режиссеру;
- -самый популярный фильм в жанре;
- -показ всех записей, добавление, удаление записей.
- Емкость video_store - 100 фильмов, при невозможности добавить очередной фильм, необходимо вывести диагностическое сообщение об этом.
- */
- #define _CRT_SECURE_NO_WARNINGS
- #include <iostream>
- #include <cstring>
- using namespace std;
- struct film {
- char name[100];
- char producer[100];
- char genre[20];
- int rating;
- };
- class video_store {
- public:
- video_store();
- video_store(int max_number);
- video_store(film arr[], int arr_size);
- void ShowAllMovies();
- void AddMovie(const char name[], const char producer[], const char genre[], const int rating);
- void DelMovie(const char name[]);
- void FindMovieName(const char name[]);
- void FindMovieProducer(const char producer[];
- void FindMovieGenre(const char genre[]);
- void FindMovieMostPopular(const char genre[]);
- ~video_store();
- private:
- film** store;
- int films_number;
- int max_films_number;
- };
- int main() { // для проверки функционала
- video_store my_store; // для проверки конструктора по умолчанию
- //video_store my_store(50); // для проверки конструктора для одного параметра
- //film some_films[]{ {"Pirates of the Caribbean", "Gore Verbinski", "fantasy", 5}, {"Harry Potter", "Chris Columbus", "fantasy", 4}, {"Diamond Hand", "Leonid Gaidai", "comedy", 5} }; // для проверки конструктора для двух параметров (закомментировать первые три добавления фильма)
- //video_store my_store(some_films, 3); // для проверки конструктора для двух параметров
- my_store.AddMovie("Pirates of the Caribbean", "Gore Verbinski", "fantasy", 5);
- my_store.AddMovie("Harry Potter", "Chris Columbus", "fantasy", 4);
- my_store.AddMovie("Diamond Hand", "Leonid Gaidai", "comedy", 5);
- my_store.AddMovie("Ivan Vasilyevich is changing his profession", "Leonid Gaidai", "comedy", 4);
- my_store.AddMovie("Sherlock Holmes", "Guy Ritchie", "detective", 5);
- my_store.AddMovie("Lock, Stock and Two Smoking Barrels", "Guy Ritchie", "comedy", 5);
- my_store.ShowAllMovies();
- my_store.DelMovie("Pirates of the Caribbean");
- my_store.ShowAllMovies();
- my_store.AddMovie("Pirates of the Caribbean", "Gore Verbinski", "fantasy", 5);
- my_store.FindMovieName("Diamond Hand");
- my_store.FindMovieProducer("Guy Ritchie");
- my_store.FindMovieGenre("fantasy");
- my_store.FindMovieMostPopular("fantasy");
- }
Advertisement
Add Comment
Please, Sign In to add comment