반응형 Show 계산기(중첩 if문, if ~else if~ else문) 중첩 if 문을 활용하여 두 수의 +, -, *, /, % 연산을 수행하는 프로그램 출력결과
반응형 'Development > C, C++' 카테고리의 다른 글
#include <stdio.h> int main(){ int num1, num2; printf("첫번째 수를 입력하세요 : "); fflush(stdin); //메모리 비움 (그렇지 않을경우 엔터키가 들어간다... 중요...)printf("계산할 연산자를 입력하세요(+,-,*,/) :"); scanf("%c", &op); printf("두번째 수를 입력하세요 :"); if(op == '+'){ 1. 전체 코드앞에서 설명했던 여러 매서드들을 제외하고, 나머지 부분들은 if문으로 구현하였다. 제로초님의 강의에서 if문을 너무 깊게 내려가지 않게 사용하라고 하였는데 자세히 순서도를 그리지 않고 구현하다 보니 역시나 복잡해져 버렸다.
2. if문 사용시 유용한 정보들1. includes연산자가 여러가지인데 if문에서 일일이 다 대입해주기에는 불편하고 복잡하다. 2. keydown에서 classList.remove가 안되는 이유?첫
숫자를 입력하기 전에 연산자를 누르면 alert가 뜨게 하였는데, 문제는 그래서 keydown에 remove함수도 같이 써서 시도를 해보았으나, 적용이 되지 않았다. 이 문제를 keyup에서 해결하기도 어려워서, 애초에 첫 숫자 없이 연산자를 누르면 애초에 class 값이 추가되지 못하도록 if문을 통해 구별해 주었다. 3. = vs ===if문을 쓸 때 자주 실수하는 부분이다. 두 값이 같냐 다르냐를 비교할 때는 ===을 사용해 주어야 한다. 선택된 연산자에 따른 결과값 계산방법 부분에서 이 부분을 실수해 값이 제대로 나오지 않았다. 4. if? else? else if?이 세가지를 언제 적용해야 하는지를 헷갈리는 경우가 많다. 그런데 이 프로젝트를 하며 보니 포함관계를 고려하면 쉽게 사용할 수 있을 것이라고 생각이 들었다. 혹시나 else if를 사용하였는데 예상치 못한 결과(적용이 되거나, 되지 않거나)가 나타나게 된다면, 앞의 if문에서의 조건문 외에는 적용이 되지 않도록 else로 분리해 주면 해결될 수 있을 것이다. 두 번째 입력값을 받을 때, 첫 입력값이 초기화가 안되어서 계속 숫자가 이어지는 오류가 생겼는데 |