第四次作业——计算器(实现“+ - * /”)

作业链接
GitHub链接

参考资料

命令行调用main函数
算术表达式的四则运算求值

关于本次作业

一开始看题目就感觉跟之前几次作业的难度有所不同。题目要求把数值与符号存放在两个栈中,然后求值,脑子里最先跳出来的想法就是题目似乎要用到“前缀表达式”“后缀表达式”等相关内容的知识,然而寒假的时候只是大概懂了这几个概念,对于树的遍历还未开始学习。在了解了<stack><sstream>的内容后,仍一筹莫展。在询问大神(橘子犇犇)后,告诉我说我百度的关键字可能有错= =,不要去搜索题目中所说的几个STL容器的内容,那样可能学完也不知道怎么完成题目。在他的建议下,通过“算术表达式求值”几个关键字,很快就找到几篇相关的博文。所参考的那篇博文资料= =嗯,跟这次作业的要求基本契合,因为第三次作业中已经把算术表达式压入队列,只需要把博文中的代码改成类存放进项目,然后队列通过参数传入就可以了。至于改成类= =感觉就是开始无脑改了= =

运行结果


第二次更新

与同学聊天的时候提到除数为“0”的情况,突然想起来我没有判断。按照double类型,这样的情况会输出INF,虽然从极限的思想上来看好像没有错,但是正常四则运算应该要报错,所以就手动更改了一下。在改的过程也没有什么大困难,就多加了几个判断。

posted @ 2016-04-07 13:31  zxzhang  阅读(587)  评论(5编辑  收藏  举报