后缀表达式计算


后缀表达式的计算,输入一个后缀表达式利用栈来计算结果
资源截图
代码片段和文件信息
#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<<“请输入后缀表达式,以空格隔开,“=”结束
“;
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<<“表达式错误
“;
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<<“表达式错误
“;
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  后缀表达式计算后缀计算Debugcl.command.1.tlog

     文件      22478  2012-03-07 19:58  后缀表达式计算后缀计算DebugCL.read.1.tlog

     文件        772  2012-03-07 19:58  后缀表达式计算后缀计算DebugCL.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink-cvtres.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink-cvtres.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.1944-cvtres.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.1944-cvtres.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.1944.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.1944.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.2108-cvtres.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.2108-cvtres.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.2108.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.2108.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.2676-cvtres.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.2676-cvtres.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.2676.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.2676.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.3740-cvtres.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.3740-cvtres.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.3740.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.3740.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.4140-cvtres.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.4140-cvtres.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.4140.read.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.4140.write.1.tlog

     文件          2  2012-03-07 19:58  后缀表达式计算后缀计算Debuglink.4824-cvtres.read.1.tlog

............此处省略41个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)