اگر کوتاه (Short hand if..else)
گاهی می خواهیم شرط ها را خیلی کوتاه بنویسیم. اینجا «اگر کوتاه» یا عملگر سه تایی (Ternary) کمک می کند. این عملگر یک مقدار برمی گرداند. بنابراین خروجی را مستقیم می گیریم. مثل انتخاب فوری بین دو جواب.
اگر کوتاه یا عملگر سه تایی
ساختار کلی این است: اگر شرط درست بود، مقدار اول برگردان. وگرنه مقدار دوم. این روش برای شرط های ساده عالی است.
variable = (condition) ? expressionTrue : expressionFalse;
مقایسه: if...else معمولی
اول نسخه معمولی را ببین. سپس همان منطق را کوتاه می کنیم.
int time = 20;
if (time < 18) {
cout << "Good day.";
} else {
cout << "Good evening.";
}
همان منطق با اگر کوتاه
اینجا نتیجه را در یک متغیر (Variable) می ریزیم. سپس چاپ می کنیم.
int time = 20;
string result = (time < 18) ? "Good day." : "Good evening.";
cout << result;
چاپ مستقیم با اگر کوتاه
می توانیم نتیجه را مستقیم داخل cout بفرستیم. کد کوتاه تر می شود.
int time = 20;
cout << ((time < 18) ? "Good day." : "Good evening.");
اگر کوتاه تو در تو
می شود چند نتیجه داشت. اما خوانایی کمتر می شود. بااحتیاط استفاده کن.
int time = 22;
string message = (time < 12) ? "Good morning."
: (time < 18) ? "Good afternoon."
: "Good evening.";
cout << message;
نکته: اگر کوتاه برای شرط های ساده عالی است. برای منطق پیچیده، شرط ها If...Else خواناتر است.
هشدار: اگر چند شرط داری، بهتر است از else if کمک بگیری. بیش ازحد تو در تو ننویس.
مراحل تمرین
- یک متغیر score بساز.
- اگر score >= 60، متن "Pass" را برگردان.
- وگرنه متن "Fail" را برگردان و چاپ کن.
برای یادگیری کنار هم، صفحه else if و شرط ها If...Else و همین اگر کوتاه را ببین.
جمع بندی سریع
- اگر کوتاه سه بخش دارد.
- یک مقدار برمی گرداند.
- برای شرط ساده عالی است.
- تو در تو خوانایی را کم می کند.
- منطق پیچیده را if...else بنویس.