반응형

다음과 같이 연산의 이름을 문자열로 받아서 해당 연산을 실행하는 프로그램을 작성하라. 연산을 나타내는 문자열은 "add", "sub", "mul", "div"으로 하라.

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
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 80
int compare(char *a);
int main(void)
{
    char a[SIZE]="";
    char seps[]=" ";
    char *ope, *x, *y;
    int i,j,k;
    printf("연산을 입력하세요: ");
    gets(a);
    ope=strtok(a,seps);
    x=strtok(NULL,seps);
    y=strtok(NULL,seps);
    i=compare(ope);
    j=atoi(x);
    k=atoi(y);
    printf("연산의 결과: ");
    if(i==0)
    printf("%d\n", j+k);
    else if(i==1)
    printf("%d\n", j-k);
    else if(i==2)
    printf("%d\n", j*k);
    else if(i==3)
    printf("%d\n", j/k);
    return 0;    
}
int compare(char *a)
{
if(strncmp(a,"add",3)==0)
    return 0;
else if(strncmp(a,"sub",3)==0)
    return 1;
else if(strncmp(a,"mul",3)==0)
    return 2;
else if(strncmp(a,"div",3)==0)
    return 3;
}
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

찾아 바꾸기  (0) 2016.08.22
전광판 만들기  (0) 2016.08.22
구두점 개수 세기  (0) 2016.08.21
영어 이름 입력  (0) 2016.08.21
문자열 역순 출력  (0) 2016.08.21
반응형

덧셈, 뺄셈, 곱셈, 나눗셈을 지원하는 계산기 프로그램을 작성하여 보자. 이번에는 각 연산들이 몇 번씩 계산되었는지를 기억하게 하자. 각 연산을 지원하는 함수들은 자신이 호출된 횟수를 화면에 출력한다.

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
#include <stdio.h>
void calculate(int a, int b, char c);
int main(void)
{
    int x, y;
    char z;
    while(1)
    {
    printf("연산을 입력하시오: ");
    scanf("%d %c %d"&x, &z, &y);
    calculate(x, y, z);
    }
    return 0;
}
void calculate(int a, int b, char c)
{
    static int plus=0;
    static int minus=0;
    static int muti=0;
    static int divi=0;
    static int namu=0;
    if (c=='+')
    {plus++;
    printf("덧셈은 총%d번 실행되었습니다.\n", plus);
    printf("연산결과: %d\n", a+b);}
    else if(c=='-')
    {minus++;
    printf("뺄셈은 총%d번 실행되었습니다.\n", minus);
    printf("연산결과: %d\n", a-b);}
    else if(c=='*')
    {muti++;
    printf("곱셈은 총%d번 실행되었습니다.\n", muti);
    printf("연산결과: %d\n", a*b);}
    else if(c=='/')
    {divi++;
    printf("나눗셈은 총%d번 실행되었습니다.\n", divi);
    printf("연산결과: %d\n", a/b);}
    else if(c=='%')
    {namu++;
    printf("나머지연산은 총%d번 실행되었습니다.\n", namu);
    printf("연산결과: %d\n", a%b);}
    else
    printf("잘못된 입력입니다.\n");
}
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

정적 지역 변수 초기화  (0) 2016.08.04
주사위 던지기  (0) 2016.08.03
메뉴 시스템 만들기  (0) 2016.07.29
부동 소수점 수 일치 판별  (0) 2016.07.29
반올림 함수  (0) 2016.07.29

+ Recent posts