단순화된 공학 계산기 - Design (구현) - 구현중
Posted 2007/10/07 16:502007. 10. 6 - 첫번째 설계를 토대로 작성하였다. 아래 나오는 그림중 calculate()함수를 구현하였고 이 함수는 숫자와 '.' 로만 이루어진 피연산자(실수) 그리고 사칙연산('+','-','*','/') 및 괄호['(',')'] 등만 포함하는 수식의 값을 구해주는 함수이다.
- in processor
|
void parser(char *); |
|
void calculate(char *); |
calculate가 계산해야하는 수식은 다음과 같이 간단하게 syntax 를 정의할 수 있다.
expr = expr + term
| expr - term
| termterm = term * factor
| term / factor
| factorfactor = digit
| (expr)
그리고 이 syntax는 다음과 같이 같단하게 구현될 수 있다
more..
위에서 보는바와 같이 caculrator() 구현을 위해 다음과 같은 함수가 추가되었다
int isExpression(const char *);
void getNextToken(void);
double expr(void);
double term(void);
double factor(void);
다음은 간단한 실행화면이다.
이렇게 하여 프로젝트 스펙의 1번 기본적인 사칙연산 수행은 구현되었다. 풀코드는 후배들이 과제중이므로 나중에 공개하겠다.
프로젝트 메인으로
- Filed under : 분류없음
- Tag : 구현, 프로젝트
- 10 Comments Trackback
Project1.exe
이올린에 북마크하기
이올린에 추천하기