데이터 구조 계산기

1649 단어
요약 은 스 택 에 대한 응용 을 통 해 '+', '-', '*', '/' 의 연산 을 실현 하고 '(', ')' 의 응용 도 포함한다.
알고리즘 사상 이 계산 기 를 실현 하려 면 먼저 접미사 표현 식 을 접미사 표현 식 으로 바 꾸 고 접미사 표현 식 의 값 을 계산 할 수 있 습 니 다.
코드 구현
#include
#include
using namespace std;

typedef struct{
	int *top;
	int *base;
	int stacksize;
}Stack;

char m[7][7]={         //        
{'>','>','','>'},
{'>','>','','>'},
{'>','>','>','>','','>'},
{'>','>','>','>','','>'},
{'','>','>','>','#','>','>'},
{'>ch;
	while(ch!='='||GetTop(ope)!='=')			// ‘=’     
	{
		for(int i=0;In(ch)==1;i++)
		{
			if(i==0)
			{
				push(num,(ch - '0'));
				cin>>ch;
			}
			else
			{
				d=GetTop(num);
				e=d*10+(ch - '0');
				pop(num);
				push(num,e);
				cin>>ch;
			}
		}

		if(In(ch)==0)
		{
			switch(cmp(GetTop(ope),ch))
			{
				case '>ch;
					break;
				case '>':			//         
					c=GetTop(ope);
					pop(ope);
					a=GetTop(num);
					pop(num);
					b=GetTop(num);
					pop(num);
					push(num,count(a,c,b));
					break;
				case '=':          //          
					pop(ope);
					cin>>ch;
					break;
			}	
		}
	}
	s=GetTop(num);
	pop(ope);
	Delete(num);
	Delete(ope);
	return s;
}

int main()
{
	int s;
	s=computer();
	cout<

좋은 웹페이지 즐겨찾기