دستور switch
آشنایی با دستور switch در C++ برای انتخاب از بین چندین گزینه
دستور switch
دستور switch برای انتخاب از بین چندین گزینه استفاده میشود و جایگزینی برای چندین if...else if است.
ساختار switch
switch (expression) {
case value1:
// کد برای value1
break;
case value2:
// کد برای value2
break;
default:
// کد اگر هیچ case مطابقت نداشته باشد
}
مثال پایه
int day = 3;
switch (day) {
case 1:
cout << "شنبه";
break;
case 2:
cout << "یکشنبه";
break;
case 3:
cout << "دوشنبه";
break;
default:
cout << "روز نامعتبر";
}
دستور break
دستور break باعث خروج از switch میشود. اگر فراموش شود، اجرا به case بعدی ادامه میدهد.
int x = 2;
switch (x) {
case 1:
cout << "یک";
// break فراموش شده!
case 2:
cout << "دو";
break;
case 3:
cout << "سه";
break;
}
// خروجی: "دو"
caseهای چندگانه
int day = 6;
switch (day) {
case 1:
case 2:
case 3:
case 4:
case 5:
cout << "روز کاری";
break;
case 6:
case 7:
cout << "آخر هفته";
break;
}
دستور default
دستور default زمانی اجرا میشود که هیچ case مطابقت نداشته باشد.
int grade = 'E';
switch (grade) {
case 'A':
cout << "عالی";
break;
case 'B':
cout << "خوب";
break;
case 'C':
cout << "متوسط";
break;
default:
cout << "نمره نامعتبر";
}
مقایسه switch و if...else
| ویژگی | switch | if...else |
|---|---|---|
| خوانایی | بهتر برای گزینههای زیاد | بهتر برای شرایط پیچیده |
| سرعت | معمولاً سریعتر | کندتر |
| انواع داده | صحیح، کاراکتر، enum | هر نوع |
| شرطها | فقط برابری | هر شرطی |
بهترین شیوهها
- همیشه از break استفاده کنید
- از default برای حالت پیشفرض استفاده کنید
- caseها را به ترتیب منطقی مرتب کنید
- از switch برای مقادیر مشخص استفاده کنید
نکات مهم
- expression باید عدد صحیح یا کاراکتر باشد
- caseها باید مقادیر ثابت باشند
- دو case نمیتوانند مقدار یکسان داشته باشند
- break فراموش کردن باعث باگ میشود
این مبحث بخشی از دوره آموزش کامل C++ است.