جملة Switch
جزء من قسم الأساسيات في رحلة 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";
}التحدي
مبتدئأنشئ برنامجًا يأخذ رقم شهر (1 لشهر يناير، و2 لشهر فبراير، وهكذا) ويطبع الفصل الذي ينتمي إليه. استخدم تعليمة switch لتنفيذ المنطق.
الفصول والأشهر المقابلة لها هي:
- الشتاء: ديسمبر (12)، يناير (1)، فبراير (2)
- الربيع: مارس (3)، أبريل (4)، مايو (5)
- الصيف: يونيو (6)، يوليو (7)، أغسطس (8)
- الخريف: سبتمبر (9)، أكتوبر (10)، نوفمبر (11)
- Invalid month: للخيارات الأخرى
جرّب بنفسك
#include <iostream>
int main() {
int month;
std::cin >> month;
std::string season = "";
// اكتب الكود الخاص بك أدناه
std::cout << season << std::endl;
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوصتدرّب بنفسك: مترجم C++ عبر الإنترنت