آموزش سی شارپ C# قسمت سوم

1396/7/19 محمد احمدی 13669

توی جلسه قبل بصورت مفصل در مورد متغیرها توضیح دادم

گفتیم که انواع مختلفی داریم و خیلی هاشون رو نام بردیم و مثال زدیم . این جلسه میخوایم در مورد عملگرها و نحوه انجام عملیات ریاضی صحبت کنیم !

لطفا اول یک پروژه جدید ایجاد کنید ( یا پروژه قبلی خودتون رو باز کنید ) . حالا توی فرم اصلی , از پنل ابزار ToolBox دوتا تکست باکس ( از همونجایی که یک دکمه یا همون Button رو اضافه کردیم ) و چهار تا دکمه اضافه کنید .

اول بگم که تکست باکس کارش اینه که یک متن ( مثل اسم و مشخصات فردی یا یک شماره تلفن یا یک عدد معمولی و یا تاریخ و .... ) رو از کاربر دریافت کنه . درواقع کاربر یک متن رو توی اون وارد میکنه و بعد عملیات مورد نظر روش انجام میشه !

کار باتن یا دکمه هم اینه که کاربر هر وقت خواست روی اون کلیک میکنه , و بعد عملیاتی که تعریف شده اجرا میشه ! 

یک چیزی هم به اسم برچسب یا label وجود داره که کار اصلیش نمایش یک متن به کاربر هست

مثلا ما دوتا تکست باکس توی برنامه میذاریم و جلوی هرکدوم یک لیبل قرار میدیم و تو لیبل اولی مینویسیم "نام : " و تو دومی هم مینویسیم "نام خانوادگی : " یا ......

حالا به فرمتون ( که قبلا دوتا تکست باکس و چهار تا دکمه اضافه کرده بودید ) دوتا لییل هم اضافه کنید

ما علاوه بر پنل جعبه ابزار و سولوشن اکسپلورر , یک پنل مهم دیگه هم به اسم "Properties" داریم

پنل properties بطور معمول سمت راست و پایین نرم افزار ویژوال استادیو قرار داره

از پنل properties میتونیم به تنظیمات یک شیء مثل فرم یا تکست باکس یا باتن یا لیبل یا بقیه مواردی که بعدا باهاشون آشنا میشیم دسترسی داشته باشیم و اون تنظیمات رو به سلیقه خودتون تغییر بدیم

مثلا روی دکمه هایی که اضافه کردیم یک بار کلیک کنید . میبینید که آیتم هایی که توی پنل هستن تغییر میکنن !

اگه توی همون لیست properties به سمت پایین اسکرول کنید , میبینید که یک آیتم به اسم Text هست که میتونید اونو تغییر بدید و هر متنی رو که بخواید بجای اون قرار بدین

مثلا ما برای یکی از دکمه ها علامت جمع و برای بقیه علامت تفریق و تقسیم و منفی رو میذاریم

توی لییل ها هم "عدد اول : " و "عدد دوم : " رو مینویسیم و برای تکست باکس هم متن خاصی ( فعلا و توی این پروژه ) نیاز نیست !

در نهایت فرمتون رو میتونید به هر شکلی که میخواید طراحی کنید . این هم عکس طرحی هست که خودم میزنم :

Calc Form

عکس 1 - فرم ماشین حساب ساده !

خب ما یک مشخصه مهم در مورد همه اشیاء داریم که Name هست و معمولا جایگاه سومین آیتم توی پنل Properties رو داره !

این نام برای هر شیء منحصر به فرده و با استفاده از این نام ما میتونیم به مشخصات و خصوصیات او شیء دسترسی پیدا کنیم . قوانین نام گذاری اشیاء دقیقا مثل قوانین نام گذاری متغیر ها هستن که جلسه قبل توضیح دادم .

حالا برای اینکه خوانایی برنامه بیشتر بشه , اسم هر شیء رو تغییر بدید و از اسم های مناسب استفاده کنید

