جملة Switch
جزء من قسم الأساسيات في رحلة C++ على Coddy. الدرس 29 من 74.
عبارة switch تشبه عبارة if متعددة المسارات. وبدلًا من تقييم شرط واحد، تتحقق من قيمة variable مقابل حالات متعددة، وتنفّذ التعليمات البرمجية المرتبطة بالحالة المطابقة.
إليك البنية الأساسية لعبارة switch:
switch (variable) {
case value1:
// الكود الذي يُنفَّذ إذا كان variable يساوي value1
break;
case value2:
// الكود الذي يُنفَّذ إذا كان variable يساوي value2
break;
// ... المزيد من الحالات
default:
// الكود الذي يُنفَّذ إذا لم تتطابق أي حالة
}- تأتي الكلمة المفتاحية
switchمتبوعةً بـ variable الذي تريد اختباره بين قوسين. - يمثل كل
caseقيمة محتملة لـ variable. - يُنفَّذ الكود الموجود داخل كل
caseإذا كان variable يطابق قيمة ذلك الـ 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";
}يمكنك أيضًا دمج cases متعددة في حالة واحدة:
int day = 3;
std::string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... حالات للأيام الأخرى
default:
dayName = "Invalid day";
}التحدي
مبتدئأنشئ برنامجًا يأخذ رقم month (1 لشهر يناير، و2 لشهر فبراير، وما إلى ذلك) ويطبع الموسم الذي ينتمي إليه. استخدم عبارة switch للمنطق.
المواسم وmonth المقابلة لها هي:
- Winter: ديسمبر (12)، يناير (1)، فبراير (2)
- Spring: مارس (3)، أبريل (4)، مايو (5)
- Summer: يونيو (6)، يوليو (7)، أغسطس (8)
- Autumn: سبتمبر (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++ عبر الإنترنت