آرین نرم افزار

آموزش برنامه نویسی سی شارپ (قسمت دوم)

پنجشنبه, ۱۲ فروردين ۱۳۹۵، ۱۲:۲۰ ق.ظ

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

خوب دفعه قبل تا اینجا گفتیم که یک رشته از کاربر میگیریم و همونو بهش برمیگردونیم با استفاده از متغییر string ، خوب حالا میخوایم که تبدیل نوع رو یاد بگیریم !

تبدیل نوع یکی از پر کاربرد ترین ها در برنامه نویسیه البته اگه از متغییر های var استفاده کنیم این موضوع کم تر میشه ولی از بین نمیره که بعدا بهش میرسیم  :)

خوب تبدیل نوع دقیقا چیه ؟؟ الان بهتون میگم :  تبدیل نوع یعنی ما محتوای یک متغییر مثل int که یک عدد توش هست رو و از نوع عدده میخواهیم بریزیم توی یک متغییر string که از نوع رشته هست !! خوب به صورت معمولی اینکار رو بکنیم که اینجوری میشه :

int a = 123;

string s = a;

که این کار ممکن نیست و خطا میده ! اما برای اینکه بتونیم عدد 123 که داخل متغییر a هست رو بریزیم توی s که یک رشته هست ما باید محتوا رو اول تبدیل کنیم به یک رشته و بعد ذخیره کنیم در s که به شکل زیر میشه :

int a = 123;
string s = Convert.ToString(a);

خوب ما میتونیم از کلاس Convert برای این کار استفاده کنیم ، این کلاس دارای متد های مختلفی هست که String , int16 , in32 , int64 , boolean , object و... رو به هم کانورت یا تبدیل کرد. درباره int هم بگم که اینجا یه نوع 16 و 32 و 64 داریم برای تبدیل به نوع int معمولا از int32 استفاده میشه.

نحوه استفاده از کلاس Convert در کل این شکلیه :

Convert.To<Data Type>(Value);

Data Type همون نوع داده ای هست و Value هم اون مقداره که میتونه مقدار یک متغییر باشه و یا تکست باکس و...

مثال های دیگه ای از تبدیل نوع :

int a = 12 , b=15;
string s = "12345" , st;

st = Convert.ToString(a + b); // جواب = 27

a = Convert.ToInt32(s); // a = 12345

b = convert.ToInt32(st); // b = 27

اما باید اینو بگم که ما برای تبدیل به int و یا uint و چند تای دیگه میتونیم از یه راه دیگه هم بریم که معمولا این برای این ها و int استفاده میشه 

استفاده از int.Parse مثال :

int a = 0;
string s = "12345";

a = int.Parse(s); // => a = 12345

خوب حالا ما میخوایم دو تا عدد رو از کاربر بگیریم و با هم جمع کنیم که میشه به صورت زیر انجام داد :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyFirstLearn
{
    class Program
    {
        static void Main(string[] args)
        {
            // گرفتن دو عدد از کاربر با دو متغییر
int a = int.Parse(Console.ReadLine()); int b = int.Parse(Console.ReadLine());
// جمع آن دو عدد
int c = a + b;
// تبدیل کردن به رشته و نمایش حاصل جمع
Console.Write(Convert.ToString(c)); // جلو گیری از بسته شدن خودکار صفحه Console.ReadKey(); } } }

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

نکاتی در مورد نحوه نمایش متغییر های رشته ای :

متغییر های رشته ای  عین همون میقداره خودشونو نشون میدن خیلی صاف و ساده همون چیزی که هستن هستن  :)))

مثلا اگه مقدار یک متغییر رشته ای رو اینجوری بدیم :

string s = "2 + 2";
/*
Result = 2 + 2
*/

یعنی تو خروجی هم همون 2 + 2 رو نشون میدن اما اگه همین مقدار رو برای متغییر های رشته ای بذاریم :

int a = 2 + 2;
/*
Result = 4
*/

خوب حالا که فهمیدیم که خود رشته نمیتونه عمل جمع رو انجام بده و متغییر عددی هم نمیتونه کار رشته رو بکنه پس میفهمیم که اگه به جای وارد کردن عدد حروف وارد کنیم خطا میده  :))

خوب متغییر int رو که یاد گرفتیم ولی متغییر هایی از جنس int فقط پذیرنده اعداد صحیح بودن که ! خوب حالا چه کنیم ؟ آها از متغییر های double استفاده میکنیم ! 

متغییر هایی که double هستند میتونند اعداد اعشاری رو هم قبول کنند !!! ( زمانی که عددمون نیست بهتده از همون int استفاده کنیم )

خوب بقیه موارد هم که مثل قبل هست ولی با این هال یه مثال کوچولو میزنیم  :)  :

double db = 19.75;

خوب این قسمت رو همینجا در همین مکان به پایان میرسونیم تا قسمت بعدی با یه سری کار های جدید و باحال تر آشنا بشیم  :)))

