본문 바로가기
개발자가 되어보자..공부공부/개발 일지

계산기 코딩 (Visual Studio 2019, C#)

by 묭묭이와소담이 2022. 11. 30.
반응형

 

 

 


 

namespace 계산기
{
    public enum Operators { sum, sub, multi, div}
* 열거형 데이터
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public int Result = 0;
        public bool IsNuNum = true;
        public Operators opt = Operators.sum;
* 기본값 설정

 



        private void button10_Click(object sender, EventArgs e)
        {
            Button ClickNumber = (Button)sender;

            if (IsNuNum)
            { 
                Screen.Text = ClickNumber.Text;
                IsNuNum = false;
            }
            else if (IsNuNum==false)
            { ClickNum(ClickNumber.Text); }

        }

* 계산기 숫자 버튼이 눌릴때에 효과를 1개의 Handler로 통일. 

Button ClickNumber = (Btton)sender;

 



        public void ClickNum(String Num)
        {
            if (Screen.Text == "0")
                Screen.Text = Num;
            else
                Screen.Text = Screen.Text + Num;
        }

* 숫자 버튼이 계산기 화면에 표시되도록 하는 함수 생성. ClickNum()

 




    private void button11_Click(object sender, EventArgs e)
        {
            if (IsNuNum == false)
            {
                int Set = int.Parse(Screen.Text);

                if (opt == Operators.sum)
                    Result = Result + Set;
                else if (opt == Operators.sub)
                    Result = Result - Set;
                else if (opt == Operators.multi)
                    Result = Result * Set;
                else if (opt == Operators.div)
                    Result = Result / Set;

                Screen.Text = Result.ToString();
                IsNuNum = true;
            }            
* 열거형 데이터, if 문, handler 통합을 이용한 코드.

IsNuNum이 false라면 Screen.text에 나와있는 문자를 Set라는 숫자데이터로 변형.

if에 열거형데이터를 적용시켜, Set을 Result=0(기본값)과 연산.


                Button optButton = (Button)sender;
                if (optButton.Text == "+")
                    opt = Operators.sum;
                else if (optButton.Text == "-")
                    opt = Operators.sub;
                else if (optButton.Text == "*")
                    opt = Operators.multi;
                else if (optButton.Text == "/")
                    opt = Operators.div;


* 연산기호는 sum(+)가 기본값으로 설정되어 있음.

+0+숫자입력+숫자입력-숫자입력*숫자입력/숫자입력 의 형태이므로,

입력한 연산기호를 저장해놓고 다음에 다시 돌아오는 if문에서 사용해주어야 함.

 




        private void button15_Click(object sender, EventArgs e)
        {
            Result = 0;
            Screen.Text = Result.ToString();
            IsNuNum = true;
            opt = Operators.sum;
        }


* 초기화(C) 버튼 코드

 

 

 


 

 

 

<Point>

1. Visual Studio 2019, window platform 로 작업.

2. 숫자 버튼이 화면에 표시 될 때, if문을 사용하여 '0'이 맨 앞자리에 오지 않도록하기.

3. Effect Handelr.. 같은 기능을 하는 여러 버튼을 1개의 Effect Handler로 통일.

(숫자 버튼, 연산자 버튼)

4. bool IsNuNum(임의의 지시어)=true or false 를 이용하여, 연산 기호 입력 후 새로운 숫자 입력되게 하기.

5. eurm 을 이용한 열거형 데이터 생성. (연산기호 열거형 데이터 사용에 용이.)

6. 숫자 <-> 문자 데이터 형태 변환.

int 숫자=int.parse(문자)

문자=숫자.ToString()

 

 

계산기 코드_221130.pdf
0.02MB

 

 

반응형

댓글