728x90
목차
- 고급 계산기
1. 고급 계산기
사칙연산을 지원하는 계산기 프로그램을 만들어봅시다.
이때 각 계산은 함수를 이용해야 하며, 각 연산을 처리하는 함수가 사용된 횟수를 전역변수를 통해 기록하고 출력하세요.
입출력
연산을 입력하시오: 1+3
덧셈 연산은 총 1번 실행되었습니다.
연산의 결과 : 4
연산을 입력하시오: 19+129
덧셈 연산은 총 2번 실행되었습니다.
연산의 결과 : 148
연산을 입력하시오: 134-123
뺄셈 연산은 총 1번 실행되었습니다.
연산의 결과 : 11
연산을 입력하시오: 123*120
곱셈 연산은 총 1번 실행되었습니다.
연산의 결과 : 14760
연산을 입력하시오: 123/12
나눗셈 연산은 총 1번 실행되었습니다.
연산의 결과 : 10
연산을 입력하시오:
정답은 다음과 같아요.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
//함수 선언 및 전역변수 선언(자동으로 0으로 초기화됨)
void add(int, int);
int add_count;
void sub(int, int);
int sub_count;
void mult(int, int);
int mult_count;
void div(int, int);
int div_count;
int main(void)
{
int inp_a, inp_b;
char arit;
while (1) //무한반복
{
printf("연산을 입력하시오: ");
scanf("%d%c%d", &inp_a, &arit, &inp_b); //입력자 간에 띄어쓰기가 없어야 합니다
//입력된 연산자에 따라 연산 수행
switch (arit)
{
case '+':
add(inp_a, inp_b);
break;
case '-':
sub(inp_a, inp_b);
break;
case '*':
mult(inp_a, inp_b);
break;
case '/':
div(inp_a, inp_b);
break;
}
}
return 0;
}
//함수 정의
//전역변수로 호출횟수 증가됨
void add(int a, int b)
{
++add_count;
printf("덧셈 연산은 총 %d번 실행되었습니다.\n", add_count);
printf("연산의 결과 : %d\n", a + b);
}
void sub(int a, int b)
{
++sub_count;
printf("뺄셈 연산은 총 %d번 실행되었습니다.\n", sub_count);
printf("연산의 결과 : %d\n", a - b);
}
void mult(int a, int b)
{
++mult_count;
printf("곱셈 연산은 총 %d번 실행되었습니다.\n", mult_count);
printf("연산의 결과 : %d\n", a * b);
}
void div(int a, int b)
{
++div_count;
printf("나눗셈 연산은 총 %d번 실행되었습니다.\n", div_count);
printf("연산의 결과 : %d\n", a / b);
}
728x90
'프로그래밍 > C' 카테고리의 다른 글
사용자 정의 자료형 - 예제 모음 (0) | 2025.06.17 |
---|---|
포인터 - 예제 모음 (0) | 2025.06.17 |
동적 할당 메모리 (0) | 2025.06.14 |
전처리 지시자 (0) | 2025.06.14 |
파일 입출력 함수 (0) | 2025.06.14 |