تحديث README.md
هذا الالتزام موجود في:
75
README.md
75
README.md
@@ -1,2 +1,75 @@
|
||||
# ----------------------------
|
||||
# نظام بسيط لحجز طاولة في مطعم
|
||||
|
||||
|
||||
|
||||
#### فيديو توضيحي: [https://youtu.be/uH6qufEfmG4](https://youtu.be/-xDy-BncTcE?si=cAfg6YlxpVMhPpKc)
|
||||
|
||||
#### الوصف:
|
||||
تطبيق لحجز طاولة في مطعم، وتغيير معلومات الحجز مثل اسم الحجز وعدد الأشخاص بناءً على الاسم الذي
|
||||
تدخله في عملية الحجز، أو يمكنك إلغاء الحجز أيضًا بناءً على الاسم الذي تدخله في عملية الحجز.
|
||||
عند الانتهاء من الحجز أو تغيير معلومات الحجز أو إلغاء الحجز، يمكنك إغلاق التطبيق.
|
||||
|
||||
استخدمت قواميس لحفظ المعلومات المتعلقة بالطاولات مثل رقم الطاولة واسم الشخص الذي قام بالحجز وحالة الطاولة (شاغرة أم غير شاغرة (صحيح = غير شاغرة، خطأ = شاغرة)) وعدد الأشخاص الذين سيحضرون (عدد الكراسي).
|
||||
|
||||
أنشأت 3 وظائف رئيسية هي ”الحجز“ لحجز طاولة، و”تغيير الحجز“ لتغيير الحجز، و”إلغاء الحجز“ لإلغاء الحجز، و
|
||||
”الخروج“ لإغلاق التطبيق.
|
||||
|
||||
استخدمت مكتبتين، ”sys“ لإغلاق التطبيق عبر وظيفة ’الخروج‘، و”tabulate“ لطباعة جداول العمليات الأربع "الحجز
|
||||
طاولة”، “تغيير الحجز”، “إلغاء الحجز”، و“الخروج".
|
||||
|
||||
يتم حذف المعلومات عند إغلاق التطبيق.
|
||||
|
||||
يحاكي هذا الكود البرمجي بلغة Python نظام حجز طاولات المطاعم. يوفر وظائف لإجراء الحجوزات وتعديل الحجوزات الحالية وإلغاء الحجوزات. يحتفظ البرنامج بمعلومات عن خمس طاولات (الطاولة 1 إلى الطاولة 5) وحالة حجزها (متاحة أو مشغولة)، إلى جانب اسم الشخص الذي حجزها وعدد الأشخاص في مجموعته.
|
||||
|
||||
التهيئة:
|
||||
|
||||
يستورد الكود وحدة tabulate لطباعة الجداول بطريقة منسقة و sys للخروج من النظام.
|
||||
يقوم بإنشاء خمسة قواميس (الجدول 1 إلى الجدول 5) بقيم أولية لـ BookingName (سلسلة فارغة) و BookState (False) و PeopleNumber (0).
|
||||
|
||||
الحلقة الرئيسية:
|
||||
تبدأ الوظيفة الرئيسية حلقة لا نهائية باستخدام while True.
|
||||
|
||||
داخل الحلقة:
|
||||
تعرض وظيفة process_menu قائمة من الخيارات باستخدام tabulate.
|
||||
يطالب البرنامج المستخدم بإدخال رقم للإجراء المطلوب.
|
||||
يستخدم كتلة try-except لمعالجة المدخلات غير الصالحة (القيم غير الرقمية).
|
||||
اعتمادًا على اختيار المستخدم (المطابق باستخدام عبارة match)، يتم استدعاء وظائف مختلفة:
|
||||
|
||||
1- (حجز طاولة):
|
||||
- تعرض وظيفة Table_menu قائمة بالطاولات.
|
||||
- تضمن وظيفة take_table_num اختيار رقم طاولة صالح.
|
||||
- تحصل وظيفة take_inputing على اسم المستخدم وعدد الأشخاص.
|
||||
- تقوم وظيفة Booking بتحديث قاموس الطاولة المختارة بمعلومات الحجز.
|
||||
|
||||
2- (تغيير الحجز):
|
||||
- تحصل وظيفة get_Name على اسم الشخص الذي يحتاج حجزه إلى تعديل.
|
||||
- تتكرر وظيفة Change_the_book عبر الطاولات للعثور على الاسم المطابق.
|
||||
- إذا تم العثور عليه، فإنها تطلب من المستخدم إدخال اسم جديد وعدد الأشخاص (باستخدام take_inputing) وتقوم بتحديث قاموس الطاولة.
|
||||
|
||||
3- (إلغاء الحجز):
|
||||
- على غرار الخيار 2، تحصل على الاسم باستخدام get_Name و check_cancel_Name.
|
||||
- إذا تم العثور عليه، تطلب التأكيد (check_sure).
|
||||
- عند التأكيد (Cancel_the_book)، تعيد تعيين قاموس الطاولة للإشارة إلى أنها متاحة.
|
||||
|
||||
4- (الخروج): تعرض وظيفة الخروج رسالة وداع وتخرج من البرنامج باستخدام ’sys.exit‘.
|
||||
|
||||
إذا أدخل المستخدم رقمًا غير صالح، تظهر رسالة خطأ.
|
||||
|
||||
|
||||
وظائف إضافية:
|
||||
|
||||
take_table_num: تتحقق من صحة رقم الطاولة المختار (بين 1 و 5) وتضمن توفره.
|
||||
|
||||
take_inputing: يحصل على إدخال صالح من المستخدم للاسم (أحرف أبجدية فقط) وعدد الأشخاص (عدد صحيح موجب).
|
||||
|
||||
get_Name: يحصل على اسم المستخدم، مع التأكد من أنه يحتوي على أحرف أبجدية فقط.
|
||||
|
||||
Booking، Change_the_book، Cancel_the_book: تحديث قاموس الطاولة المقابل بناءً على الإجراء.
|
||||
|
||||
check_cancel_Name: يتحقق من وجود اسم في حجز أي طاولة.
|
||||
|
||||
check_sure: يتأكد من أن المستخدم يؤكد الإلغاء بـ ”Y“ أو ”N“.
|
||||
|
||||
process_menu و Table_menu: يعرض قوائم منسقة باستخدام tabulate.
|
||||
|
||||
|
||||
|
||||
المرجع في مشكلة جديدة
حظر مستخدم