++C

درس عن Switch

الكاتب: Mr.Aziz

تاريخ النشر: 2023-03-02 11:03:59

اهلآ وسهلآ.

 

اليوم الدرس عن Switch في اللغة السي بلس بلس و تشبه if else ولكن بشكل أفضل. وايضآ من المهم أن تعرفها جيدآ الأنه له مميزات جميله و تستطيع أستغناء عن for loop

 

على سبيل المثال: لو حاب تعمل برنامج ATM هنا لاتحتاج loop نهائيآ و كل الى عليك تستخدم الدوال (الدوال سوف نشرح عنها المره القادمة) و switch فقط.

 

Switch: هو عباره عن أختيارات يتم اختيار من قبل المستخدم بحيث compiler مباشرآ يروح على الرقم المختار ليتم تنفيذ العملية القيم التي فيها مثل الصرافة ATM

في حال ادخلت رقم السري وبعدها يعطيك أختيارات ماذا تريد سحب أو ايداع وغيره وهكذا.

هذا حال Switch يعطيك خيارات لكي تختار التي تريده بضبط.

 

مثال:

أفرض أني انا ابغى أسحب 100 ريال اروح ATM واختار رقم 1 لكي يتم سحب نقدي ثم يخبرني اي من فئات و اختار رقم 1 يكون من فئة المئات 100 و هكذا.

 

مثال اخر

خليني اقولكم في ثلاث خيارات

أول خيار يكون المستخدم يدخل العملية الضرب

ثاني خيار يكون مستخدم يدخل العملية الطرح

ثالث خيار يكون مستخدم يدخل العملية القسمة وهكذا.

 

أسلوب الكتابة في Switch بهذي طريقة:

 

يتم الشرح مع أرقام الأسطر:

6- يتم كتابة الدالة المحجوزه هو Switch ثم القوسين و بين القوسين هو الشرط. بما يعني الشرط عباره عن ارقام أو أحرف

على سبيل المثال رقم 1 أو 2 أو 3 أو A BC  وهكذا. سيتم عمل عليه مثال

7- بداية { 

8- case كلمة محجوزه يجب أن يتواجد و يكون بعدها رقم أو حرف. على سبيل المثال هكذا 

case 2 أو case 1 أو case 4 أو case 'A' و هكذا 

شي الجميل في Switch لايمشي على الترتيب او بشكل تسلسلي 

 

بما يعني المستخدم أختار الرقم 4 compiler سوف يقرء الرقم 4 بشكل مباشر بدون أن ينظر رقم 1 أو 2 أو 3 

9- هنا يتم كتابة الكود أو تستطيع وضع Function call سوف نشرح عنها في درس الدوال

10 - ضروري جدآ يتم وضع break بعد كل case لانه لو نسيت break. 

compiler سوف يقرء أخر شي موجود فيه break فقط. سوف يتجاهل اي case لايحتوي على break;

 

12- بشكل أفتراضي لازم يكون موجود بأخر شي لانه لو المستخدم أدخل الرقم أو حرف غير متاح في case 

سوف يظهر له الأفتراضي و هنا يفضل وضع دالة يخرج من البرنامج او يرجع للقائمة.

 

14- نهاية Switch }

 

الأن فهمنا ماهو Switch تمام.

 

الأن سوف نطبق Switch مع عدد الأيام  ليسهل علينا الفهم.

 

سوف يكون لدينا كل case هو عدد الأيام و code بيكون عبارة عن السبت والأحد والأثنين والثلاثاء والأربعاء والخميس والجمعة.

 

هنا تطبيق:

 

سوف تلاحظ الأن عملت switch على شكل الأيام تمام.

 

الأن لدينا متغير جديد هو day ثم وضعنا القيمة هو 4

 

ولكن المتغير تم وضعه بين ( day)  ليتم تنفيذ الشرط و يتم نفيذ الكود على حسب case المختارة. تمام

 

الأن لدي قيمة 4 ماهو الأختيار الصحيح سوف يكون؟ 

 

النتيجة تحت. أجب قبل أن تنزل :)

 

 

هل عرفت النتيجة؟

النتيجة هو 

 

سوف تلاحظ تم أختيار case 4

أذا كان أجابتك case 4 فهو صحيح لانه case يأخذ على حسب الشرط الموجود سوا كان النتيجة أحرف أو ارقام

تعني اليوم هو الأربعاء.

 

ولكن ماذا لو غيرنا القيمة الى 2 ماذا يصبح؟

 

 

ستلاحظ الأن النتيجة هو يوم الأثنين يعني رقم 2 

 

هذا طريقة switch هو يخير لك ماهو الرقم أو الحرف الذي تريد ليتم تنفيذ الكود.

 

ولكن ماذا يحدث لو نسينا كلمة break على الرقم 2 ؟

 

 

سوف تلاحظ الأن لما نسيت break على الرقم 2 

تم طباعة الأثنين ثم الثلاثاء !! للعلم لايوجد قيمة رقم 3 ليتم طباعتها.!!

لانه كان بسبب break  و فهو مهم جدآ.

 

الأن نريد نعرف ماهو default؟ 

هو كود أفتراضي أذا المستخدم أدخل الرقم لغير موجود بالأصل في switch سيتم تشغيل هذا الكود 

 

هنا المثال

 

الأن ستلاحظ القيمة day أصبحت 10 

ولكن لايوجد اي من case رقم 10؟ بشكل تلقائي او أفتراضي ذهب الى default ليتم طباعة أن هذا الرقم غير صحيح.

 

 

و كذا أنتيهنا من الدرس Switch