C 언어 콘솔 계산기 만들기
정수 계산기
지금까지 배운 내용을 정리하는 예제로, 두 개의 숫자와 산술 연산자를 사용하여 간단한 계산기를 만들겠습니다.
표준 입력으로 다음과 같이 3개의 값을 입력 받습니다.
3 + 5
이때, 3
은 변수 x
에 +
기호는 operator를 나타내는 변수 opr
에 5
는 변수 y
에 저장합니다.
이렇게 저장된 3개의 값을 가지고, switch
문을 사용하여 입력된 연산자에 따른 연산 결과를 출력할 수 있습니다.
테스트 케이스 입력:
표준 입력:
3 + 5
표준 출력:
3 + 5 = 8
완성된 코드는 다음과 같습니다.
코드: c_calculator.c
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
int main(void)
{
int x = 0;
int y = 0;
char opr;
int result = 0;
scanf("%d %c %d", &x, &opr, &y);
switch (opr)
{
case '+':
result = x + y;
break;
case '-':
result = x - y;
break;
case '*':
result = x * y;
break;
case '/':
result = x / y;
break;
}
printf("%d %c %d = %d\n", x, opr, y, result);
return 0;
}
3 + 5
3 + 5 = 8
3 - 5
3 - 5 = -2
3 * 5
3 * 5 = 15
3 / 5
3 / 5 = 0
scanf
함수로 3개의 값을 입력 받을 때, 첫 번째 숫자는 %d
를 사용하여 정수로 입력받고 두 번째 연산자는 %c
를 사용하여 문자로 입력받고 마지막으로 %d
로 정수를 입력받습니다.
scanf
함수에서 입력받는 변수에 &
기호를 반드시 붙여야 합니다.
switch
문에서 연산자에 따른 case
를 4개 만들고 +
, -
, *
, /
값에 따른 계산식을 result 변수에 저장합니다.
switch
문이 완료되면 printf
함수로 연산식과 결과를 함께 출력합니다.