2022-03-12-C-Chap9-문제22
계산기 프로그램을 작성하려고 한다. 조건에 맞게 작성하시오.
조건
- 계산기 프로그램은 덧셈, 뺄셈, 곱셈, 나눗셈, 나머지연산, 비트연산, 배수 구하기의 기능이 있음
- 각 기능은 함수로 구현되어 있음
- 계산기 프로그램은 먼저 계산기능을 고른 후에 연산을 하고, 프로그램 종료 여부를 묻는다.
이때, 사용자가 프로그램 종료를 원할때에만 프로그램이 종료되고, 그렇지 않으면 처음으로 돌아간다. -
비트연산은 », «, &, , ^ 중 연산할 종류를 선택한 후 연산한다. - 배수 구하기 함수의 매개변수는 2개로 정하며, 각각 n과 m이라고 했을 때 m이하의 n의 배수를 구한다.
ex) void multi(int n, int m) –> m이하의 n의 배수 - 덧셈, 뺄셈, 곱셈, 나눗셈은 매개변수가 2개이다.
Source
#include<stdio.h>
bool flag = 1;
char yn = 'A';
void plus() {
int a, b;
printf("연산할 두 수를 입력하세요.");
scanf("%d %d", &a, &b);
printf("%d\n", a + b);
}
void minus() {
int a, b;
printf("연산할 두 수를 입력하세요.");
scanf("%d %d", &a, &b);
printf("%d", a - b);
}
void multiply() {
int a, b;
printf("연산할 두 수를 입력하세요.");
scanf("%d %d", &a, &b);
printf("%d", a * b);
}
void div() {
int a, b;
printf("연산할 두 수를 입력하세요.");
scanf("%d %d", &a, &b);
printf("%d", a / b);
}
void mod() {
int a, b;
printf("연산할 두 수를 입력하세요.");
scanf("%d %d", &a, &b);
printf("%d", a % b);
}
void bit() {
int a, b;
int x;
printf("연산할 두 수를 입력하세요.");
scanf("%d %d", &a, &b);
printf("비트 연산자를 입력하세요(1)>> 2)<< 3)& 4)| 5)^)");
scanf("%d", &x);
switch (x) {
case 1:
printf("%d\n", a >> b);
break;
case 2:
printf("%d\n", a << b);
break;
case 3:
printf("%d\n", a & b);
break;
case 4:
printf("%d\n", a | b);
break;
case 5:
printf("%d\n", a ^ b);
break;
default: break;
}
}
void multiple() {
int a, b;
printf("연산할 두 수를 입력하세요.");
scanf("%d %d", &a, &b);
int i = 1;
for (a; a * i <= b; i++)
printf("%d\n", a * i);
}
int main(void) {
while (flag) {
printf("원하는 계산기능을 고르시오\n1)덧셈 2)뺄셈 3)곱셈 4)나눗셈 5)나머지연산 6)비트연산 7)배수 구하기 8)종료\n");
int input = 0;
scanf("%d", &input);
switch (input) {
case 1: plus(); break;
case 2: minus(); break;
case 3: multiply(); break;
case 4: div(); break;
case 5: mod(); break;
case 6: bit(); break;
case 7: multiple(); break;
case 8: flag = 0; break;
default: break;
}
}
return 0;
}