Gerenciamento de biblioteca de livros usando estruturas

Rust Medium structs

Tarefa «Gerenciamento de biblioteca de livros usando estruturas»

Crie uma estrutura Book com os campos title (String), author (String), year (u32) e is_available (bool). Implemente funções para adicionar um livro, pesquisar por autor e emprestar um livro (altera is_available para false). Dados de entrada: primeiro o número n — quantidade de operações, depois n linhas, cada uma começando com um comando: "add" (adicionar um livro com os parâmetros title, author, year), "find" (encontrar todos os livros de um autor e exibi-los na ordem de adição), "borrow" (pegar um livro pelo title — se disponível, torná-lo indisponível). Exibir o resultado para os comandos find e borrow.

Formato de Entrada

Primeira linha: um número inteiro n (1 ≤ n ≤ 1000). Em seguida, n linhas: para o comando "add" — add <title> <author> <year>, para "find" — find <author>, para "borrow" — borrow <title>.

Formato de Saída

Para cada comando find, exiba a lista de livros do autor no formato "title by author (year) - available" ou "title by author (year) - borrowed", separados por vírgula e espaço em uma única linha. Para o comando borrow, exiba "success" se o livro foi emprestado, caso contrário "not available".

Exemplos

Exemplo 1

ENTRADA
3 Book1 Author1 2000 0 Book2 Author2 2010 1 Book3 Author3 2020 0 print_all
SAÍDA
main.rs