PDA

View Full Version : سوال: چک کردن با یک یا دو دستور در if



طبیب دل
دوشنبه 11 مهر 1390, 11:05 صبح
با سلام
چطور میشه در دستور if کاری کرد که اگر شرط اول برقرار نبود شرط دوم دیگه بررسی نشه ؟
با تشکر

modern_amin
دوشنبه 11 مهر 1390, 11:12 صبح
دوستم همیشه به من میگفت که مسائل سخت رو راحت ببین و راحت هرطوری میتونی انجام بده
.
شما یک متغییر بولین تعریف کن که مقدارش در همون اول true باشه
بعد اگه شرط اول برقرار نبود مقدارش رو false کن
و تو if دومی اگه اون بولین true بود شرط بررسی بشه

wolf_majid
دوشنبه 11 مهر 1390, 11:17 صبح
منظورتون رو متوجه نشدم
1- یعنی اگر if انجام نشد سراغ else نره ؟ خوب چرا else می گذارید
2- اگر شرط اول داخل if برقرار نبود بقیه شروط بررسی نشند ؟ بعد از شرط اول && (and) بگذارید

مطمئن نیستم بررسی میشند یا نه ولی دیگه مطمئنا" وارد بلوک اون if نمی شه

mehran_sh_t
دوشنبه 11 مهر 1390, 11:37 صبح
اگر شرط اول داخل if برقرار نبود بقیه شروط بررسی نشند ؟ بعد از شرط اول && (and) بگذارید
من هم همچین چیزی شنیدم... فک کنم همین باشه راهش

modern_amin
دوشنبه 11 مهر 1390, 14:52 عصر
بله،حق با شماست! (من منطورم این بود که دو دستور شرطی قرار هست که در 2جایه مختلف (یعنی 2تابع ) اجرا بشند با اون روش میتونند انجام بشن)
ولی ایشان میخاستند اگر شرط اول درست بود شرط دوم اجرا بشه ، نه اینکه هردو شرط صحیح باشن ، پس && جواب نمیده


if (شرط اول)
{
دستورات مورد نظر شرط اول
if (شرط دوم)
{
دستورات مورد نظر شرط دوم

}
}

mehran_sh_t
دوشنبه 11 مهر 1390, 16:40 عصر
فک نمی کنم منظورشون اینی باشه که شما گفتید! به نظر خیلی طبیعی میاد این کار (با عرض پوزش البته، امیدوارم به کسی بر نخوره)

wolf_majid
دوشنبه 11 مهر 1390, 17:14 عصر
بله،حق با شماست! (من منطورم این بود که دو دستور شرطی قرار هست که در 2جایه مختلف (یعنی 2تابع ) اجرا بشند با اون روش میتونند انجام بشن)
ولی ایشان میخاستند اگر شرط اول درست بود شرط دوم اجرا بشه ، نه اینکه هردو شرط صحیح باشن ، پس && جواب نمیده


if (شرط اول)
{
دستورات مورد نظر شرط اول
if (شرط دوم)
{
دستورات مورد نظر شرط دوم

}
}

راستش اصلا" منظور شما رو نگرفتم :متعجب:
1- اما اگر منظور شما این باشد که می خواهند دو if در دو تابع متفاوت را مقایسه کنند ؟
اولا" به نظر من این نوع کد نویسی جالب نیست اما تحت شرایط خاص می توان به تابع دوم ورودی bool با مقدار پیش فرض true داد که اگر false بود تابع اجرا نشه

2- اون کدی که نوشتید به خودیه خود اگر شرط اول درست باشه وارد شرط دوم میشه و بر عکس

3- اگر دو if داریم که داخل بلاک هم نیستند ولی می خواهیم اگر اولی اجرا نشد دومی هم اجرا نشه می شه دوتا if را با and به هم متصل کرد و یا شرط if اول برای if دوم هم گذاشت

Farshid007
دوشنبه 11 مهر 1390, 19:38 عصر
سوالتون یه خورده گنگ محسوب میشه لطفا با کد یه مثال بزنید!

ya30ien2
دوشنبه 11 مهر 1390, 20:14 عصر
یجوریه این سوال قابل درک نیست
منم فکر میکنم اون چیزی که خواستید منظورتون این بوده
if(shart1&&sharte2){}
else{}
البته من اینجوری فهمیدم

mobtakercode
دوشنبه 11 مهر 1390, 21:29 عصر
با اینکه سوال گنگ است
اما اگر منظورتان این است که در if دو شرط داریم که اگر نتیجه شرط اول false بود به سراغ چک کردن شرط دوم نرود در این صورت باید فقط از یک علامت & استفاده کنید
یعنی

if(a&b)
{
}

mehran_sh_t
دوشنبه 11 مهر 1390, 22:10 عصر
دقیقا برعکس پست بالاست
با این کد چک کنید:

int a = 10;
int b = 20;
int c = 0;
if (a == 4 && b / c == 3)
{
Console.WriteLine("");
}
else
{
Console.WriteLine("");
}


با دو تا &، مشکلی پیش نمی آد، ولی با یه دونه &، exception میده