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

سلام.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

امروز دومین بخش طراحی و توسعه نرم افزار ماشین حساب رو خواهیم داشت.فقط قبل از شروع من چند یادآوری در مورد نوع داده ای Enum و همچنین در مورد Switch Case() خواهم داشت.چون در این قسمت بهشون نیاز داریم.بعد مراحل عملی رو شروع می کنیم بعد توضیح کد هایی رو که نوشتیم رو می نویسم.

روی ادامه مطلب کلیک کنین :

چند یادآوری :

نوع داده ای Enum : من با یه مثال این نوع داده ای رو توضیح می دم.شما فرض کنین میخوائین ایام هفته رو شبیه سازی کنین.خوب می تونین مثلا به جای شنبه بگین 0 ، یکشنبه 1 ، دوشنبه 2و ... وجمعه 6 . نوع داده شمارشی دقیقا همین کار رو برای شما انجام میده. یه مزیتشم بالا بردن خوانایی برنامه هستش. به مثال زیر برای نحوه تعریف این نوع داده در C# دقت کنین :

        enum Week

        {

            Sat =0,

            Sun,

            Mon,

            Thuse,

            Wednes,

            Thurs,

Fri

        };

مثال زیر هم نحوه استفاده از این نوع داده هستش :

        Week CurrentDay = Week.Sat;

Switch Case : مطمئنم که همتون با هاش آشنا هستین .فقط یه مثال می زنم و می رم:

switch (i)

            {

                case 0:

                    //یه سری دستورات

                    break;

                case 1:

                    //یه سری دستورات

                    break;

                case 2:

                    //یه سری دستورات

                    break;

                default:

                    //یه سری دستورات

            }

خوب حالا بریم کدنویسی :

اولین کاری که باید بکنین تعریف چند تا متغییر از نوع int به نام های  GlobalTemp وNum2 و Resaultو بعد تعریف نوع داده شمارشی هستش .یه جایی اولای کلاستون تعریف کنین تا راحتتر بتونین پیدا کنین :

به این شکل(قسمت هایی که با طوسی مشخص شده عینا بنویسین) :

 

int GlobalTemp, Num2, Result;

        enum Operation

        {

            Blank=0,

            Add,

            Sub,

            Mul,

            Div

        };

Operation CurrentState = Operation.Blank;

حالا روی Button های مربوط به عملیات ها دوبار کلیک کنین.مثلا برای شروع روی Button مربوط به عمل جمع(+) دوبار کلیک کنین و توی رخداد مربوط به کلیک اون این کد را وارد کنین :

        private void btnAdd_Click(object sender, EventArgs e)

        {

            GlobalTemp = int.Parse(txtin.Text);

            CurrentState = Operation.Add;

            txtin.Text = "";

        }

حالا روی Button مربوط به عمل تفریق(-) دوبار کلیک کنین و توی رخداد مربوط به کلیک اون این کد را وارد کنین :

        private void btnSub_Click(object sender, EventArgs e)

        {

            GlobalTemp = int.Parse(txtin.Text);

            CurrentState = Operation.Sub;

            txtin.Text = "";

        }

حالا روی Button مربوط به عمل ضرب(*) دوبار کلیک کنین و توی رخداد مربوط به کلیک اون این کد را وارد کنین :

        private void btnMul_Click(object sender, EventArgs e)

        {

            GlobalTemp = int.Parse(txtin.Text);

            CurrentState = Operation.Mul;

            txtin.Text = "";

        }

حالا روی Button مربوط به عمل تقسیم(/) دوبار کلیک کنین و توی رخداد مربوط به کلیک اون این کد را وارد کنین :

        private void btnDiv_Click(object sender, EventArgs e)

        {

            GlobalTemp = int.Parse(txtin.Text);

            CurrentState = Operation.Div;

            txtin.Text = "";

        }

و حالا روی Button  مربوط به عملیات نتیجه (=) دوبار کلیک کنین و کد زیر را داخلش قرار بدین:

        private void btnResult_Click(object sender, EventArgs e)

        {

            switch (CurrentState)

            {

                case Operation.Blank:

                    Result =int.Parse(txtin.Text); 

                    break;

                case Operation.Add:

                    Num2 =int.Parse(txtin.Text);

                    Result = GlobalTemp + Num2;

                    break;

                case Operation.Sub:

                    Num2 = int.Parse(txtin.Text);

                    Result = GlobalTemp - Num2;

                    break;

                case Operation.Mul:

                    Num2 = int.Parse(txtin.Text);

                    Result = GlobalTemp * Num2;

                    break;

                case Operation.Div:

                    Num2 = int.Parse(txtin.Text);

                    Result = GlobalTemp / Num2;

                    break;

            }

            txtin.Text = Result.ToString();

 

        }

و کد نویسی تمام.و اما توضیح کارهایی که کردیم :

