#include <iostream>
#include "Stack.h"
#include "Stacknew.h"
using namespace std;
bool Makesur(char& x);
void main(void)
{
const int Maxlength=100;
char expr[100];
cout<<"输入你想计算的表达式"<<endl;
cin.getline(expr,100);
Stack opera(Maxlength);
Stacknew num(Maxlength);
//Stack<int> num(100);
puts(expr);
int length=strlen(expr);
bool tr=false;
char temp;
char en='#';
char nestr[100];
int index=0;
opera.Add(en);
for(int i=1;i<=length;i++){
if(Makesur(expr[i-1])){
while(opera.Addex(expr[i-1])){
opera.Delete(temp);
nestr[index++]=temp;
}
}else{
nestr[index++]=expr[i-1];
}
}
while(!opera.isOk()){
opera.Delete(temp);
nestr[index++]=temp;
}
int total=index;
cout<<"转变后的值为:";
for(int k=1;k<=total;k++){
cout<<nestr[k-1];
}
cout<<endl;
for(int j=1;j<=total;j++){
char temp1;
temp1=nestr[j-1];
if(!Makesur(temp1)){
int a=temp1-48;
num.Add(a);
}else{
int a1,a2,result;
num.Delete(a2);
num.Delete(a1);
switch(temp1)
{
case '*':
result=a1*a2;
num.Add(result);
break;
case '/':
result=a1/a2;
num.Add(result);
break;
case '+':
result=a1+a2;
num.Add(result);
break;
case '-':
result=a1-a2;
num.Add(result);
break;
}
}
}
cout<<"计算结果为:";
int final;
num.Delete(final);
cout<<final<<endl;
}
bool Makesur(char& x){
switch(x)
{
case '*':
return true;
break;
case '/':
return true;
break;
case '+':
return true;
break;
case '-':
return true;
break;
case '(':
return true;
break;
case ')':
return true;
break;
}
return false;
}
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1、计算数学表达式的值。 输入数学表达式,输出表达式的计算结果。数学表达式由单个数字和运算符“+”、“-”、“*”、“/”、(、“)构成,例如 2 + 3 * ( 4 + 5 ) – 6 / 4。假定表达式输入格式合法。 *2、以一个 m*n的长方阵表示迷宫,0和1分别表示迷宫中的通路和障碍。设计一个程序,对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。 迷宫根据一个迷宫数据文件建立。迷宫数据文件由一个包含0、1的矩阵组成。迷宫的通路可以使用通路上各点的坐标序列进行展示(使用图形展示最佳)。
资源推荐
资源详情
资源评论
收起资源包目录
Test4.rar (51个子文件)
Test4
Stackint.cpp 792B
Stack.cpp 1KB
Test4.ncb 65KB
test.cpp 369B
mycpp.cpp 2KB
Stacknew.h 826B
Test4.vcxproj 7KB
Test4.vcxproj.user 143B
Test4.sln 1KB
Test4.dsw 535B
Test4.dsp 4KB
Test4.plg 1KB
Stacknew.cpp 976B
Stack.h 833B
Test4.vcxproj.filters 1KB
test.h 474B
Stackint.h 829B
Test4.sdf 5.33MB
Test4.suo 12KB
ipch
test4-dd8cd75f
test4-71563cca.ipch 14.56MB
Debug
vc100.idb 283KB
Test4.log 3KB
Stack.obj 104KB
CL.write.1.tlog 1KB
Test4.lastbuildstate 79B
CL.read.1.tlog 20KB
mt.read.1.tlog 370B
rc.write.1.tlog 246B
Test4.exe.embed.manifest 406B
Test4.exe.embed.manifest.res 472B
rc.read.1.tlog 342B
mt.command.1.tlog 358B
cl.command.1.tlog 2KB
link-cvtres.read.1.tlog 2B
vc60.idb 89KB
link.write.1.tlog 838B
Stacknew.obj 268KB
link-cvtres.write.1.tlog 2B
Test4.ilk 1.49MB
link.command.1.tlog 2KB
rc.command.1.tlog 476B
link.read.1.tlog 3KB
vc60.pdb 108KB
mt.write.1.tlog 266B
Test4_manifest.rc 206B
mycpp.obj 326KB
Test4.exe 558KB
Test4.pdb 2.35MB
Test4.exe.intermediate.manifest 381B
vc100.pdb 204KB
Test4.opt 49KB
共 51 条
- 1
资源评论
- timosun19982017-11-11挺好的,之前手贱删掉了
- Hasakee2015-11-17很不错 的程序
- fbswow2013-06-10很不错 的程序,没有错误
陌路转角
- 粉丝: 1
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功