C 언어 콘솔 계산기 만들기

  • 2 minutes to read

정수 계산기

지금까지 배운 내용을 정리하는 예제로, 두 개의 숫자와 산술 연산자를 사용하여 간단한 계산기를 만들겠습니다.

표준 입력으로 다음과 같이 3개의 값을 입력 받습니다.

3 + 5

이때, 3은 변수 x+ 기호는 operator를 나타내는 변수 opr5는 변수 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 함수로 연산식과 결과를 함께 출력합니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com