Calculator 프로그램을 확장하여 아래와 같은 기능을 하도록 프로그램을 작성하시오. 1.main 함수에서는 하나의 함수만 호출하도록 한다. 예를 들어, CalcMain.c 에는 main 함수만 존재하고 main 함수 안에서 startCalculator() 함수를 호출하도록 하고 CalcStart.c 에 startCalculator 함수를 만들어 분할 컴파일한다. 2.전역변수, 지역변수, 로컬변수, 정적변수를 적절히 사용한다. 즉, int gFirst, int gSecond, int gThird, int gFour, int gMenu 와 같이 전역변수를 만들어 공유한다. 다른 파일에서 사용시는 extern int gFirst 등과 같이 사용할 수 있다. 3.최소한의 연산자의 지원은 +, -, *, /, ! 최소한의 기능 지원은 c(LEAR), q(UIT) 이다. 4.일반 계산기와 같이 작동되도록 제어 흐름을 변경한다. 우선 순서도를 작성해보고 프로그램을 만들어 간다. 제어 흐름은
•c 입력시 - 계산 결과 화면 클리어 •q 입력시 - 프로그램 종료 •"수 입력" -> "+ or - or * or / 입력 " -> "수 입력 " -> "= 입력" -> "결과 표시" 결과 표시 형식 : {first_number} {+ or – or * or /} {second_number} = {result_number}
•! 입력시 -> "수 입력" -> "! 계산" -> "결과 표시" 결과 표시 형식 : {!}{first_number} = {result_number}
5.하향식 프로그래밍 방법을 적용한다. 즉 showMenu() or showCalcDisplay(), showResult() 와 같이 함수를 만들어 호출한다. 6.본인의 아이디어를 추가하여 프로그램을 개선시킨다. 화면을 예쁘게 만든다든지, 제어 흐름을 좀 더 편한 방법으로 한다든지 등등...
while(1){ printf(" Enter your Selection: "); scanf("%d", &nMenu); printf("\n");
if (nMenu == 5) break; printf(" input a and b: "); if (nMenu == 1 ) { printf("Addition: "); } else if (nMenu == 2) { printf("Subtraction: "); } else if (nMenu == 3) { printf("Multiplication: "); } else if (nMenu == 4) { printf("Division: "); } scanf("%d%d", &a, &b); printf("\n"); switch(nMenu) { case 1: c = a + b; break; case 2: c = a - b; break; case 3: c = a * b; break; case 4: c = a / b; break; }