Programing C#/C# 200

003 C# 윈도우 프로그래밍

junmoyo 2020. 1. 6. 10:32

목표 :

002의 소스코드에 메서드를 만들어 보자

 

소스코드:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{

    public enum Arithmetic
    {
        plus,
        minus,
        multiple,
        divison
    }
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();

            this.Clear();
        }
        private double GetNum1()
        {
            return double.Parse(this.textNum1.Text);
        }

        private double GetNum2()
        {
            return double.Parse(this.textNum2.Text);
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            double num1 = GetNum1();
            double num2 = GetNum2();
            double num = Operate(num1, num2, Arithmetic.plus);

            this.textResult.Text = num.ToString();
            this.lbResult.Text = "+";
        }
        private void btnClear_Click(object sender, EventArgs e)
        {
            this.Clear();
        }

        private void Clear()
        {
            this.textNum1.Text = "";
            this.textNum2.Text = "";
            this.textResult.Text = "";
            this.lbResult.Text = "Ready";
        }

        private double Operate(double num1, double num2, Arithmetic ari)
        {
            double returnValue = 0.0;

            switch(ari)
            {
                case Arithmetic.plus:
                    returnValue = num1 + num2;
                    break;
                case Arithmetic.minus:
                    returnValue = num1 - num2;
                    break;
                case Arithmetic.multiple:
                    returnValue = num1 * num2;
                    break;
                case Arithmetic.divison:                    
                    returnValue = num1 / num2;
                    break;
            }

            return returnValue;
        }
    }
}