Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

جملة Switch

جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 29 من 74.

جملة switch تشبه جملة if متعددة الاتجاهات. فبدلاً من تقييم شرط واحد، تقوم بالتحقق من قيمة متغير مقابل حالات متعددة وتنفذ الكود المرتبط بالحالة المطابقة.

إليك الهيكل الأساسي لجملة switch:

switch (variable) {
    case value1:
        // الكود الذي سيتم تنفيذه إذا كانت variable تساوي value1
        break;
    case value2:
        // الكود الذي سيتم تنفيذه إذا كانت variable تساوي value2
        break;
    // ... حالات إضافية
    default:
        // الكود الذي سيتم تنفيذه إذا لم تتطابق أي حالة
}
  • تتبع الكلمة المفتاحية switch بالمتغير الذي تريد اختباره بين قوسين.
  • تمثل كل case قيمة محتملة للمتغير.
  • يتم تنفيذ الكود الموجود داخل كل case إذا تطابق المتغير مع قيمة تلك الحالة.
  • تُعد جملة break أمراً بالغ الأهمية؛ فهي تخرج من switch بعد تنفيذ الحالة. وبدونها، سينتقل التنفيذ إلى الحالة التالية.
  • حالة default اختيارية ويتم تنفيذها إذا لم تتطابق أي حالة أخرى.

إليك مثالاً:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
        dayName = "Monday";
        break;
    case 2:
        dayName = "Tuesday";
        break;
    // ... حالات للأيام الأخرى
    default:
        dayName = "Invalid day";
}

يمكنك أيضاً دمج عدة حالات في حالة واحدة:

int day = 3;
std::string dayName;

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    // ... حالات للأيام الأخرى
    default:
        dayName = "Invalid day";
}
challenge icon

التحدي

مبتدئ

أنشئ برنامجًا يأخذ رقم الشهر (1 لشهر يناير، 2 لشهر فبراير، إلخ) ويطبع الفصل الذي ينتمي إليه. استخدم جملة switch للمنطق البرمجي.

الفصول والشهور المقابلة لها هي:

  • Winter: ديسمبر (12)، يناير (1)، فبراير (2)
  • Spring: مارس (3)، أبريل (4)، مايو (5)
  • Summer: يونيو (6)، يوليو (7)، أغسطس (8)
  • Autumn: سبتمبر (9)، أكتوبر (10)، نوفمبر (11)
  • Invalid month: للخيارات الأخرى

ورقة مرجعية

تُعد جملة switch شرطاً متعدد المسارات يتحقق من قيمة متغير مقابل حالات متعددة:

switch (variable) {
    case value1:
        // الكود الذي سيتم تنفيذه إذا كان variable يساوي value1
        break;
    case value2:
        // الكود الذي سيتم تنفيذه إذا كان variable يساوي value2
        break;
    default:
        // الكود الذي سيتم تنفيذه إذا لم تتطابق أي حالة
}

المكونات الرئيسية:

  • case: يمثل قيمة محتملة للمتغير
  • break: يخرج من جملة switch بعد تنفيذ الحالة (يمنع الانتقال التلقائي للحالة التالية)
  • default: حالة اختيارية يتم تنفيذها إذا لم تتطابق أي حالة أخرى

يمكنك دمج حالات متعددة:

switch (day) {
    case 1:
    case 2:
    case 3:
        dayName = "Start of week";
        break;
    default:
        dayName = "Invalid day";
}

جرّب بنفسك

#include <iostream>

int main() {
    int month;
    std::cin >> month;
    std::string season = "";
    
    // اكتب كودك بالأسفل
    
    
    std::cout << season << std::endl;
    return 0;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals