Gestión de biblioteca de libros usando estructuras

Rust Medium structs

Tarea «Gestión de biblioteca de libros usando estructuras»

Cree una estructura Book con los campos title (String), author (String), year (u32) y is_available (bool). Implemente funciones para agregar un libro, buscar por autor y prestar un libro (cambia is_available a false). Datos de entrada: primero un número n — cantidad de operaciones, luego n líneas, cada una comienza con un comando: "add" (agregar un libro con parámetros title, author, year), "find" (encontrar todos los libros del autor y mostrarlos en el orden de agregado), "borrow" (tomar un libro por title — si está disponible, hacerlo no disponible). Mostrar resultado para los comandos find y borrow.

Formato de entrada

Primera línea: un número entero n (1 ≤ n ≤ 1000). Luego n líneas: para el comando "add" — add <title> <author> <year>, para "find" — find <author>, para "borrow" — borrow <title>.

Formato de salida

Para cada comando find, muestre la lista de libros del autor en el formato "title by author (year) - available" o "title by author (year) - borrowed", separados por coma y espacio en una sola línea. Para el comando borrow, muestre "success" si el libro fue prestado, de lo contrario "not available".

Ejemplos

Ejemplo 1

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