آموزش ساختار switch … case در C++ (به زبان کاملا ساده)
در این آموزش یاد خواهید گرفت که چگونه یک ساختار switch بنویسید.(با مثال)
ساختار if … else … if اجازه می دهد که از بین گزینه های مختلف یک قطعه کد را اجرا کنیم. اگر قصد دارید یک متغیر منفرد را با ساختار if … else … if متوالی بررسی کنید، بهتر است از ساختار switch استفاده کنید.
ساختار switch اغلب از if … else سریع تر است (نه همیشه). هم چنین ساختار switch ساده تر و قابل فهم تر است.
ساختار switch … case در C++
switch (n)
{
case constant1:
// code to be executed if n is equal to constant1;
break;
case constant2:
// code to be executed if n is equal to constant2;
break;
.
.
.
default:
// code to be executed if n doesn’t match any constant
}
در کد بالا زمانی که مقدار n با هر کدام از case ها برابر شد، قطعه کد مرتبط به همان case اجرا می شود تا زمانی که به انتهای switch برسد یا با break مواجه شود. Break از اجرای کد در case بعدی جلوگیری می کند.
فلوچارت switch
شکل بالا نحوه ی کار switch را نشان می دهد.
مثال : switch در C++
- // Program to built a simple calculator using switch Statement
- #include <iostream>
- using namespace std;
- int main()
- {
- char o;
- float num1, num2;
- cout << “Enter an operator (+, -, *, /): “;
- cin >> o;
- cout << “Enter two operands: “;
- cin >> num1 >> num2;
- switch (o)
- {
- case ‘+’:
- cout << num1 << ” + ” << num2 << ” = ” << num1+num2;
- break;
- case ‘-‘:
- cout << num1 << ” – ” << num2 << ” = ” << num1-num2;
- break;
- case ‘*’:
- cout << num1 << ” * ” << num2 << ” = ” << num1*num2;
- break;
- case ‘/’:
- cout << num1 << ” / ” << num2 << ” = ” << num1/num2;
- break;
- default:
- // operator is doesn’t match any case constant (+, -, *, /)
- cout << “Error! operator is not correct”;
- break;
- }
- return 0;
- }
خروجی
Enter an operator (+, -, *, /): +
–
Enter two operands: 2.3
۴٫۵
۲٫۳ – ۴٫۵ = -۲٫۲
کاربر – را وارد می کند که در o ذخیره می شود. و دو عدد ۲٫۳ و ۴٫۵ به ترتیب در num1 و num2 ذخیره می شوند.
سپس کنترل برنامه به خط زیر می رود:
cout << num1 << ” – ” << num2 << ” = ” << num1-num2;
در نهایت break باعث می شود switch به پایان برسد.
اگر break نباشد همه ی case های بعد از case صحیح نیز اجرا می شوند.