프로그래밍/C

[C언어-응용문제] 간단한 계산기 프로그램 만들기

록스타★ 2024. 11. 6. 11:27
반응형

간단한 계산기 프로그램

- 두 개의 숫자와 연산자(+, -, *, /)를 입력받아 두 숫자의 계산 결과를 출력하는 프로그램

 

사용 개념:

입출력(scnaf, printf)

조건문(if)

연산자(+, -, *, /) 


풀이 방법

 

  1. 숫자와 연산자 입력
    1. printf로 안내 메시지를 출력해 사용자가 두 숫자와 연산자를 입력하도록 유도
    2. scanf를 사용해 첫 번째 숫자(num1), 연산자(op), 두 번째 숫자(num2)를 각각 입력
  2. 연산자에 따른 계산 수행
    1. if 조건문을 통해 입력된 연산자(op)가 어떤 연산인지를 확인하고, 이에 따라 서로 다른 계산을 수행
    2. +가 입력되면 두 숫자를 더하고, -가 입력되면 두 숫자를 빼는 방식
  3. 나눗셈 예외 처리
    1. 나눗셈(/) 연산의 경우 두 번째 숫자가 0이면 나눌 수 없으므로 오류 메시지를 출력
  4. 결과 출력
    1. 각 연산에 맞는 계산 결과를 printf로 출력

#include <stdio.h>

int main() {
    // 1. 숫자 두 개와 연산자를 저장할 변수를 선언합니다.
    double num1, num2;  // 두 실수형 숫자를 저장할 변수
    char op;            // 연산자를 저장할 변수

    // 2. 첫 번째 숫자를 입력받습니다.
    printf("첫 번째 숫자를 입력하세요: ");
    scanf("%lf", &num1);

    // 3. 연산자를 입력받습니다.
    printf("연산자를 입력하세요 (+, -, *, /): ");
    scanf(" %c", &op);

    // 4. 두 번째 숫자를 입력받습니다.
    printf("두 번째 숫자를 입력하세요: ");
    scanf("%lf", &num2);

    // 5. 연산자에 따라 다른 계산을 수행합니다.
    if (op == '+') {
        printf("결과: %.2lf\n", num1 + num2);  // 덧셈 결과 출력
    } else if (op == '-') {
        printf("결과: %.2lf\n", num1 - num2);  // 뺄셈 결과 출력
    } else if (op == '*') {
        printf("결과: %.2lf\n", num1 * num2);  // 곱셈 결과 출력
    } else if (op == '/') {
        // 6. 나눗셈일 경우 두 번째 숫자가 0인지 확인합니다.
        if (num2 != 0) {
            printf("결과: %.2lf\n", num1 / num2);  // 나눗셈 결과 출력
        } else {
            printf("오류: 0으로 나눌 수 없습니다.\n");  // 0으로 나눌 경우 오류 메시지 출력
        }
    } else {
        // 7. 연산자가 잘못 입력된 경우 오류 메시지를 출력합니다.
        printf("잘못된 연산자입니다.\n");
    }

    return 0;
}

 


코드 설명

  1. 변수 선언
    1. double 타입의 num1, num2는 소수점까지 포함한 숫자를 저장
    2. char 타입의 op는 하나의 문자를 저장하며, 여기서는 +, -, *, / 중 하나가 들어간다.
  2. 숫자와 연산자 입력받기
    1. printf는 화면에 메시지를 출력해 사용자가 입력을 준비
    2. scanf는 사용자가 입력한 값을 변수에 저장해 다음 계산에 사용
  3. 조건문으로 연산 수행
    1. if 문은 연산자가 무엇인지 확인해 각기 다른 계산을 수행
    2. 예를 들어, op가 +이면 num1 + num2의 결과를 출력
  4. 나눗셈 예외 처리
    1. 나눗셈(/)일 때 두 번째 숫자(num2)가 0이면 0으로 나눌 수 없다는 오류 메시지를 표시
  5. 결과 출력
    1. printf로 최종 결과를 소수점 두 자리(%.2lf)까지 보여준다.
반응형