자료구조
- 최초 등록일
- 2012.07.13
- 최종 저작일
- 2011.09
- 6페이지/ 한컴오피스
- 가격 1,000원
소개글
스택을 이용한 수식 연산 프로그램입니다.
목차
없음
본문내용
char* postfix(char* string)
{
int token=0, done=0, nIdx=0;
char* sStore=(char*)malloc(sizeof(string)+1); // 변환한 식을 저장할 공간 선언
if(sStore == NULL) { // 메모리 할당이 제대로 되지 않은 경우
puts("메모리가 부족합니다.");
exit(1); // 비 정상 종료
}
push(eos); // 가장 먼저 종료 문자를 스택에 입력
token = get_token(*string); // 현재 문자열의 첫번째 문자를 token에 복사
printf("후위 표기법으로 변환 결과(함수안) : ");
while(!done)
{
if(token == operand) // 숫자일 경우
{
// 함수 내에서 후위 표기법 출력
printf("%c", *string); // 숫자 출력
*(sStore+nIdx) = *string; // 연산자를 char 포인터 변수의 주소에 저장
nIdx++; // 주소값 증가
token = get_token(*(++string)); // 다음 문자를 token에 복사
}
else if(token == space) // token이 공백일 경우
{
token = get_token(*(++string)); // 다음 문자를 token에 복사
}
else // token이 숫자가 아니면
{
switch(action[token][read_top()]) // action 배열에서 값 검사
{
case -1 :
token = get_token(*(++string)); // 다음 문자를 token에 복사
break;
참고 자료
없음