مثلا تکست باکس 1 رو به txtNumber1 و تکست باکس 2 رو به txtNumber2 و بقیه دکمه ها رو هم به اسم های مناسب تغییر بدین ( میتونید تغییر ندید ولی پیشنهاد میکنم که تغییر بدین )

بعدازاینکهنامدکمههاروتغییردادیمبایدبرایهرکدومدستوراتمربوطبهخودشروبنویسیم . همونطورکهمیدونید ( یانمیدونید ) دکمهیکوسیلهسادهبرایدریافتدستورازکاربرهست

مثلاتویتلگراموقتیدکمهSendروفشارمیدید , متنتویتکستباکسکپیمیشهوارسالمیشهودرنهایتمتنپاکمیشه !!

طریقه کار این دکمه ها اینطوریه که وقتی کاربر روی اونها کلیک کرد , یک قطعه کد رو اجرا میکنن و کاری که برنامه نویسی باید انجام بده این هست که کد های مورد نظر خودش رو توی اون قطعه بنویسه !!

ولی این در صورتی هست که ما اون قطعه کد رو تعریف کنیم و به برنامه شناساییش کنیم . اینکار هم خیلی ساده ست . فقط کافیه توی قسمت دیزاین یا طراحی فرم , روی دکمه ای که میخواید دوبار کلیک کنید . بعد یک صفحه جدید باز میشه و همه چی آماده ست که ما کدهای خودمون رو بنویسیم .

خیلی وارد مقدمات شدیم پس بیشتر از این ادامه نمیدم

خب با توضیحاتی که بالا دادم روی دکمه جمع دوبارکلیک کنید . احتمالا تا الان متوجه شدید که میخوایم برنامه ماشین حساب ساده بسازیم . پس نیاز داریم که دوتا عدد رو از کاربر دریافت کنیم .

از اونجایی که متن توی تکست باکس بصورت رشته یا همون string هست , نیاز داریم که دوتا متغیر از نوع int تعریف کنیم و رشته ی عددی که کاربر وارد کرده رو به عدد از نوع int تبدیل کنیم

پس سه تا متغیر به اسم های num1 و num2و resultتعریف میکنیم و مقدارشون رو برابر متن های توی تکست باکس میذاریم

اگه بخوایم بصورت مستقیم مقادیر توی تکست باکس رو به متغیر ها نسبت بدیم , با خطا مواجه میشیم . پس اول باید مقادیر رو با استفاده از دستور Convert.ToInt32(); به عدد تبدیل کنیم و بعد به متغیر هامون نسبت بدیم . ( بعدا بیشتر با کلاس Convert آشنا میشیم )

پس در ابتدا باید همچین کدی رو بنویسیم :

int num1, num2 , result;

num1 = Convert.ToInt32(txtNumber1.Text);

num2 = Convert.ToInt32(txtNumber2.Text);

 

حالا که دوتا عدد رو از کاربر گرفتیم و بعد از تبدیل توی متغیرها قرار دادیم , با اونها رو با هم جمع کنیم و نتیجه رو توی متغیر result بنویسیم !

 

result = num1 + num2;

تا اینجا ما عملیات جمع رو به راحتی انجام دادیم . حالا کافیه اون اعداد رو با استفاده از مسیج باکس به کاربر نشون بدیم . توی جلسات قبل یک مقداری با مسیج باکس آشنا شدیم .

گفتیم که متد Show از کلاس MessageBox وظیفه نمایش یک پیام به کاربر رو داره . از اونجایی که متد Show یک رشته از نوع string رو دریافت میکنه , باید متغیر result رو با اضافه کردن یک .ToString() به آخرش به رشته تبدیل کنیم ( قبلا گفتم و باز هم تاکید میکنم که نقطه قبل از ToString و پرانتز بعد از اون الزامی هست و اگه گذاشته نشه ارور دریافت میکنیم ! )

