Управление библиотекой книг с использованием структур

Rust Средний structs

Задача «Управление библиотекой книг с использованием структур»

Создайте структуру Book с полями title (String), author (String), year (u32) и is_available (bool). Реализуйте функции для добавления книги, поиска по автору и выдачи книги (меняет is_available на false). Входные данные: сначала число n — количество операций, затем n строк, каждая начинается с команды: "add" (добавить книгу с параметрами title, author, year), "find" (найти все книги автора и вывести их в порядке добавления), "borrow" (взять книгу по title — если доступна, сделать недоступной). Выводить результат для команд find и borrow.

Формат ввода

Первая строка: целое число n (1 ≤ n ≤ 1000). Затем n строк: для команды "add" — add <title> <author> <year>, для "find" — find <author>, для "borrow" — borrow <title>.

Формат вывода

Для каждой команды find выведите список книг автора в формате "title by author (year) - available" или "title by author (year) - borrowed" через запятую и пробел в одной строке. Для команды borrow выведите "success" если книга взята, иначе "not available".

Примеры

Пример 1

ВВОД
3 Book1 Author1 2000 0 Book2 Author2 2010 1 Book3 Author3 2020 0 print_all
ВЫВОД
main.rs