/*

  사칙연산계산기 프로그램 v1.0
                            2008. 3. 20
                               by. TY★

*/

#include <stdio.h>
#include <stdlib.h>


double calculating(double a1, double b1, int op);


int main(void)
{
      double a, b, result;
      int choice; // 연산자선택
      char cop[4]={'+', '-', '*', '/'}; // 연산자 문자
 
      while(1)
      {
            system("cls"); // 화면 지우기
            printf("┏━━━━━━━━━━━━━━━━━┓\n");
            printf("┃                                                   ┃\n");
            printf("┃         사 칙 연 산 계 산 기 v1.0        ┃\n");
            printf("┃                                                   ┃\n");
            printf("┗━━━━━━━━━━━━━━━━━┛\n\n");


            printf("연산자를 선택하세요!\n");
            printf("1> +   2> -   3> *   4> /   5> Exit\n");
            printf("선택 ? ");
            scanf("%d", &choice);

            if(choice==5) // 5가 입력되면 프로그램 종료
                  break;
            if(choice<1 || choice>5) // 1~5 이외의 수를 입력시 출력
            {
                  printf("error : 잘 못 선택하셨습니다.\n\n");
                  system("pause"); //화면 잠시멈춤
                  continue; // 루프 재 실행 
            }

            printf("\n연산할 숫자를 입력하세요(ex:A B)? ");
            scanf("%lf %lf", &a, &b);
 
            if(choice == 4 && b == 0) // a값을 0으로 나눗셈을 할 경우
            {
                  printf("error : 0으로 나누실 수 없습니다.\n\n", a, b);
                  system("pause");
                  continue;
            }


            result = calculating(a, b, choice); // 연산 함수 호출


            printf("\n [계산 결과]\n");
            printf("%.2lf %c %.2lf = %.2lf\n\n", a, cop[choice-1], b, result);
 
            system("pause");
      }

      printf("\n━━━━━ 계 산 기 종 료! ━━━━━\n");
 
      return 0;
}


// 인자로 받은 값으로 연산자별로 계산하여 리턴값으로 반환
double calculating(double a1, double b1, int op)
{
      double rs;
 
      switch(op)
      {
            case 1:
                  rs=a1+b1;
                  break;
            case 2:
                  rs=a1-b1;
                  break;
            case 3:
                  rs=a1*b1;
                  break;
            case 4:
                  rs=a1/b1;
                  break;
      }

      return rs;
}

신고

+ Recent posts