#include<stdio.h>
#include<string.h>
#include<stdbool.h>
void disp(int n1, int n2, char oper, int r); // 결과 출력
int plus(int n1, int n2); // 더하기
int sub(int n1, int n2); // 빼기
int mul(int n1, int n2); // 곱하기
int div(int n1, int n2); // 나누기
int input_int();
char input_char();
int main()
{
int num1;
int num2;
char op;
char yn;
do
{
int result = 0;
bool tf = true;
printf("첫 번째 숫자를 입력하세요.");
num1 = input_int();
printf("\n연산자를 입력하세요.");
op = input_char();
printf("\n두 번째 숫자를 입력하세요.");
num2 = input_int();
printf("\n%d %c %d\n", num1, op, num2);
switch (op) {
case '+':
result = plus(num1, num2);
break;
case '-':
result = sub(num1, num2);
break;
case '*':
result = mul(num1, num2);
break;
case '/':
if (num2 == 0) {
printf("\n0으로 나눌 수 없습니다.\n");
tf = false;
}
else {
result = div(num1, num2);
}
break;
default:
printf("%c는 올바르지 않은 연산자 입니다.\n", op);
tf = false;
break;
}
if (tf) {
disp(num1, num2, op, result);
}
printf("다시하시겠습니까? Y/N");
yn = input_char();
} while (yn == 'Y' || yn == 'y');
}
void disp(int n1, int n2, char oper, int r) // 결과 출력
{
printf("%d %c %d = %d 입니다.\n", n1, oper, n2, r);
}
int plus(int n1, int n2) // 더하기
{
return (n1 + n2);
}
int sub(int n1, int n2) // 빼기
{
return (n1 - n2);
}
int mul(int n1, int n2) // 곱하기
{
return (n1 * n2);
}
int div(int n1, int n2) // 나누기
{
return (n1 / n2);
}
int input_int()
{
int i;
scanf_s("%d", &i);
return i;
}
char input_char()
{
char c = ' ';
rewind(stdin);
scanf_s("%c", &c);
return c;
}
반응형
'C언어 > C언어 연습' 카테고리의 다른 글
(C언어) 3차원배열 성적처리프로그램 (1) | 2020.11.23 |
---|