第四次作业-计算功能的实现
>一.
传送门:
Github-仓库
The problem
参考资料:
main()参数命令行的使用
前缀,中缀,后缀表达式互换及计算
# >二.解题思路:#
1.计算: 建立Calculation类,将中缀表达式转换成前缀表达式进行计算。
## 2. 负数的处理: 在原有的Scan类中修改使其有选择性地保存负数。
## 3 优先级的处理: 设置一个函数,通过函数的返回值确定两操作符的优先级大小。
### ps:在第三次作业中Scan类中的使用`queue
>三.解题之路:#
一 无所知,无从入手 -> 翻阅过相关资料,也查找过各种无关信息 -> 逐步确定解题方向 -> 学习相关资料-> 初步构思,并着手尝试 -> 各种数据测试,以及单独将函数或者类提取出来进行调试 -> 最终完成!.
>四.收获及反思总结(感受多于知识):
收获: 学会了sstream 和 stack 的使用(尽管还不是十分熟练),同时也温习了一遍类的知识, 了解了main函数参数命令行的使用.最主要的还是学到了前缀表达式以及后缀表达式的计算方式.
反思总结:开始总是最难的,然而一旦开始了就会发现问题原来是可以这么简单地解决.就好比这几次的作业,每次刚看到题目的时候,和大多数同学一样:“什么鬼!卧槽!这题目怎么做!药丸,绝逼药丸!”但是查找了相关资料后渐渐地也就
懂得该怎么去解决这些问题,偶尔走路的时候也会去想这么些问题:优先级怎么解决,负数怎么处理...在这么个过程中,偶尔也会找到许多无关的资料(全是因为无法辨别是否需要),但也因此了解了许多平时不懂或者根本没听过的知识.
就个人而言,对于那些一看就完全懵逼的题目,我想,我们也该抱有这么个心态:只要它是一道题目,那就肯定能做出来。
共勉:与其停在原地抱怨前方的路太远,还不如就此刻出发,步伐再小也是为此努力过的证明.
>五.数据测试:
> 六。不足:
1. 没有实现对输入的不合法表达式进行报错.(仅做到数字超位数时报错)
2. 没有深入学习sstream和stack其他用法.
"没什么了不起的,你可以做到的,我咬咬牙,花时间同样可以完成得很好"
posted on 2016-04-09 22:02 wish_forever 阅读(191) 评论(2) 编辑 收藏 举报