PDA

View Full Version : سوال: دستور حلقه if



amirdatis
سه شنبه 12 اسفند 1393, 21:26 عصر
با سلام خدمت دوستان
این کد من همش اروز میده من میخوام دو شرط توی if داشته باشم باید چ کنم ؟


float a;
Console.WriteLine("Enter a Number For Grade Average");
a = float.Parse(Console.ReadLine());


if (a >= 17)


Console.WriteLine("'A'");


if ( 14>=a>17 )


Console.WriteLine("'B'");


if (10>=a>14)


Console.WriteLine("'C'");


else
Console.WriteLine("'M A S H R O O T'");

سیدسبحان
سه شنبه 12 اسفند 1393, 22:11 عصر
با سلام خدمت دوستان
این کد من همش اروز میده من میخوام دو شرط توی if داشته باشم باید چ کنم ؟


float a;
Console.WriteLine("Enter a Number For Grade Average");
a = float.Parse(Console.ReadLine());

if (a >= 17)

Console.WriteLine("'A'");

if ( 14>=a>17 )

Console.WriteLine("'B'");

if (10>=a>14)

Console.WriteLine("'C'");

else
Console.WriteLine("'M A S H R O O T'");



float a;
Console.WriteLine("Enter a Number For Grade Average");
a = float.Parse(Console.ReadLine());

if (a >= 17)

Console.WriteLine("'A'");

if ( 14>=a>17 )

Console.WriteLine("'B'");

if (10>=a>14)

Console.WriteLine("'C'");

else
Console.WriteLine("'M A S H R O O T'");

ببینید در دستور if اگر تعداد دستورات بیشتر از یکی باشد، باید در یک {} قرار گیرد.
شما یادتون رفته بذارید.

امیر مهرشاد
سه شنبه 12 اسفند 1393, 22:17 عصر
float a;
Console.WriteLine("Enter a Number For Grade Average");
a = float.Parse(Console.ReadLine());

if (a >= 17)
{

Console.WriteLine("'A'");
}

if ( 14>=a && a>17 )
{

Console.WriteLine("'B'");
}

if (10>=a && a>14)
{

Console.WriteLine("'C'");
}

else
Console.WriteLine("'M A S H R O O T'");

براکت ها رو هم میتونی نزاری امتحان کن خبر بده

Mofid.m
سه شنبه 12 اسفند 1393, 22:34 عصر
شما دستور رو به کل اشتباه نوشتی
شما باید برای استفاده از دو تا شرط از عملگر های AND(&&) و OR(||) استفاده کنی
مثلا برای بدست مثال بالا باید اینو مینوشتی:

float a; Console.WriteLine("Enter a Number For Grade Average");
a = float.Parse(Console.ReadLine());


if (a >= 17)


Console.WriteLine("'A'");


if (a>=14 && a < 17)


Console.WriteLine("'B'");


if (a>=10 && a < 14)

Console.WriteLine("'C'");


else





Console.ReadKey();
Console.ReadKey();



می تونی از عملگر های منطقی دیگه ایی هم استفاده کنی
NOT(!)
XOR(^)

shahab2025
چهارشنبه 13 اسفند 1393, 09:04 صبح
سلام
چرا از case استفاده نمیکنی ؟؟؟

SabaSabouhi
چهارشنبه 13 اسفند 1393, 09:11 صبح
شما دستور رو به کل اشتباه نوشتی
شما باید برای استفاده از دو تا شرط از عملگر های AND(&&) و OR(||) استفاده کنی
مثلا برای بدست مثال بالا باید اینو مینوشتی:

float a; Console.WriteLine("Enter a Number For Grade Average");
a = float.Parse(Console.ReadLine());


if (a >= 17)


Console.WriteLine("'A'");


if (a>=14 && a < 17)


Console.WriteLine("'B'");


if (a>=10 && a < 14)

Console.WriteLine("'C'");


else





Console.ReadKey();
Console.ReadKey();



می تونی از عملگر های منطقی دیگه ایی هم استفاده کنی
NOT(!)
XOR(^)

سلام
تو این شرایط من ترجیح می‌دم از else استفاده کنم

if ( a >= 17 )
Console.WriteLine("'A'");
else if ( a >= 14 )
Console.WriteLine("'B'");
else if ( a >= 10 )
Console.WriteLine("'C'");
else
Console.WriteLine("'M A S H R O O T'");

به نظر من این‌شکلی کد خلاصه‌تر و خواناتر هست.

صبا صبوحی

Mofid.m
چهارشنبه 13 اسفند 1393, 09:28 صبح
تو این شرایط من ترجیح می‌دم از else استفاده کنم

اره خوب
اما من همون دستور رو اصلاح کردم

partovinia
چهارشنبه 13 اسفند 1393, 14:09 عصر
سلام به جناب صبا صبوحی و ممنونم از اینکه همیشه ما مبتی ها رو راهنمایی می کنید .ولی من فکر می کنم منطق کدی که شما در بالا ذکر کردین نادرست هستش چون اگر بزرگتر ومساوی 14 باشه خوب 17 رو هم در بر می گیره بنابراین شرط به صورت کامل محدوده رو تعریف نمی کنه و اشتباهه ...البته این نظر منه و من نمی تونم الان این کد رو تست کنم .اگر من اشتباه می کنم لطفا توجیحم کنید وبیشتر توضیح بدین .ممنونم

محمد آشتیانی
چهارشنبه 13 اسفند 1393, 14:41 عصر
سلام به جناب صبا صبوحی و ممنونم از اینکه همیشه ما مبتی ها رو راهنمایی می کنید .ولی من فکر می کنم منطق کدی که شما در بالا ذکر کردین نادرست هستش چون اگر بزرگتر ومساوی 14 باشه خوب 17 رو هم در بر می گیره بنابراین شرط به صورت کامل محدوده رو تعریف نمی کنه و اشتباهه ...البته این نظر منه و من نمی تونم الان این کد رو تست کنم .اگر من اشتباه می کنم لطفا توجیحم کنید وبیشتر توضیح بدین .ممنونم


سلام
ببینید دوست عزیز کد آقای صبوحی کاملا درسته ، چرا که اعداد از بزرگترین نمره دارن بررسی میشن و البته شما به else دقت نکردی
یعنی اینکه در یک بلوک if .. else وقتی یک شرط برقرار بشه دیگه else های بعدی اجرا نمیشن

عدد 15 رو در قطعه کد آقای صبوحی در نظر بگیرید
طبیعتا دستورات اولین if بخاطر اینکه عدد ورودی بزرگتر از 17 نیست اجرا نمیشه و در if دوم این اتفاق میفته و بعد از این دیگه شروط بررسی نمیشن




موفق باشید.