선택장애

C언어 - switch_case문 계산기(함수사용) 본문

C언어

C언어 - switch_case문 계산기(함수사용)

yes or yes 2017. 8. 14. 15:26
반응형


#include <stdio.h>

int input_int();
int input_char();
int plus(int aa, int bb);
int sub(int aa, int bb);
int mul(int aa, int bb);
int div(int aa, int bb);
void disp(int num1, char ch, int num2, int result, float result_f);

 

void main()
{

   int num1;
   char ch;
   int num2;
   int result=0;
   float result_f=0.f;

   num1 = input_int();
   ch = input_char();
   num2 = input_int();

 switch(ch)
 {
  
   case '+' : result = plus(num1, num2); break;
   case '-' : result = sub(num1, num2); break;
   case '*' : result = mul(num1, num2); break;
   case '/' : result_f = div(num1, num2); break;
   default : puts("잘못된 연산자입니다.");

 }

   //출력
   disp(num1, ch, num2, result, result_f);

}

  int input_int()
{
    int num1;  
    printf("숫자를 입력해주세요\n");
    scanf("%d", &num1);
    return num1;

}

  int input_char()
{
   char ch;
   fflush(stdin);
   printf("연산자를 고르세요. (+ ,- ,* ,/)\n");
   scanf("%c", &ch);
   return ch;

}

  int plus(int aa, int bb)

   int result = aa+bb;
   return result;
}

  int sub(int aa, int bb)

   int result = aa-bb;
   return result;
}

  int mul(int aa, int bb)

   int result = aa*bb;
   return result;
}

  int div(int aa, int bb)

   int result_f = (float)aa/bb;
   return (float)result_f;
}

  void disp(int num1, char ch, int num2, int result, float result_f)
{

   if(ch =='+' || ch =='-' || ch =='*')
 {
   printf("두 수의 결과는 %d입니다.", result);
 }
   else if(ch == '/')
 {
    printf("두 수의 결과는 %f입니다.", result_f);
 }
   else
 {
   printf("잘못입력하셨습니다.");
 }

}

반응형