Bibliotheksverwaltung mit Strukturen

Rust Medium structs

Aufgabe «Bibliotheksverwaltung mit Strukturen»

Erstellen Sie eine Struktur Book mit den Feldern title (String), author (String), year (u32) und is_available (bool). Implementieren Sie Funktionen zum Hinzufügen eines Buches, zum Suchen nach Autor und zum Ausleihen eines Buches (ändert is_available auf false). Eingabedaten: zuerst die Zahl n – die Anzahl der Operationen, dann n Zeilen, die jeweils mit einem Befehl beginnen: "add" (Buch mit Parametern title, author, year hinzufügen), "find" (alle Bücher des Autors finden und in der Reihenfolge des Hinzufügens ausgeben), "borrow" (Buch nach title ausleihen – wenn verfügbar, als nicht verfügbar markieren). Geben Sie das Ergebnis für die Befehle find und borrow aus.

Eingabeformat

Erste Zeile: eine ganze Zahl n (1 ≤ n ≤ 1000). Dann n Zeilen: für den Befehl "add" — add <title> <author> <year>, für "find" — find <author>, für "borrow" — borrow <title>.

Ausgabeformat

Geben Sie für jeden Befehl find die Liste der Bücher des Autors im Format "title by author (year) - available" oder "title by author (year) - borrowed", getrennt durch Komma und Leerzeichen, in einer Zeile aus. Geben Sie für den Befehl borrow "success" aus, wenn das Buch ausgeliehen wurde, andernfalls "not available".

Beispiele

Beispiel 1

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