روش اینه که ما اول یه عددی رو از طریق TextBox میگیریم بعد که کاربر روی یکی از Button های مربوط به عملیات هامون (مثل عمل جمع و منها و ضرب و تقسیم) کلیک کرد اون عددی که الان توی TextBox هست رو توی یه متغییر سراسری به نام GlobalTemp ذخیره میکنیم و TextBox رو هم خالی می کنیم و همچنین عملیاتی رو که کاربر انتخاب کرده ذخیره می کنیم برای اینکه بتونیم عملیات انتخابی رو ذخیره کنیم من از نوع داده شمارشی استفاده می کنم.بعد هم حالت اولیه رو روی Blank (یعنی هیچ دستوری انتخاب نشده) قرار می دم. به این شکل :

        enum Operation

        {

            Blank=0,

            Add,

            Sub,

            Mul,

            Div

        };

        Operation CurrentState = Operation.Blank;

مثلا اگر فرض کنیم کاربر عمل جمع رو انتخاب کرده به این شکل عمل خواهیم کرد :

       GlobalTemp = int.Parse(txtin.Text);

       CurrentState = Operation.Add;

       txtin.Text = "";

 

اگر دقت کنین اول هرچی تو TextBox هست تبدیل به int می کنیم (با استفاده از دستورint.Parse(String S))  و توی GlobalTemp قرار می دیم بعد نوع عملیات انتخابی رو ذخیره می کنیم بعد TextBox رو خالی می کنیم.

خوب حالا منتظر عدد بعدی و کلیک روی Button نتیجه (=) می شیم.وقتی عدد دوم هم وارد شد و روی Button نتیجه (=) کلیک شد توی رخداد کلیلک  Button نتیجه (=) با استفاده از یه SwitchCase با توجه به نوع عملیات انتخابی عمل مربوطه رو انجام و نتیجه رو به String تبدیل می کنیم (با استفاده از دستور ToString()) و توی TextBox می نویسیم.یعنی به این شکل :

            switch (CurrentState)

            {

                case Operation.Blank:

                    Result = Num1;

                    break;

                case Operation.Add:

                    Num2 =int.Parse(txtin.Text);

                    Result = Num1 + Num2;

                    break;

                case Operation.Sub:

                    Num2 = int.Parse(txtin.Text);

                    Result = Num1 - Num2;

                    break;

                case Operation.Mul:

                    Num2 = int.Parse(txtin.Text);

                    Result = Num1 * Num2;

                    break;

                case Operation.Div:

                    Num2 = int.Parse(txtin.Text);

                    Result = Num1 / Num2;

                    break;

            }

            txtin.Text = Result.ToString();

اینم توضیح الگوریتم.

برای پست امروز کافیه.در پست بعدی دستورات مربوط به بقیه Button ها رو خواهیم نوشت.دیگه چیزی نمونده که کار تموم بشه.البته همیشه تو یه پروژه عملی واقعی(نه آکادمیک) مشکلاتی هست.من تا اون جائی که میتونم این مشکلات رو مرتفع می کنم ولی اگه چند تائی موند اونا رو می ذارم به عهده خودتون.جلوتر که بریم این مشکلات براتون روشن تر می شن زیاد عجله نکنین.

نظر نظر نظر.انتقاد پیشنهاد.اگه جائی رو طوری توضیح دادم که قابل فهم نیست بگین اصلاح کنم.


مطالب مشابه :


آغاز طراحی و توسعه نرم افزار ماشین حساب

آغاز طراحی و توسعه نرم افزار ماشین حساب Asp .Net, ADO.Net هست کلیک btn1 کد زیر رو بنویسین.یه




سورس و پروژه براي دانلود

دانلود ماشین حساب به پروژه سایت کتابخانه به زبان asp دانلود رایگان کد های ماشین حساب




پروژه دانشجویی ، سورس پروژه

کد ماشین حساب به زبان ماشین اسکریپت فروشگاهی تخت asp.net سورس برنامه اسمبلی




انجام پروژه های دانشجویی

دانلود رایگان یک پروژه وب سایت با asp asp.net برنامه کتابخانه کد گرفتن مشتق در ماشین حساب




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

دومین بخش طراحی و توسعه نرم افزار ماشین حساب Asp .Net, ADO.Net هست می کنیم بعد توضیح کد هایی




دانلود پروژه برنامه نویسی

دانلود ماشین حساب به پروژه سایت کتابخانه به زبان asp دانلود رایگان کد های ماشین حساب




پروژه با اکسس

دانلود ماشین حساب به زبان سی proje asp.net by data base sql دانلود رایگان کد های ماشین حساب




آموزش برنامه نویسی وین فون 7 (Windows Phone 7) - قسمت دوم

کدهای به درد بخور سی شارپ و asp یک محیط برای ماشین حساب شده و سپس کد کامپایل شده




برچسب :