Emotion

함수를 이용한 사칙연산 계산기

lis29188 2018. 5. 2. 00:22

함수를 이용한 사칙 연산 계산기는 함수뿐만이 아니라 if문이나 반복문의 조건을 통해 덧셈,뺼셈,나눗셈,곱셈을 할수있습니다 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <stdio.h>
int add(int a, int b)
{
    int    result;
    result = a + b;
    return result;
}
int remove(int a, int b)
{
    int result;
    result = a - b;
    return result;
}
int multiple(int a, int b)
{
    int result;
    result = a*b;
    return result;
}
int division(int a, int b)
{
    int result;
    result = a / b;
    return result;
}
int main()
{
    int n, m;
    char a;
    printf("정수를 입력하시오:");
    scanf_s("%d"&n);
    printf("정수를 입력하세요:");
    scanf_s("%d"&m);
    getchar();
    printf("어떤 연산을 원하십니까(+,-,*,/):");
    scanf_s("%c"&a);
    getchar();
    if (a == '+')
    {
        printf("%d", add(n, m));
    }
    else if (a == '-')
    {
        printf("%d", remove(n, m));
    }
    else if (a == '*')
    {
        printf("%d", multiple(n, m));
    }
    else printf("%d", division(n, m));
    return 0;
}
cs

예시에서 if문의 조건문을 통해 사칙연사을 할수있고 getchar를 써준 이유는 두 정수를 입력받을 때 엔터의 입력버퍼가 a를 입력 받을 떼 들어가버려서 써주지 않았다면 두정수를 입력 받고끝나버립니다 그거를 방지해주기 위해 getchar를 써줍니다

*추가 getchar또한 입력받는다는 느낌이 있어서 fflush(stdin)를써주어도 됩니다 fflush(stdin)은 scanf를 입력받을때생긴 입력 버퍼를 모두 제거해주는 것이기에 써주어도 됩니다