S1U6

semin·2023년 4월 21일
0

section 1

목록 보기
9/11
post-thumbnail

UNIT 6 : 간단한 웹앱 만들기

BIL: loop, function

Bare Minimum Requirements

clear

화면에 0, +, 0, =, 0 순서로 출력

if (target.matches("button")) {
  if (action === "clear") {
      console.log("clear");
      firstOperend.textContent = 0;
      operator.textContent = "+";
      secondOperend.textContent = 0;
      calculatedResult.textContent = 0;
      }
  ...
}

first number

첫 번째 화면에 누른 숫자 출력

if (target.matches("button")) {
  if (action === "number") {
    if (firstOperend.textContent === "0") {
      firstOperend.textContent = buttonContent;
    } 
  }
...  
}

number - operator

첫 번째 화면은 숫자, 두 번째 화면에는 연산자 출력

if (target.matches("button")) {
  if (action === "number") {
    if (firstOperend.textContent === "0") {
      firstOperend.textContent = buttonContent;
  } 
    else {
      secondOperend.textContent = buttonContent;
    }
  }
...
}

number - operator - number

화면에 숫자, 연산자, 순자의 순서로 출력

if (target.matches("button")) {
  if (action === "number") {
     if (firstOperend.textContent === "0") {
        firstOperend.textContent = buttonContent;
     }
     else {
        secondOperend.textContent = buttonContent;
     }
  }
 ...
}

if (action === "operator") {
   operator.textContent = buttonContent;
}

number - operator - number - enter

화면에 숫자, 연산자, 숫자, =, 연산 결과의 순서로 출력

if (target.matches("button")) {
  if (action === "number") {
     if (firstOperend.textContent === "0") {
        firstOperend.textContent = buttonContent;
     }
     else {
        secondOperend.textContent = buttonContent;
     }
  }
 ...
}

if (action === "operator") {
   operator.textContent = buttonContent;
}
...
    if (action === "calculate") {
      console.log("계산 버튼");
      calculate(
        firstOperend.textContent,
        operator.textContent,
        secondOperend.textContent
      );
    }
 }

use function calculate

function calculate(n1, operator, n2) {
  let result = 0;
  let num1 = Number(n1);
  let num2 = Number(n2);

  if (operator === "+") {
    result = num1 + num2;
  } else if (operator === "-") {
    result = num1 - num2;
  } else if (operator === "*") {
    result = num1 * num2;
  } else if (operator === "/") {
    result = num1 / num2;
  }

  return String((calculatedResult.textContent = result));
}

여기까지는 그래도 괜찮게 풀었는데요... (사실 맨처음에는 문제 이해도 못함)

Advanced Challenge test도 어떻게저떻게 완료했지만...

Nightmare 소수 부분에서 자꾸자꾸 오류가 난다...

오늘은 진짜 과제 제출마저도 스트레스 투성이라서 일단 여기까지...
페이스 조절을 위해서 Nightmare 보충은 주말에 합니다...
진짜 눈물이 줄줄 난다... 나는 real 10일차인데도...

0개의 댓글

관련 채용 정보