عبارة عن مشروع C++ كامل بيعمل نظام مكتبة/متجر كتب (Tomieshop System) تفاعلي بيشتغل من الـ Console، ومقسم إلى عدة وظائف رئيسية:
1. الكلاسات
member
بيمثل العضو (المستخدم).
فيه بيانات: Name و ID.
فيه setters/getters للتعامل مع البيانات.
book (موروث من member)
بيمثل الكتاب.
بياناته: title, author, price, quantity, availability.
فيه setters/getters لكل خاصية.
2. الوظائف الأساسية
signin(member m)
تسجيل دخول المستخدم.
يطلب الاسم + ID ويطابقهم مع بيانات في ملف member.txt.
لو صح → يدخل المتجر.
لو خطأ → رسالة خطأ مع خيار (إعادة المحاولة / الخروج).
createaccount(member m)
إنشاء حساب جديد.
يدخل اسم وID → يحفظ في member.txt.
كمان ينشئ ملف جديد باسم المستخدم لتخزين كتبه (username.txt).
showbooks(book bb)
يقرأ الكتب من ملف book.txt.
يعرض كل الكتب: (الاسم، المؤلف، السعر، الكمية).
printBill(book bb)
نظام "عربة التسوق".
المستخدم يضيف كتب (العنوان + الكمية).
لو الكمية موجودة → يحسب السعر الإجمالي ويخصم الكمية من المخزون.
يطبع الفاتورة + تفاصيل الكتب المشتراة.
يخزن الطلب في ملف المستخدم.
showuserbook(book bb)
يقرأ ملف المستخدم (مثلاً Ali.txt).
يعرض كل الكتب اللي اشتراها المستخدم.
3. الـ Main Menu
عند التشغيل:
Sign in → يدخل لو عنده حساب.
Create Account → يسجل مستخدم جديد.
Exit → خروج.
بعد تسجيل الدخول:
Show Available Books → عرض الكتب المتاحة.
Add To Cart → شراء كتب وطباعة الفاتورة.
Show The Books You Have Bought → عرض الكتب اللي اشتراها المستخدم.
Exit → خروج من السيستم برسالة وداعية.
المميزات:
فيه تلوين للنصوص بالـ SetConsoleTextAttribute عشان يخلي الواجهة أجمل.
بيعتمد على ملفات نصية كقاعدة بيانات (للاعضاء + الكتب).
بيعمل فاتورة + تخزين مشتريات باسم المستخدم.
فيه تعامل مع الأخطاء (زي تسجيل الدخول الغلط أو كتاب غير متوفر).