آموزش مقدماتی C++ | دستور switch
خطای دسترسی
برای ثبت پاسخ، ابتدا باید در سایت وارد شوید.
در شرایطی که یک دستور شرطی با “چندین else if” داشته باشیم و شرط ما مقایسه “یک متغیر” با مقادیر مختف باشد، از یک دستور شرطی جایگزین به نام switch استفاده می کنیم. مثلاً یک متغیر به نام level داریم که سطح یک مسابقه را مشخص می کند. می خواهیم کدی بنویسیم که اگر level برابر با easy بود، یک متن را چاپ کند، اگر برابر با medium بود، متنی دیگر، اگر برابر با hard بود، متنی دیگر و اگر غیر از این ها هم بود یک متن پیش فرض را چاپ کند. همانطور که می بینید در این مسئله یک متغیر به نام level داریم که قرار است با مقدار های مختلفی چک شود. یک راه حل خوب در این مواقع، استفاده از دستور switch به جای else if های پی در پی است.
switch(expression) {
case x:
// code block
break;
case y:
// code block
break;
default:
// code block
}
دستور switch به این شکل کار می کند که:
- متغیر مورد نظر جلوی دستور
switchنوشته می شود (همان expression). - مقدار این عبارت با مقدار هر کدام از
caseها مقایسه می شود. - اگر با هر کدام مطابقت داشت، بلوک کد مرتبط با آن اجرا می شود.
- دستورات
breakوdefaultاختیاری اند و در قسمت بعد توضیح داده می شود.
در مثال زیر، شماره ی روز هفته را به دستور switch می دهیم تا با مطابقت با case های مختلف، نام آن روز از هفته چاپ شود:
int day = 4;
switch (day) {
case 1:
cout << "Monday";
break;
case 2:
cout << "Tuesday";
break;
case 3:
cout << "Wednesday";
break;
case 4:
cout << "Thursday";
break;
case 5:
cout << "Friday";
break;
case 6:
cout << "Saturday";
break;
case 7:
cout << "Sunday";
break;
}
// Outputs "Thursday" (day 4)
برای ثبت پرسش ابتدا در سایت وارد شوید.