if / scanf 응용/계산기 만들기
#include <stdio.h>
int main(void) {
int test_scanf_2 = if_scanf_2();
return 0;
}
int if_scanf_2() {
/*
scanf()
첫 번째 정수를 입력해 주세요 : 10
계산할 연산자(+, -, *, /)를 입력해 주세요 : +
두 번째 정수를 입력해 주세요 : 8
10 + 8 = 18입니다.
*/
printf("----------- if_scanf_2 시작 -----------\n\n");
int num1, num2;
char ch;
printf("첫 번째 정수를 입력 :");
scanf("%d", &num1);
printf("계산할 연산자를 입력 : ");
scanf(" %c", &ch); //char이기때문에 %c앞에 엔터 필수.. 안그러면 문자를 인식못함
printf("두번째 정수를 입력 :");
scanf("%d", &num2);
if (ch == '+') {
printf("%d + %d = %d 입니다\n", num1, num2, num1+num2);
}
if (ch == '-') {
printf("%d - %d = %d 입니다\n", num1, num2, num1 - num2);
}
if (ch == '*') {
printf("%d * %d = %d 입니다\n", num1, num2, num1 * num2);
}
if (ch == '/') {
printf("%d / %d = %d 입니다\n", num1, num2, num1 / num2);
}
else {
printf("잘못된 연산기호")
}
printf("----------- if_scanf_2 종료 -----------\n\n");
return 0;
}
계산기 만들기 예외상황
만약에 나누기를 해야할때 10 / 0을 해버린다면 0을 나눌 수 없어서 프로그램 예외가 발생함
계산기 만들기 예외처리 해결법
if (ch == '/') {
if (num2 == 0) { //이 부분을 추가해본다
printf("0을 나눌수 없습니다 다시 입력하세요\n");
printf("두번째 정수를 입력 :\n");
scanf("%d", &num2);
}
printf("%d / %d = %d 입니다\n", num1, num2, num1 / num2);
}
'언어 > C언어' 카테고리의 다른 글
[C언어] 3일차 -8 for 반복문 / 1부터 10까지 합구하기 (0) | 2025.02.10 |
---|---|
[C언어] 3일차 -7 계산기/ switch (0) | 2025.02.10 |
[C언어] 3일차 -5 switch (0) | 2025.02.09 |
[C언어] 3일차 -4 if / 중첩 if문 (0) | 2025.02.09 |
[C언어] 3일차 -3 if / scanf() / 입력한 값이 홀수 인지 짝수인지 구하기 (0) | 2025.02.09 |