-
大小: 5KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-01-06
- 語言: C/C++
- 標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu)??
資源簡介
設(shè)計內(nèi)容:
給定一個算術(shù)表達式,通過程序求出最后的結(jié)果。
1、從鍵盤輸入要求解的算術(shù)表達式;
2、采用棧結(jié)構(gòu)進行算術(shù)表達式的求解過程(不用棧結(jié)構(gòu)驗收不合格);
3、能夠判斷算術(shù)表達式正確與否;
4、對于錯誤表達式給出提示;
5、對于正確的表達式給出最后的結(jié)果;
設(shè)計要求:
(1) 符合課題要求,實現(xiàn)相應(yīng)功能;
(2) 要求界面友好美觀,操作方便易行;
(3) 注意程序的實用性、安全性;
代碼片段和文件信息
#include
#include
#include?
#define?STACK_INIT_SIZE?100
#define?STACKINCREMENT?10
#define?OVERFLOW?-1
#define?ERROR?0
#define?OK?1
typedef?float?SElemType;
typedef?struct
{
SElemType?*base;
int?top;
int?stacksize;
}SqStack;
SElemType?InitStack(SqStack?*S)
{
//構(gòu)造一個空棧
????
S->base=(SElemType??*)malloc(100*sizeof(SElemType?));
????if(!S->base)?return?OVERFLOW;
S->top=0;
S->stacksize=STACK_INIT_SIZE;
return?OK;
}
SElemType?GetTop(SqStack?*S)
{
//若棧不空,則用e返回棧頂元素,否則返回ERROR
SElemType?e;
if(S->top==0)????return?ERROR;
e=S->base[S->top-1];????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
評論
共有 條評論