. 버튼을 활용하여, 소수를 입력받으세요.. 버튼을 연속적으로 눌러도 .은 처음 단 한 번만 입력되어야 합니다.. 버튼과 숫자를 눌러서 작동시키는 경우 소수가 나타나야 합니다. (.5 === 0.5 )
demicalFlag라는 변수를 만들어 주어서
- 숫자의 처음
.버튼이 입력이 된다면 숫자 변수의 앞에0.을 저장해 주고,- 아니라면
.만 저장 해 준 뒤demicalFlag = 1을 할당한다.- 이후에
demicalFlag = 1임에도.버튼이 눌리는 것은 숫자 변수에 영향이 가지 않도록 따로 처리해준다.
Enter 버튼을 여러 번 클릭했을 때, 변수 previousNum 를 활용하여 이전 숫자를 계속 더할 수 있어야 합니다.연산자 버튼을 누르기 전 숫자 버튼을 누른 후에, 실수로 Enter를 여러 번 눌러도 정상 작동해야 합니다.
Enter버튼을 누를 경우의 수를 세 가지로 나눈다.
- 정상작동하여 <이전 숫자>
연산자<현재 숫자>를 계산한다.연산자가 안 눌린 경우 <현재 숫자>만 저장해 준다.- 나머지는 <이전 숫자>와
연산자를 계산하고, <이전 숫자>에 <현재 숫자>를 할당, <현재 숫자>는undefined해 주어 이후 계속되는 연산을 대비해 준다.
연산자 버튼을 연속적으로 눌러도 계산 값에 영향이 없어야 합니다.숫자, 연산자, Enter의 순서로 눌렀을 때에도 작동해야 합니다.
연산자버튼이 가장 중요하고 까다롭다!Enter대신 연산자가 눌리면 앞서 숫자들을 계산해주어야 하기 때문이다!
- <이전 숫자>
연산자<현재 숫자>가 모두 있는 경우,Enter대신연산자가 눌리면 앞서 숫자들을 계산해주어야 한다! 그리고 <이전 숫자>에는 계산 결과를, <현재 숫자>는undefined으로 초기화해준다.- <이전 숫자>가 할당되어 있지 않은 경우, 정상 작동되는 것이므로 <이전 숫자>에 <현재 숫자>를 저장해 주고, 눌려진
연산자를 저장한다. 그리고 <현재 숫자>는undefined으로 초기화해 주어 다음 눌려질 숫자를 대비해 준다.- 이외에는
연산자버튼이 여러번 눌려진 것이므로 연산자 버튼을 할당해 주고, <현재 숫자>는undefined으로 초기화해 준다.