<div> <p>إدارة مكتبة الكتب باستخدام الهياكل</p> </div>

Rust Medium structs

مهمة «<div> <p>إدارة مكتبة الكتب باستخدام الهياكل</p> </div>»

أنشئ هيكل `Book` يحتوي على الحقول التالية: `title` (سلسلة نصية)، `author` (سلسلة نصية)، `year` (عدد صحيح u32)، و`is_available` (قيمة منطقية). قم بتنفيذ دوال لإضافة كتاب، والبحث حسب المؤلف، واستعارة كتاب (تغيير `is_available` إلى `false`).
**بيانات الإدخال:** أولاً رقم `n` — عدد العمليات، ثم `n` سطر، يبدأ كل سطر بأمر:
- `"add"` (إضافة كتاب مع المعاملات: العنوان، المؤلف، السنة)،
- `"find"` (إيجاد جميع كتب المؤلف وعرضها حسب ترتيب الإضافة)،
- `"borrow"` (استعارة كتاب حسب العنوان — إذا كان متاحًا، اجعله غير متاح).
**الإخراج:** عرض النتيجة لأوامر `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