if تو در تو (Nested If)
گاهی یک شرط داخل شرط دیگر می آید. به این می گوییم «if تو در تو (Nested If)». یعنی شرط دوم فقط وقتی بررسی می شود که شرط اول درست باشد. مثل بازی، مرحله دوم فقط پس از برد مرحله اول می آید.
تعریف if تو در تو
در «دستور (Statement)» if تو در تو، اجرای شرط ها وابسته است. یعنی شرط دوم زمانی بررسی می شود که شرط اول درست باشد. این کمک می کند تصمیم ها مرحله ای شوند.
سینتکس nested if
الگوی کلی را ببین. شرط دوم داخل بدنه شرط اول قرار می گیرد.
if (condition1) {
// code to run if condition1 is true
if (condition2) {
// code to run if both condition1 and condition2 are true
}
}
مثال ساده
اول بررسی کن x از 10 بزرگ تر است یا نه. سپس اگر بله، y را هم چک کن.
int x = 15;
int y = 25;
if (x > 10) {
printf("x is greater than 10\n");
if (y > 20) {
printf("y is also greater than 20\n");
}
}
مثال دنیای واقعی
اول «سن (Age)» را بسنج. سپس «شهروند بودن (Citizenship)» را بررسی کن. پیام مناسب را چاپ کن.
int age = 20;
bool isCitizen = true;
if (age >= 18) {
printf("Old enough to vote.\n");
if (isCitizen) {
printf("And you are a citizen, so you can vote!\n");
} else {
printf("But you must be a citizen to vote.\n");
}
} else {
printf("Not old enough to vote.\n");
}
گام های عملی
- شرط اول را واضح تعریف کن.
- داخل آن، شرط دوم را بنویس.
- پیام ها یا اعمال مناسب را چاپ کن.
نکته: عمق زیاد کد را سخت خوان می کند. اگر شرط ها زیاد شدند، از else if یا نوشتار کوتاه if کمک بگیر.
برای مرور دوباره if تو در تو را نگه دار. سپس برای ترکیب شرط ها به صفحه عملگرهای منطقی برو.
جمع بندی سریع
- if تو در تو یعنی شرط داخل شرط.
- شرط دوم پس از درست بودن اولی می آید.
- برای تصمیم های مرحله ای عالی است.
- عمق زیاد را با else if کم کن.