به کاربردن دستوارت شرطی در زبان C# به همراه مثال
در بسیاری از موارد در ساخت برنامه های کاربردی نیاز به مقایسه دو عملگر حس میشود در C# مانند سایر زبان های برنامه نویسی این امکان وجود دارد تا با استفاده از دستوارت تعبیه شده در این زبان عمل مقایسه انجام شود .
کلمات کلیدی برای ساده ترین دستوارت شرطی عبارت است از:
If و case که رایج ترین موارد در عمل مقایسه هستند
برای تعداد بالا و راحتی کار استفاده از case مناسب تر بوده و بلعکس عملگر If مناسب است
برای اینکه عمل مقایسه ساده ای را بین دو عدد انجام دهید مثال زیر را دنبال کنید
برنامه ای ایجاد کنید تا با گرفتن 2 عدد و مقایسه انان عدد بزرگتر را نمایش دهد…..
برای این کار ابتدا مثل همیشه نیاز به تعریف 2 متغیر به صورت زیر است:
در قسمت public partial class
Int x,y;
پس از تعریف دو متغیر x, y روی فرم نیاز به 2 عدد Textbox داریم
برای انجام عملیات و کددهی ان نیاز به Button داریم که انرا نیز اضافه میکنیم
حالا نوبت به مقداردهی متغیرها میرسد:
x = Convert.ToInt32(textBox1.Text);
y = Convert.ToInt32(textBox2.Text);
پس از اینکه با دو قطعه کد بالا دو عدد را از کاربر گرفتیم نیاز به مقایسه با دستور if داریم
شکل کلی دستور If به صورت زیر است:
IF (condition) statement
کلمه If که یک کلمه رزرو شده بوده و نیازی به تغییر ندارد قسمت Condition نمایش دهنده شرط مورد نظر میباشد و قسمت Statement عمل مناسب به هنگام درستی شرط است
برای حالت غلط بودن ان از کلمه Else استفاده میکنیم به صورت زیر:
else statement
گاهی نایز است تا چندین شرط مورد بررسی قرار گیرد که برای این موضوع نیاز به استفاده از دستور Else If داریم با شکل کلی:
else if(condition) statement
در واقع اگر شرط اول نادرست باشد با مراجعه به else if های بعدی شرط های انان را نیز بررسی کرده تا به شرط درست یا به else نهایی برسد
پس از انکه متوجه شکل کلی دستورات if شدیم حالا نوبت به مقایسه دو عدد گرفته شده از کاربر میرسد :
If(x>y) messagebox.show(“X is greater”);
کد بالا مقدار X و Y را مقایسه کرده و در صورت درست بودن شرط در یک پیغام دلخواه نتیجه را نمایش میدهد
برای مقایسه حالت دوم که Y از X بزرگتر است چون 2 حالت بیشتر در این مقایسه مدنظر نیست از 2 حالت زیر میتوان استفاده کرد:
حالت اول:
Else messagebox.show(“Y is greater”);
حالت دوم :
else if (y>x) messagebox.show(“ y is greater “);
میتوانید دقیقا مقدار عددی هر متغیر را قرار بدهید :
messagebox.show(convert.tostring(y));
توجه کنید اگر کدهای مقاله را Copy میکنید به دلیل بزرگ و کوچک بودن حروف برنامه از شما ایارد میگیرد که باید حروف اول هر کلمه را بزرگ بنویسید
استفاده از دستور Case
در بسیاری از اواقت ممکن است تعداد مقایسه هایی که نیاز دارید مقدار زیادی باشد که نوشتن کدهای مقایسه با استفاده از دستور If مشکل و پیچیده میشود برای این منظور از دستور case باید استفاده شود که شکل کلی ان به صورت زیر میباشد:
switch(n)
}
case 1:
Statement;
Break;
Case 2:
Statement;
Break;
Case 3 :
statement;
Break;
Default:
Statement;
}
قطعه کد بالا دارای قسمت های مختلفی میباشد که هرکدام وظیف خاصی و عمل خاصی را انجام میدهند:
قسمت Switch کلمه ای کلیدی است که باید در کد حضور داشته باشد
قسمت N در اصل متغیری است که شما میخواهید انرا با چند مقدار مقایسه کنید
کلمه Case نیز کلمه ای کلیدی و رزروو شده است
1 در واقع عدد مورد نظر شما یا هر مقداری است که شما میخواهید انرا با N مقایسه کنید
Satement در واقع دستور مورد نظر برای اجرا شدن است
Break کلمه ای کلیدی است که اگر این شرط درست نبود از مقایسه خارج شود و به خط بعد برود
کلمه default حکم else در if را دارد که اگر هیچ کدام از دستوارت بالا درست نباشد چه عملی انجام شود!
برای مثال رشته ای از کاربر گرفته و انرا با 2 رشته مقایسه کنیم
x = (textBox1.Text);
switch (x)
{
case “ali”: MessageBox.Show(“ii”); break;
case “reza”: MessageBox.Show(“ss”); break;
}
کد بالا نشان دهنده املای صحیح در دستوارت است که باید حروف اول هر کلمه بزرگ باشد
کد بالا ابتدا رشته ای از کاربر گرفته و سپس انرا با دو کلمه ali و reza مقایسه میکند
در کد بالا به دلیل عدم وجود default اگر هیچ یک از شروط درست نباشد عملی انجام نمیشود
استفاده از دو دستور بالا به صورت ترکیبی:
برای استفاده از دو دستور بالا به صورت ترکیبی باعث میشود تا دو مقایسه پشت سرهم انجام شود یعنی پس از وارد شدن به case مورد نظر شرط دیگری نیز چک شود
x = (textBox1.Text);
switch (x)
{
case “ali”:(If Statement) ; break; case “reza”: if (statement) ; break
default:
statement;
}
کنترل ورود و خروج افراد که با استفاده از UserName و password افراد صورت میگیرد یکی از کاربردی ترین موارد در ساخت برنامه هایی است که به صورت عمومی مورد استفاده قرار میگیرد
به این صورت که فرد با وارد کردن نام کاربری و رمز خود به صفحه مشخصی وارد شده و از برنامه مختص خودش استفاده میکند
در مقاله قبل روشی برای مقایسه مقادیر مختلف توضیح داده شد که با استفاده از ان دستوارت میتوانیم نام و رمز گرفته شده را مقایسه با نام و رمز تعریف شده کنیم
برای این منظور نیاز به فرم اولیه برای دریافت اطلاعات و نیز طراحی فرم های دیگر برای هرکس داریم که بر طبق ان اطلاعات نمایش داده شود
بنابراین اجزای زیر را به فرم اضافه میکنیم:
textbox برای دریافت نام و رمز
Button برای هدایت کردن به فرم مخصوص پس از چک کردن و button خروج
2 عدد label برای نمایش محل رمز و نام کاربری
پس از اینکه تمامی موارد را روی فرم خود اضافه کردید نوبت به کددهی میرسد
ابتدا باید 1 متغیر از نوع رشته تعریف کنیم تا نام را بگیرد
و نیز 1 متغیر عددی برای رمز
Int b;
String a;
سپس نوبت به مقداردهی متغیرها میرسد
a=(textbox1.text);
b=convert.toint32(textbox2.text);
کد بالا دو رشته دریافتی که همان رمز و نام هستند را به متغیرها مقداردهی میکند
سپس باید به مقایسه انها بپردازیم
در این مثال کاربران مجاز سیستم 4 نفر هستند با نام های ali reza hamed mohsen
توجه کنید که نام ها کاملا اختیاری بوده
و نیز رمز هریک به ترتیب 100 200 300 400 میباشد که این نیز اختیاری میباشد
در button 1 برای خروج کد close(); را مینویسیم
در button 2 کد های زیر که عمل مقایسه و نمایش فرم جدید را بر عهده دارد نوشته میشود
توجه کنید برای اضافه کردن فرم جدید از منوی project گزینه add windows form را بزنید و سپس نام و Ok را انتخاب کنید
a = (textBox1.Text);
b = Convert.ToInt32(textBox2.Text);
دو کد بالا نام و رمز کاربری را دریافت میکند
برای تعریف و شناساندن فرم های جدید به فرم پایه خود از حالت کلی زیر استفاده میشود :
subForm myNewForm = new subForm();
myNewForm.Show ();
در واقع subform فرم زمینه شما
Newform فرم جدید شما
Show خاصیت نمایش فرم شما میباشد
اگر فرم خودرا تعریف نکنید خاصیت show وجود نخواهد داشت
پس از اضافه کردن 4 فرم برای 4 نفر نوبت به تعریف انان میرسد
Form2 Form2 = new Form2();
تعریف فرم 2
Form3 Form3 = new Form3();
تعریف فرم 3
Form4 Form4 = new Form4();
تعریف فرم 4
Form5 Form5 = new Form5();
پس از انکه تمامی فرم هارا تعریف کردیم نوبت به عمل مقایسه و نمایش انان میرسد
switch (a)
{
case “ali”: if (b == 100) Form2.Show(); break;
عمل مقایسه در کد بالا ابتدا نام ali را چک کرده و سپس رمز ان را
case “reza”: if (b == 200) Form3.Show(); break;
case “hamed”: if (b == 300) Form4.Show(); break;
case “mohesn”: if (b == 400) Form5.Show(); break;
default: MessageBox.Show(“not found”); break;
{
در اخر اگر هیچ یک از موارد درست نباشد با پیغام دلخواه نتیجه را اعلام میکند
برای انکه نام فرم هرکس مطابق با نام کاربری ان باشد از کدزیر استفاده میشود
Form2.text در واقع خاصیت نام فرم میباشد
اگر انرا مقداردهی کنیم نمایش اسم ان تغییر میکند
Form2.text=a;
چون a نام فرد مورد نظر است نام فرم همانند ان میشود
case “ali”: if (b == 100) Form2.Show(); Form2.Text = a; ; break;
case “Reza”: if (b == 100) Form2.Show(); Form2.Text = a; ; break;
case “Hamed”: if (b == 100) Form2.Show(); Form2.Text = a; ; break;
case “mohsen”: if (b == 100) Form2.Show(); Form2.Text = a; ; break;
در مقاله بعدی نحوه کار با حلقه های تکرار را شرح میدهیم
salam
amuzeshatun kheli khube
age lotf konid file PDF amuzeshatun ro ham zireshun bezarid ke betunim onaro negah darim ke vaghtaee ke dasresi be net nadarimmamnun misham
ممنون واقعا به همچین آموزش خوبی احتیاج داشتم
دستتون درد نکنه