第四次作业-计算功能的实现

>一.

传送门:

Github-仓库

The problem

参考资料:

main()参数命令行的使用

前缀,中缀,后缀表达式互换及计算


# >二.解题思路:#

1.计算: 建立Calculation类,将中缀表达式转换成前缀表达式进行计算。


## 2. 负数的处理: 在原有的Scan类中修改使其有选择性地保存负数。
## 3 优先级的处理: 设置一个函数,通过函数的返回值确定两操作符的优先级大小。
### ps:在第三次作业中Scan类中的使用`queue `储存单个字符,然而发现并不好使~所以又修改了储存方式为`queue`.###

>三.解题之路:#

无所知,无从入手 -> 翻阅过相关资料,也查找过各种无关信息 -> 逐步确定解题方向 -> 学习相关资料-> 初步构思,并着手尝试 -> 各种数据测试,以及单独将函数或者类提取出来进行调试 -> 最终完成!.


>四.收获及反思总结(感受多于知识):

收获: 学会了sstreamstack 的使用(尽管还不是十分熟练),同时也温习了一遍类的知识, 了解了main函数参数命令行的使用.最主要的还是学到了前缀表达式以及后缀表达式的计算方式.

反思总结:开始总是最难的,然而一旦开始了就会发现问题原来是可以这么简单地解决.就好比这几次的作业,每次刚看到题目的时候,和大多数同学一样:“什么鬼!卧槽!这题目怎么做!药丸,绝逼药丸!”但是查找了相关资料后渐渐地也就 懂得该怎么去解决这些问题,偶尔走路的时候也会去想这么些问题:优先级怎么解决,负数怎么处理...在这么个过程中,偶尔也会找到许多无关的资料(全是因为无法辨别是否需要),但也因此了解了许多平时不懂或者根本没听过的知识. 就个人而言,对于那些一看就完全懵逼的题目,我想,我们也该抱有这么个心态:只要它是一道题目,那就肯定能做出来。

共勉:与其停在原地抱怨前方的路太远,还不如就此刻出发,步伐再小也是为此努力过的证明.


>五.数据测试:








> 六。不足:

1. 没有实现对输入的不合法表达式进行报错.(仅做到数字超位数时报错)

2. 没有深入学习sstream和stack其他用法.

posted on 2016-04-09 22:02  wish_forever  阅读(183)  评论(2编辑  收藏  举报

导航