資源簡介
后綴表達式的計算,輸入一個后綴表達式利用棧來計算結果

代碼片段和文件信息
#include
#include
#include
using?namespace?std;
template
class?link
{
public:
T?date;
link*?next;
link(T?Date?link*Next=0)
{
date=Date;
next=Next;
}
};
template
class?tack
{
public:
link*top;
int?size;
tack()
{
top=NULL;
size=0;
}
bool?push(T?item)
{
link*tmp=new?link(itemtop);
top=tmp;
size++;
return?true;
}
T?pop()
{
T?item;
link*tmp;
tmp=top->next;
item=top->date;
delete?top;
top=tmp;
size--;
return?item;
}
bool?isEmpty()
{
if(size==0)
return?true;
else
return?false;
}
T?Top()
{
return?top->date;
}
};
void?main()
{
tacks;
string?c[30];
cout<<“請輸入后綴表達式,以空格隔開,“=”結束\n“;
int?i=0;
while(i<30)
{
cin>>c[i];
if(c[i]==“=“)
{
break;
}
i++;
}
i=0;
while(c[i]!=“=“)
{
if(c[i]==“+“||c[i]==“-“||c[i]==“*“||c[i]==“/“)
{
if(s.size==0||s.size-1==0)
{
cout<<“表達式錯誤\n“;
return?;
}
double?m=s.pop();
double?n=s.pop();
if(c[i]==“+“)
{
s.push(m+n);
}
if(c[i]==“-“)
{
s.push(n-m);
}
???if(c[i]==“*“)
{
s.push(m*n);
}
if(c[i]==“/“)??
{
s.push(n/m);
}
}
else
{
int?p=atoi(c[i].c_str());
s.push(p);
}
i++;
}
if(s.size!=1)
{
cout<<“表達式錯誤\n“;
return?;
}
cout<<“結果為:“< }
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????67072??2012-03-07?19:58??后綴表達式計算\Debug\后綴計算.exe
?????文件?????524360??2012-03-07?19:58??后綴表達式計算\Debug\后綴計算.ilk
?????文件?????814080??2012-03-07?19:58??后綴表達式計算\Debug\后綴計算.pdb
?????文件???15925248??2012-03-07?19:57??后綴表達式計算\ipch\后綴計算-15282382\后綴計算-bdd99af2.ipch
?????文件???????1366??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\cl.command.1.tlog
?????文件??????22478??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\CL.read.1.tlog
?????文件????????772??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\CL.write.1.tlog
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
?????文件??????????2??2012-03-07?19:58??后綴表達式計算\后綴計算\Debug\li
............此處省略41個文件信息
- 上一篇:基于稀疏分解的圖像修復MP
- 下一篇:VF學生管理系統完整
評論
共有 條評論