資源簡介
順序棧實現算術表達式的計算
輸入格式:一行一個算術表達式,可以輸入若干行
輸出格式:一行一個輸出結果
樣例:
輸入樣例:
2*(3 + 4)
6+ 2 * 8 /4
輸出樣例
14
10
【基本要求】運算對象均為整數
【選作內容】運算對象擴充為可以是帶小數位的浮點數
代碼片段和文件信息
#include
#include
#include
#include
#include?“Calculator.h“
using?namespace?std;
Calculator::Calculator(int?length)???//構造函數,設置默認長度?
{
maxSize=length;
top=-1;
element=new?char[maxSize];
for(int?i=0;i ???element[i]=0;
assert(element!=NULL);
}
void?Calculator::overflowProcess()??????//溢出處理?
{
char?*newArray=new?char[maxSize+20];
if(newArray==NULL)
{
cerr<<“存儲分配失敗!\n“;
exit(1);
}
for(int?i=0;i<=top;i++)
????newArray[i]=element[i];
maxSize+=20;
delete?[]element;
element=newArray;
}
void?Calculator::Push(const?char?&ch)???????//新元素入棧
{
if(IsFull()==true)???overflowProcess();
element[++top]=ch;
?}
?
void?Calculator::Pop(char?&ch)???????//退棧
{
if(IsEmpty()==true)???return;
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5452??2017-12-16?01:20??實驗三:順序棧實現算術表達式的計算\實現代碼\Calculator.cpp
?????文件???????1171??2017-12-15?15:23??實驗三:順序棧實現算術表達式的計算\實現代碼\Calculator.h
?????文件??????89805??2017-12-16?01:20??實驗三:順序棧實現算術表達式的計算\實現代碼\Calculator.o
?????文件????????935??2017-12-16?01:11??實驗三:順序棧實現算術表達式的計算\實現代碼\main.cpp
?????文件??????63628??2017-12-16?01:11??實驗三:順序棧實現算術表達式的計算\實現代碼\main.o
?????文件???????1363??2017-12-16?01:27??實驗三:順序棧實現算術表達式的計算\實現代碼\Makefile.win
?????文件???????1196??2017-12-15?17:26??實驗三:順序棧實現算術表達式的計算\實現代碼\順序棧實現算術表達式的計算【浮點數】.dev
?????文件????????224??2017-12-15?17:26??實驗三:順序棧實現算術表達式的計算\實現代碼\順序棧實現算術表達式的計算【浮點數】.layout
?????文件????2075968??2017-12-16?01:20??實驗三:順序棧實現算術表達式的計算\順序棧實現算術表達式的計算【浮點數】.exe
?????目錄??????????0??2017-12-25?14:29??實驗三:順序棧實現算術表達式的計算\實現代碼
?????目錄??????????0??2017-12-25?14:29??實驗三:順序棧實現算術表達式的計算
-----------?---------??----------?-----??----
??????????????2239742????????????????????11
- 上一篇:鏈表實現學生健康管理
- 下一篇:基于51開發板的鬧鐘功能按鍵控制
評論
共有 條評論