14. 윈도우 계산기 - 사칙연산 구현
01. 목표
01.1 사칙연산, +, -, *, / 구현
01.2 사칙연산 구조 분석
필요한 데이터
첫번째 입력 피연산자, 연산자 기호 종류, 두번째 입력 피연산자, 피연산자 2개의 계산 결과
02.
02.1
사칙연산 버튼을 눌렀을 때 동작할, OperationButton_Click 이벤트 핸들러를 구현합니다.
private void operationButton_Click(object sender, RoutedEventArgs e)
{
}
02.2
사칙연산 버튼에, OperationButton_Click 이벤트 핸들러를 등록합니다.
operationBtn = [plusButton, minusButton, devideButton, multiplicationButton];
for (int i = 0; i < operationBtn.Length; i++)
{
operationBtn[i].Click += OperationButton_Click;
}
03.
03.1
가장먼저 구현할 이벤트 핸들러 로직은,
사칙연산 버튼을 눌렀을 때,
❶ 사칙연산 버튼(+, -, *, / ) 클릭 이전에 입력된 숫자를 ❷ lastNumber 변수에 저장하고
❸ 출력 레이블에는 0을 보여줍니다.
03.2
그리고 입력된 사칙연산 버튼(+, -, *, / ) 을 식별하고 식별값을 저장하기 위해,
❶ enum 자료형을 만들어줍니다.
public enum SelectedOperator
{
Addition,
Subtraction,
Multipliction,
Division
}
03.3
❷ 그리고 어떤 사칙연산 버튼(+, -, *, / ) 이 눌러졌는지 식별하고
❸ selectOperator 변수에 눌러진 버튼 식별값을 저장합니다.
// 눌려진 사칙연산 종류를 selectedOperator 변수에 저장한다.
SelectedOperator selectedOperator;
// selectedOperator 변수에, 어떤 버튼이 입력되었는지 저장된다.
if (sender == plusButton)
selectedOperator = SelectedOperator.Addition;
if (sender == minusButton)
selectedOperator = SelectedOperator.Subtraction;
if (sender == multiplicationButton)
selectedOperator = SelectedOperator.Multipliction;
if (sender == devideButton)
selectedOperator = SelectedOperator.Division;
04
04.1
=(등호 기호)버튼이 눌러지면,
selectOperator 변수에 저장된 버튼(+, -, *, / ) 에 따라, 계산 로직이 달라져야 합니다.
그리고 출력 레이블에 결과가 보여지도록 구현되어야 합니다.
구현해야 할 로직은,
1) =(등호 기호) 가 눌러지기 전에 입력된 숫자의 저장과
2) 사칙연산
3) 연산 결과를 레이블에 출력 입니다.
04.2
=(등호 기호) 클릭 이벤트 헨들러를 구현하고
❶ =(등호 기호) 클릭 이전에 입력된 숫자를 ❷ newNumber 변수에 저장합니다.
04.3 사칙연산 로직을 구현합니다.
04.4
❸ selectOperator 변수에 저장된 연산자 종류에 따라,
두 피연산자(lastNumber, newNumber)를 계산하는 로직을 실행하도록 구현합니다.
❹ result 변수에 계산 결과가 저장되고, 출력 레이블에 출력됩니다.
05. 실행 결과 확인