چی ؟ چقدر زود تموم شد ؟

- اگه بخوام اون کد ها و دستورای باحال رو تو همین آموزش بگم زیاد و خسته کننده میشه پس بمونه واسه قسمت بعدی  :)


حالا کجا با این عجله ؟ مشق خونه داریم باید واسه جلسه بعد حل کنی بیاری ببینم خنده

  • 1 - برنامه ای بنویسید که دو عدد رو از کاربر بگیره و جمعشون کنه سپس ضرب 2 کنه و به کاربر نشون بده

راهنمایی : برای ضرب کردن از ' * ' استفاده میشود.

  • 2 - برنامه ای بنویسید که پنج عد را از کاربر بگیرد و میانگین آن هارا حساب کند.

راهنمایی : برای تقسیم کردن از ' / ' استفاده میشود.


<-- قسمت قبل

قسمت بعد -->

نظرات (۷)

  • علیرضا آهنی
  • تکلیف اولی اینه :

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication5
    {
        class Program
        {
            static void Main(string[] args)
            {
                int a = int.Parse(Console.ReadLine());
                int b = int.Parse(Console.ReadLine());
                int c = a + b;
                int v = c * 2
                Console.Write("==");
                Console.Write(Convert.ToString(v));
                Console.ReadKey();
            }
        }
    }
      پاسخ:


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


    بهت پیشنهاد میکنم که سی شارپ و جاوا رو در حد حرفه ای یا نیمه حرفه ای کار کنی و دنبالشون کنی  :)
    شاید بی‌ربط به موضوع باشه اما می‌خواستم سوال کنم شما  برای پایتون هم آموزش می‌گذارید؟
      پاسخ:


    همچین بى ربط هم نیست :)
    حقیقتا فعلا که برنامه اى براش ندارم و خوب خودمم زیاد کارش نکردم!
    ولى اگه تونستم حتما در اولویت ها قرارش میدم :)
    اینم کد نرم افزار کنسول محاسبه ک.م.م دو عدد در C# هدیه به کاربران ننه نقلی بلاگ :) 
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace Least Common Multiple
    {
        class Program
        {
            static void Main(string[] args)
            {
                string a;
                string b;
                Console.WriteLine("a&b:");
                a = Console.ReadLine();
                b = Console.ReadLine();
                int a1 = Int32.Parse(a);
                int b1 = Int32.Parse(b);
                int x;
                if (a1 > b1)
                {
                    x = a1;
                }
                else
                {
                    x = b1;
                }
    
                int c1, c2;
                c1 = x % a1;
                c2 = x % b1;
                while (c1 != 0 || c2 != 0)
                {
                    x++;
                    c1 = x % a1;
                    c2 = x % b1;
    
                }
                Console.WriteLine("Result : " + x);
                Console.ReadLine();
            }
        }
    }
      پاسخ:


    هفت خط اول رو میتونستید اینجوری بنوسیدی که تعداد خط کد ها کم تر بشن اون جوری انگار لقمه رو از پشت بکنید در دهان :)

    int a1 = int.Pars(Console.ReadLine());
    int b1 = int.Pars(Console.ReadLine());
    int x; ...
    سلام :) !!! 
    مشق ها رو انجام دادم و اومدم پاسخش رو نشون بدم ببینم درسته یا نه !! :) 
    پاسخ مشق اول ! 

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ConsoleApplication5
    {
        class Program
        {
            static void Main(string[] args)
            {
                int a = int.Parse(Console.ReadLine());
                int b = int.Parse(Console.ReadLine());
                int c = a * b;
                Console.Write("Thank you for using this app !!! Response : ");
                Console.Write(Convert.ToString(c));
                // اینم از مشق این جلسه !!!!!!!!!! :)
                Console.ReadKey();
            }
        }
    }
    
    
    دومی رو بعدا می فرستم ! 

      پاسخ:


    جمعشون نکردید که :)
    ولی درسته :)
    در ضمن .. ببخشید یک غلط کوچک املایی در متن وجود داره ! وظیفه خودم دونستم بگم تا اصلاحش کنین ! ( چون تو موتور های جست و جو هم تاثیر منفی می زاره ! ) 
    خط بیستم به جای " استفاده " به طور اشتباه " اتفاده " تایپ شده ! 
    البته پیش میاد تو تایپ :) 
      پاسخ:


    بله ممنون از اطلاع رسانیتون ، درست شد  :)
    جالب بود :) مخصوصا این که ساده و روان و از اول اول توضیح دادین :) 
    سپاس ... 
      پاسخ:


    سپاس از شما  :)
    کاربران بیان میتوانند بدون نیاز به تأیید، نظرات خود را ارسال کنند.
    اگر قبلا در بیان ثبت نام کرده اید لطفا ابتدا وارد شوید، در غیر این صورت می توانید ثبت نام کنید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">