/*
사칙연산계산기 프로그램 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;
}