جلسه ششم(قسمت سوم): دریافت ورودی از کاربر در #C
در جلسه گذشته یاد گرفتیم چگونه یک مقدار عددی از نوع int (اعداد صحیح) دریافت کنیم. همچنین یاد گرفتیم چگونه نوع یک مقدار ورودی را از رشته یا String به int تبدیل کنیم. قبل از مشاهده این جلسه، بر روی این لینک کلیک کنید و جلسه قبل را مطالعه کنید. در این جلسه میخواهیم نکات بیشتری از مبحث User input یاد بگیریم. با ما همراه باشید.
مثال: برنامه ای بنویسید که از کاربر بخواهد نام کاربری یا Username و Password خود را وارد کند. سپس مقدار ورودی را برای کاربر چاپ کند.
۱- ابتدا میخواهیم پس از شروع برنامه، پیغام ” :Enter your Username ” برای کاربر چاپ شود. در نتیجه از دستور ;()Console.WriteLine استفاده میکنیم.
static void Main(string[] args)
{
Console.WriteLine(“Enter Your Username:”);
}
۲- اکنون کاربر میخواهد Username یا نام کاربری خود را وارد کند. username یا نام نام کاربری میتوانید ترکیبی از اعداد یا حروف باشد. برای مثال: Amin4566Mak
نکته: در محیط کنسول، تمامی کاراکتری را که کاربر وارد میکند، برنامه آن را به از نوع String یا رشته (متن) میشناسد. براي دريافت نام کاربري از کاربر، از متغير String استفاده ميکنيم.
۳- اکنون باید برای ورودی، یک متغیر ایجاد کنیم. براي دريافت نام کاربري از کاربر، از متغير String استفاده ميکنيم. نام متغیر را Username قرار میدهیم.
۴- گفتیم که برای دریافت ورودی از کاربر، از دستور ()Console.ReadLine استفاده میکنیم.
سپس متغیر , را با دستور ;()Console.ReadLine مساوی در نظر میگیریم. زیرا میخواهیم ورودی که از کاربر دریافت میکنیم، درون متغیر string قرار دهیم.
static void Main(string[] args)
{
Console.WriteLine(“Enter Your Username:”);
String username = Console.ReadLine();
}
۵- سپس، با ايجاد يک پيام، از کاربر ميخواهيم رمز عبور يا Password خود را وارد کند.
static void Main(string[] args)
{
Console.WriteLine(“Enter Your Username:”);
String username = Console.ReadLine();
Console.WriteLine(“Enter Your Password:”);
}
ما ميخواهيم رمز عبوري که کاربر ميخواهد وارد کند، فقط اعداد باشد. يعني کاربر نتواند از حروف يا رشته (String) براي رمز عبور خود استفاده کند. نکته: به صورتي که کاربر هر نوع کاراکتري غير از اعداد وارد کند، برنامه با خطا مواجه ميشود.
ورودي کاربر بايد در يک متغير ذخيره شود. از آن جا که ميخواهيم کاربر براي رمز عبور خود تنها از اعداد استفاده کند، از متغير int استفاده ميکنيم. نام اين متغير را Password قرار ميدهيم. در ادامه، دستور ;()Console.ReadLine را، مساوي با متغير password قرار ميدهيم.
static void Main(string[] args)
{
Console.WriteLine(“Enter Your Username:”);
String username = Console.ReadLine();
Console.WriteLine(“Enter Your Password:”);
int Password = Console.ReadLine();
}
نکته: همانطور که انتظار ميرفت، با يک Error مواجه شديم. اين Error ميگويد مقدار string که همان مقدار ورودي ما ميباشد، بايد به نوع int يا اعداد صحيح تبديل شود.زيرا ميخواهد درون متغير int قرار بگيرد. در جلسه قبل در مورد اين خطا صحبت کرديم. گفتيم که کاربر هر نوع مقداري را به عنوان ورودي در محيط Console وارد کند (فرقي نميکند عدد باشد يا حروف)، برنامه آن مقدار را از نوع String يا رشته (متن يا حروف) ميشناسد. براي مثال، کاربر رمز ۱۲۳۴۵۶ را به عنوان رمز عبور در نظر ميگيرد، در محيط Console، اين رمز عبور، اين يک string يا متن است و برنامه اين رمز عبور را به عنوان اعداد نميشناسد و نميتواند اين رمز عبور را درون متغير int قرار دهد. پس اين رمز عبور بايد تبديل به int بشود. براي تبديل يک نوع داده از string به int از Convert.ToInt32 استفاده ميکنيم.
نکته: اگر کاربر هر نوع کاراکتري غير از اعداد وارد کند، برنامه با خطا مواجه ميشود. زيرا در اينجا، مقدار ورودي درون متغير int قرار ميگيرد.
static void Main(string[] args)
{
Console.WriteLine(“Enter Your Username:”);
String username = Console.ReadLine();
Console.WriteLine(“Enter Your Password:”);
int Password =Convert.ToInt32 (Console.ReadLine());
}
تاکنون برنامه یک Username و Password از کاربر دریافت کرده است. میخواهیم مقادیر را چاپ کنیم. میتوانیم همانند گذشته، به صورت زیر مقایدر ورودی را چاپ کنیم.
static void Main(string[] args)
{
Console.WriteLine(“Enter Your Username:”);
String username = Console.ReadLine();
Console.WriteLine(“Enter Your Password:”);
int Password = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“Your Username is” + (” “) + username);
Console.WriteLine(“Your Password is” + (” “) + Password);
}
هم اکنون برنامه را اجرا کنيد. خروجي شما به شکل زير ميباشد. سپس username را @amin18makarem و Password را ۱۲۳۴۵۶ را به عنوان ورودی به برنامه میدهم.
اکنون ميخواهيم با عبارت {۰} اشنا شويم. اين عبارت، درون دستور ;()Console.WriteLine استفاده ميشود. از اين عبارت براي چاپ مقادير استفاده ميشود. ميخواهيم اين عبارت {۰} در مثال بالا قرار دهيم تا ببينيم اين عبارت چه کاربردي دارد.
عبارت {۰}، مقادير درون يک متغير را جايگزين خود ميکند. يعني مقدار يک متغير جايگزين عبارت {۰} ميشود. به مثال زير توجه کنيد و نکات پایین را بخوانید تا با این عبارت آشنا بشوید.
static void Main(string[] args)
{
Console.WriteLine(“Enter Your Username:”);
String username = Console.ReadLine();
Console.WriteLine(“Enter Your Password:”);
int Password = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“Your Username is ‘{0}’ ” , username);
Console.WriteLine(“Your Password is ‘{0}’ ” , Password);
}
نکته: در دستور Console.WriteLine، عبارت {۰}، بین دو کاراکتر ‘ ‘ قرار میگیرد.
نکته: همانطور که مشاهده ميکنيد، در مثال بالا، پس از قرار دادن عبارت {۰} در برنامه، علامت هاي + حذف شده و کاراکتر , جايگزين آن شده است.
نکته: در مثال بالا، مقادیر درونی متغیر های username و Password جایگزین عبارت ‘{۰}’ میشود.
برنامه را اجرا کنید. خروجي شما به شکل زير ميباشد. سپس username را @amin18makarem و Password را ۱۲۳۴۵۶ را به عنوان ورودی به برنامه میدهم.
با ما همراه باشید.