تحديث 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.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
المرجع في مشكلة جديدة
حظر مستخدم