[C언어]infix to postfix
- 최초 등록일
- 2007.12.18
- 최종 저작일
- 2007.10
- 16페이지/ 한컴오피스
- 가격 2,000원
소개글
data 파일의 Infix form을 Postfix form으로 변환하는 프로그램입니다. 다양한 연산자(
일반 연산자 (6개) : *, /, %, +, -, ^ 여기서 ^는 지수이며, %는 나머지 구하는 연산자이다.
관계 연산자 (6개) : >, >=, <, <=, ==, != (크기를 비교하는 연산자)
논리 연산자 (3개) : !(NOT), &&(AND), || (OR)
괄호 (2개) : (, ) )를 계산할 수 있고 입력가능한 수는 한자리 숫자입니다.
만약 token이 틀리게 표현된 잘못된 입력 수식의 표현인 경우에는 다음과 같이 Error 메시지를 출력합니다.(예: 5 + 4 -- 8 인 경우: “잘못된 표현식입니다.”를 출력)
Flow Chart와 주석, 그리고 Source와 결과화면이 포함된 문서입니다.
목차
■ Program 주석
■ Flow Chart
■ Source code
■ 결과
본문내용
▶ 사용한 함수들의 의미
- void File_In(void); /* File에서 주어진 수식을 읽어들이는 함수 */
- void Error_Check(int first); /* 주어진 수식의 Error를 검출하는 함수 */
- int Next_Token(int i); /* 다음에 나오는 Token의 종류를 확인한다. */
- void Convert(int first); /* 두자리 Operator 변환을 위한 함수 */
- priority isOperand(char *symbol, int *n); /* 주어진 입력 수식에 대해 Token을 식별하는 함수*/
- char Print_Token(priority token); /*Operator로 구별된 것을 기호로 표시하는 함수*/
- void Operand_PushStack(int *top, int temp); /* Operand Stack에 Token을 Push하는 함수 */
- int Operand_PopStack(int *top); /* Operand Stack에 Token을 pop하는 함수 */
- void Operator_PushStack(int *top, priority temp); /* Operator Stack에 Token을 Push하는 함수 */
- priority Operator_PopStack(int *top); /*Operator Stack에 Token을 Pop하는 함수*/
- void Postfix(void); /* Operator간의 Priority 비교하여 Postfix로 바꾸는 함수 */
- int Calculate(void); /* 각 단계별로 계산하고 중간과정을 출력하는 함수 */
참고 자료
없음