From a0449c34551a5f7bdb29ec0317a5f5e224602029 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D9=85=D9=87=D9=86=D8=AF=20=D8=AF=D8=B1=D9=88=D9=8A=D8=B4?= Date: Sat, 11 Oct 2025 14:34:54 +0000 Subject: [PATCH] =?UTF-8?q?=D8=AA=D8=AD=D8=AF=D9=8A=D8=AB=20README.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 26db655..48f5cc0 100644 --- a/README.md +++ b/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. +