2025-10-11 14:34:54 +00:00

نظام بسيط لحجز طاولة في مطعم

فيديو توضيحي: https://youtu.be/uH6qufEfmG4

الوصف:

تطبيق لحجز طاولة في مطعم، وتغيير معلومات الحجز مثل اسم الحجز وعدد الأشخاص بناءً على الاسم الذي تدخله في عملية الحجز، أو يمكنك إلغاء الحجز أيضًا بناءً على الاسم الذي تدخله في عملية الحجز. عند الانتهاء من الحجز أو تغيير معلومات الحجز أو إلغاء الحجز، يمكنك إغلاق التطبيق.

استخدمت قواميس لحفظ المعلومات المتعلقة بالطاولات مثل رقم الطاولة واسم الشخص الذي قام بالحجز وحالة الطاولة (شاغرة أم غير شاغرة (صحيح = غير شاغرة، خطأ = شاغرة)) وعدد الأشخاص الذين سيحضرون (عدد الكراسي).

أنشأت 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.
الوصف
لا يوجد وصف
اقرأني 28 KiB
اللغات
Python 100%