반응형
간단한 계산기 프로그램
- 두 개의 숫자와 연산자(+, -, *, /)를 입력받아 두 숫자의 계산 결과를 출력하는 프로그램
사용 개념:
입출력(scnaf, printf)
조건문(if)
연산자(+, -, *, /)
풀이 방법
- 숫자와 연산자 입력
- printf로 안내 메시지를 출력해 사용자가 두 숫자와 연산자를 입력하도록 유도
- scanf를 사용해 첫 번째 숫자(num1), 연산자(op), 두 번째 숫자(num2)를 각각 입력
- 연산자에 따른 계산 수행
- if 조건문을 통해 입력된 연산자(op)가 어떤 연산인지를 확인하고, 이에 따라 서로 다른 계산을 수행
- +가 입력되면 두 숫자를 더하고, -가 입력되면 두 숫자를 빼는 방식
- 나눗셈 예외 처리
- 나눗셈(/) 연산의 경우 두 번째 숫자가 0이면 나눌 수 없으므로 오류 메시지를 출력
- 결과 출력
- 각 연산에 맞는 계산 결과를 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;
}
코드 설명
- 변수 선언
- double 타입의 num1, num2는 소수점까지 포함한 숫자를 저장
- char 타입의 op는 하나의 문자를 저장하며, 여기서는 +, -, *, / 중 하나가 들어간다.
- 숫자와 연산자 입력받기
- printf는 화면에 메시지를 출력해 사용자가 입력을 준비
- scanf는 사용자가 입력한 값을 변수에 저장해 다음 계산에 사용
- 조건문으로 연산 수행
- if 문은 연산자가 무엇인지 확인해 각기 다른 계산을 수행
- 예를 들어, op가 +이면 num1 + num2의 결과를 출력
- 나눗셈 예외 처리
- 나눗셈(/)일 때 두 번째 숫자(num2)가 0이면 0으로 나눌 수 없다는 오류 메시지를 표시
- 결과 출력
- printf로 최종 결과를 소수점 두 자리(%.2lf)까지 보여준다.
반응형
'프로그래밍 > C' 카테고리의 다른 글
[C언어-응용문제] 숫자의 합 구하기(for, while) (1) | 2024.11.08 |
---|---|
[C언어-응용문제] 반복문을 사용한 구구단 출력 (3) | 2024.11.07 |
[C언어] 13. 메모리 관리 동적 메모리 할당 (malloc, calloc, free) (2) | 2024.11.01 |
[C언어] 12.파일 입출력 (fopen, fclose, fread, fwrite) (3) | 2024.10.25 |
[C언어] 11. 구조체(Structure) (구조체와 배열, 구조체와 포인터) (1) | 2024.10.24 |