计算带括号的算式
本帖最后由 错过会难过 于 2015-5-12 23:04 编辑算法差不多完善了,不过不能处理带有负数的算式,希望大家给点意见
由于函数都是自己写的,用到库函数的不多,所以代码有点长,里面的注释也挺长的,所以还是把链接贴上来
代码链接
http://pan.baidu.com/share/link?shareid=904190524&uk=338985857
main函数
#include <iostream>
#include <cstdio>
#include "equal.h"
using namespace std;
int main()
{
char s1="12+5.5*1.5+5*1-(3.5+2*5+3)-((2.1+5.6)*2)";
// 012345678901234567890123450123456789012345
//
char s2=" ( 1.6 --14)";
cout<<" = "<<makeEqu(s1)<<endl;
//cout<<"findFirBra "<<s1<<" "<<findFirBra(s1)<<endl;
//cout<<makeSimEqu(s2)<<endl;
//cout<<braLen("())");
//cout<<checkEqu(s1)<<endl;
//cout<<"isNumEqu = "<<isNumEqu("2-")<<endl;
//makeMixEqu(s2);
//dou2str(s2,5.01+2.002);
//cout<<s2<<endl;
}
亲知道什么叫逆波兰表达式不?{:9_223:}就是用来计算带括号的算式的~ ~风介~ 发表于 2015-5-14 23:25
亲知道什么叫逆波兰表达式不?就是用来计算带括号的算式的~
额,完全不知情 :shock:用逆波兰表达式处理会好
页:
[1]