پس در نهایت باید همچین کدی نوشته باشیم :

MessageBox.Show(result.ToString());

پروژه رو اجرا کنید و دوتا عدد توی تکست باکس اول و دوم وارد کنید .مثلا عدد 2 و 3 . حالا روی دکمه جمع کلیک کنید . طبیعتا باید عدد 5 رو به عنوان نتیجه نشون بده

برای اینکه ظاهر نمایش نتیجه به کاربر زیباتر بشه , اون خط از دستورات که مربوط به نمایش بود رو یک تغییر کوچیک میدیم .

مثلا میخوایم یک عنوان برای مسیج باکس انتخاب کنیم . روش کار خیلی ساده ست

کافیه بجای اینکه بنویسیم MessageBox.Show(result.ToString()); , از دستور MessageBox.Show(result.ToString(),"Calc"); استفاده کنیم . نتیجه رو خودتون بعد از اجرا میبینید .

به جای اون متن calc هر متن دیگه ای که بخواید میتونید بنویسید . مثلا اسم خودتون یا اسم شرکت و یا هر متن دیگه !

روند نوشتن بقیه دستورات برای دکمه های تفریق و تقسیم و ضرب هم دقیقا به همین شکل هست . فقط بجای اینکه از علامت جمع + توی دستور result = num1 + num2; استفاده کنیم ازعلامت تفریق یا تقسیم و یا ضرب استفاده میکنیم

دقت داشته باشید که برای ضرب باید از * و برای تقسیم باید از / استفاده کنید

در نهایت باید این کد ها نوشته شده باشه :

privatevoid btnSum_Click(object sender, EventArgs e)

{

int num1, num2, result = 0;


    num1 = Convert.ToInt32(txtNumber1.Text);

    num2 = Convert.ToInt32(txtNumber2.Text);


    result = num1 + num2;


MessageBox.Show(result.ToString(), "Calc");

}


privatevoid btnSub_Click(object sender, EventArgs e)

{

int num1, num2, result = 0;


    num1 = Convert.ToInt32(txtNumber1.Text);

    num2 = Convert.ToInt32(txtNumber2.Text);


result = num1 - num2;


MessageBox.Show(result.ToString(), "Calc");

}


privatevoid btnDiv_Click(object sender, EventArgs e)

{

int num1, num2, result = 0;


    num1 = Convert.ToInt32(txtNumber1.Text);

    num2 = Convert.ToInt32(txtNumber2.Text);


result = num1 / num2;


MessageBox.Show(result.ToString(), "Calc");

}


privatevoid btnMul_Click(object sender, EventArgs e)

{

int num1, num2, result = 0;


    num1 = Convert.ToInt32(txtNumber1.Text);

    num2 = Convert.ToInt32(txtNumber2.Text);


result = num1 * num2;


MessageBox.Show(result.ToString(), "Calc");

}

خب تبریک میگم . ما الان یک برنامه ماشین حساب ساده رو ساختیم ! .

برای اینکه دستورات پیشرفته تر مثل توان رو به برنامه اضافه کنیم , باید مقدار result رو برابر با Math.Pow(num1, num2); قرار بدیم :

result = Math.Pow(num1, num2);

تابع Pow  کلاس Math عملیات توان رو انجام میده !

یک نکته خیلی مهم این هست که مقادیر ورودی و خروجی تابع Pow از نوع double هستن ( که اگه به جلسه قبل مراجعه کنید متوجه میشید که یک نوع عددی هست که اعشار رو هم قبول میکنه ) و در نتیجه باید متغیرهای num1 , num2 , result رو از نوع double تعریف کنیم .

بعد از اینکار باید دستور تبدیل رشته به عدد رو به شکل Convert.ToDouble(); تغییر بدیم !

آیکن دانلود دانلود PDF قسمت سوم آموزش سی شارپ C#

کانال تلگرام