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

1396/3/26 محمد احمدی 5770

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

خب بحث جلسات آخر در مورد حلقه ها بود و همونطور که قول دادم قرار بود بدلیل اهمیت بالای این مبحث , کمی تمرین روی این دو حلقه داشته باشیم . احتمالا توی این تمرین ها به بعضی نکات جدید هم برسیم !

لطفا یک پروژه کنسول رو باز کنید ( نحوه ساخت یک پروژه کنسول رو قبلا گفتم ) . دقت کنید که توی پروژه های کنسولی دیگه فرم و دکمه و تکست باکس نداریم و کار با محیطی شبیه محیط داس هست !!

توی محیط کنسول دستورات رو درون فایل Program.cs و در متد Main مینویسیم . در مورد این فایل و کلاس ها به موقع توضیحاتی خدمتتون ارائه میدم !

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

برای این کار اول باید 2 تا متغیر با هر نامی تعریف کنیم و با نمایش یک پیام برای هر متغیر , مقدار نام و نام خانوادگی رو از کاربر دریاف کنیم . در نهایت با نمایش یک پیام مناسب , برنامه رو به پایان برسونیم . (دقت کنید : این قسمت ممکنه خیلی مبتدی باشه)

string FirsName, LastName;

Console.WriteLine("Please Enter Your First Name : ");

FirsName = Console.ReadLine();

Console.WriteLine("Please Enter Yuor Last Name : ");

LastName = Console.ReadLine();

string msg = "Hi " + FirsName + " " + LastName + " Wellcom To My First Console Application";

Console.WriteLine(msg);

Console.WriteLine("Please Press Key to Exit …”);

Console.ReadKey();

من کد بالا رو نوشتم که البته شما میتونید به سلیقه خودتون هر تغییری که مایل هستین توش بدین ( که من هم توصیه میکنم کد رو کپی نکنید و خودتون بنویسید و تغییرات بسیار توی کد اعمال کنید ) .

توضیح کد بالا : طبق قراری که داشتیم اول دوتا متغیر تعریف کردیم . حالا با استفاده از متد WriteLine و با نمایش یک پیغام مبنی بر " لطفا نام خود را وارد کنید " به کاربر میفهمونیم که برنامه یک ورودی از شما میخواد که در اینجا همون نام هست . بعد از این باید با متد ReadLine یک متن رو از کاربر بگیریم و در متغیر نام یا همون FirstName قرار بدیم !

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

بعد از دریافت نام و نام خانوادگی , یک متغیر جدید با نام msg تعریف کردیم که مخفف مسیج هست و قراره متن پیام مورد نظر توی اون قرار بگیره . طبق چیزی که مسئله خواسته , یک پیام سلام و نمایش نام و نام خانوادگی کاربر و در نهایت چاپ پیام .

توی خط آخر هم با استفاده از متد ReadKey از بسته شدن برنامه جلوگیری کردیم ! ( در صورتی که نمیدونید کار این متد چیه , پیشنهاد میکنم این خط رو پاک کنید و برنامه رو اجرا کنید و نتیجه رو ببینید :) ! ) .

دوتا نکته توی برنامه : اول اینکه برای الحاق یا چسباندن دو رشته به هم میتونید از عملگر + استفاده کنید , و دوم اینکه سعی کنید در اکثر مواقع که میخواید یک ورودی از کاربر دریافت کنید , قبلش یک پیغام مناسب به کاربر نشون داده بشه ( اکثر افرادی که تازه برنامه نویسی رو شروع کردن این مورد رو رعایت نمیکنن ! ) .

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

حالا میخوایم یک برنامه ساده بنویسیم که استفاده از حلقه while 10 عدد از کاربر دریافت کنه , در نهایت جمع و میانگین اعداد رو به کاربر نمایش بده .

برای این کار اول از همه ( بعد از تعریف دو متغیر مورد نیاز که یکی کانتر یا شمارنده و دیگری برای جمع اعداد هست ) باید یک پیام مبنی بر ورود 10 عدد به کاربر نمایش بدیم.

بعد حلقه ای با شرط ( کانتر کوچکتر از 10 ) بنویسیم و دستورات دریافت اعداد رو درون اون حلقه قرار بدیم و هربار عدد دریافت شده با اعداد قبلی جمع بشه و درون متغیر ریخته بشه . در نهایت هم باید عدد و عدد تقسیم بر 10 ( برای نمایش میانگین ) رو نمایش بدیم :

int count = 1;

int sum = 0;

Console.WriteLine("Please Enter 10 Num : ");

while (count <= 10)

{

    sum += Convert.ToInt32(Console.ReadLine());

    count++;

}

Console.Clear();

Console.WriteLine("Sum is {0}nAverage is {1}", sum, sum / 10);

Console.ReadKey();

خب تقریبا همه جای کد واضح و مشخصه . فقط دو قسمت جدید هست که اونها رو توضیح میدم .

اول متد Clear که باعث پاک شدن صفحه کنسول میشه (شبیه دستور cls در داس) و دوم اینکه توی متد WriteLine از {0} و {1} استفاده کردیم . خب این متد به این صورت هست که هرجا چیزی با همچین فرمتی مشاهده کرد , بسته به شماره ای که درون {} قرار میدیم آرگومان بعد از پیام اول رو بجای اونها میذاره ( آرگومان چیه ؟؟ به ورودی های یک تابع یا متد آرگومان گفته میشه ) .

یعنی توی کد بالا بجای {0} مقدار متغیر sum و بجای {1} مقدار متغیر sum / 10 گذاشته میشه و خوده {0} و {1} پاک میشن !

اگر همون برنامه بالا رو بخوایم با حلقه for بنویسیم فقط به چند تغییر خیلی کوچیک نیازه :

int count = 1;
int sum = 0;

Console.WriteLine("Please Enter 10 Num : ");

for (count = 1; count <= 10; ++count)
{
    sum += Convert.ToInt32(Console.ReadLine());
}

Console.Clear();

Console.WriteLine("Sum is {0}nAverage is {1}", sum, sum / 10);

Console.ReadKey();

خب تغییرات مشخصه و نیاز به توضیحات نداره ! ضمنا چون هنگام تعریف متغیر count مقدار اون رو برابر 1 قرار دادیم نیازی نیست دوباره همون مقدار رو توی حلقه for بنویسیم و میتونیم از نوشتنش خودداری کنیم !

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

کانال تلگرام

کلمات کلیدی