В этом упражнении вас попросят создать код, содержащий библиотеку и читателей. Эта библиотека может хранить физические книги и цифровые книги. Нет ограничений на количество копий одной и той же книги, если она печатная. Для цифровой книги количество экземпляров не имеет значения. Общее количество книг, которые могут находиться в библиотеке, равно 100.
Разумеется, читатель не может дважды зарегистрироваться в библиотеке.
Программа должна работать непрерывно до тех пор, пока пользователь (библиотекарь) не решит закончить программу.
Программа должна спросить пользователя, какое действие он хочет выполнить, и соответственно выполнить действие.
Пользователь вводит число от 1 до 7 для типа действия, где число представляет действие, которое необходимо выполнить.
Действия:
1 - Вставка новой книги в базу данных библиотеки: программа должна получить от пользователя тип книги, название книги, имя автора и жанр книги. Программа проверит, есть ли уже книга с таким названием в библиотеке. Если книги нет в библиотеке, ее следует вставить и вывести на экран success. В противном случае необходимо обновить количество существующих копий этой книги, если она физически существует. Если книга цифровая и уже существует, выведете на экране book already exist.
2- Добавление нового читателя в библиотеку: программа должна получить имя и фамилию пользователя. Программа проверит, есть ли уже в библиотеке подписчик с таким же именем и фамилией. Если пользователь не существует, добавьте его и выведите на экран success. В противном случае его не следует добавлять, а следует вывести на экран: subscriber exist.
3- Если читатель хочет взять книгу: программа должна записать имя и фамилию читателя, желающего взять книгу, и, кроме того, она должна записать название книги и автора, которого он хочет взять. Библиотека позволяет каждому читателю держать у себя максимум 3 книги одновременно, поэтому если читатель набрал максимум книг программа должна вывести на экран subscriber reached limit
В любом случае необходимо проверить, действительно ли читатель существует в системе и просит выдать книгу, которая доступна (книгу, которая существует в системе и у которой остались свободные экземпляры)
Если читатель не существует в системе, нужно вывести: subscriber does not exist.
Если книги нет в библиотеке, нужно вывести: book does not exist.
В случае если свободных экземпляров не осталось, вывести all copies of the book are already taken.
Если у читателя уже есть три книги, которые он одолжил, выведете: all copies of the book are already taken
Если в системе существует читатель, а книга существует и не используется, а у читателя не более 2 книг, выведете на экран success и выполните операцию. Если книга цифровая, ее можно взять напрокат, если подписчик не превысил свой лимит книг.
Подписчик может взять одну и ту же книгу несколько раз, но каждый такой запрос вычитает количество книг, которые подписчик может взять, а также количество экземпляров книги, если это печатная книга.
4- Возврат книги читателем: программа должна записать имя и фамилию читателя, желающего вернуть книгу, и дополнительно записать название книги и автора, которых он желает вернуть.
Если читатель не существует в системе, программа выведет на экран subscriber does not exist.
Если книги нет в библиотеке, book does not exist
Если в системе существует читатель, и книга, которую он читает нужно вывести в консоль: success и выполнить действие
5. Вывод сведений о книге: Программа должна получить от пользователя название книги и автора.
Если книга не существует в системе, программа выведет book does not exist.
В противном случае программа выведет в консоль название книги, тип книги и жанр, к которому она принадлежит, а в случае печатной книги — количество доступных экземпляров.
Например:
Games of thrones, paper-book, fantasy drama, number of available copies- 5
6. Вывод в консоль книг, относящихся к жанру: программа должна получить от пользователя название жанра и вывести подряд все книги, относящиеся к этому жанру (для разделения данных используйте запятую).
7. Выход: программа должна вывести good bye и закончить свою работу.
Гарантия на работу | 1 год |
Средний балл | 4.57 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |