[자료구조] [자료구조]스택을 이용한 한자리수 수식의 계산 프로그램
- 최초 등록일
- 2004.06.07
- 최종 저작일
- 2004.06
- 4페이지/ C언어
- 가격 1,000원
소개글
한자리수의 수식을 계산하는 c 프로그램입니다.
목차
없음
본문내용
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#define MAX 100
typedef enum {left_p,right_p,plus,minus,times,divide,exponent,eos,operand} nick;//연산자 리스트 열거형.
nick stack[MAX];//연산에 필요한 스택 공간.
char expr[MAX];//사용자 수식이 저장되는 공간.
char post_expr[MAX];//후위식으로 변환된 식이 저장되는 공간.
static int isp[] = {0,19,12,12,13,13,14,0}; //스택 안에 있을 때의 연산 우선 순위 값.
static int icp[] = {20,19,12,12,13,13,14,0}; //스택 밖에 있을 때의 연산 우선 순위 값.
int ERROR_FREE(void);//입력된 수식 내용의 범주를 체크하여 에러 여부 반환과
//수식에 있는 빈공간의 처리.(빈공간 발생시 문자를 앞으로 붙임.)
nick stack_pop(int *top);//스택 pop.
void stack_push(int *top,int in);//스택 push.
nick get_token(char EXPR[],char *symbol,int *n);//입력 수식에서 토큰을 발생시키는 함수.
char token_to_char(nick token);//토큰을 받아 실제 문자를 반환해주는 함수.
void infix_to_postfix(void);//infix 수식을 postfix 수식으로 바꾸어 post_expr[]에 저장시키는 함수.
int process_postfix(void);//postfix 수식의 계산된 값을 반환하는 함수.
참고 자료
없음