2017 寒假作业 (三)
第三次寒假作业
合作随笔
作者信息
刘思泳 | 佘岳昕 |
---|---|
031602524 | 031602131 |
博客链接 | 博客链接 |
模块分工
- 编码规范
- 显示算式
- 计算算式
- 界面设计
由土豆、完成前两个部分,Syxxx完成后两个部分
刚开始的时候预估难度出现问题,没有想到在计算上会出现这么多问题,土豆、有很大的责任,在此向我的队友道歉。
我开始写的时候也预估错了难度,导致后面debug了好几天,拖了一下后腿,同表示歉意。
设计思路
- 我们将这个项目分成两个部分是因为,这样做可以分工完成后两个人同时开工,对于做第二部分的人来说,已经知道需要哪些参数,就能更快地开始编写。
- 显示计算部分,采用了将数字和符号分开储存到两个数组的方法,当然若是存在一起也会产生问题,括号的话采用了直接输出的方法,然后用括号的位置直接计算,这样就避免了使用栈。
- 计算部分的混合运算采用了优先级的方法,设定三个函数递归,在加减之前查看符号是否为乘除,在查看是否为括号位置,这样就能保证混合运算了。
- 计算部分的分数运算采用了用()括起来的方式,来表达这是一个分数
- 按键结束我们采用了按e结束的方法,运用了getchar函数。
- 中英文切换比较简单,也比较直接的采用if语句实现,在每一处需要输出的地方判断一次就行
编码规范
程序实现和结果测试的截图
结果测试之中文版本
结果测试之英文版本
结果测试之e退出程序
github的提交链接和提交日志
我们觉得相比git的讨论方法,qq上讨论一些小的难点更加的方便,而github跟适合一些阶段性的成果版本,或是在需要代码比对的时候用到
这个是个半成品用来显示算式
这是我们的第一个版本,这个版本包括了无分数的计算,是一个初始的版本
这个下一个,由于解决过程没有截图下来,就直接上最终版了,但其实过程相当曲折
提交版本记录,版本记录有点多,截了一部分
分工和协作的证据截图
这些是我们在qq上的讨论记录
合作的过程和合作体会
合作过程:
拿到题那天晚上初步构思了一下思路,当时只考虑了生成算式的部分,我的方法完全是纯暴力,并且在生成括号的地方卡了很久,后来组队后感谢队友对这部分的贡献,否则我可能一个人无法完成这项任务。之后由于我练车考驾照还有一些琐事耽搁了一点时间,队友先完成了整数部分的加减乘除,然后我开始写验算的时候对方同步进行括号和分数的处理,等我终于搞定后整合代码,最后完善一下细节部分就大功告成了。说起来虽然容易但期中曲折不断。
合作体会:
这是第一次尝试组队完成一个项目,之前都是自己解决题目,所以怎么拖延都没关系,毕竟deadline是第一生产力,不过组队后就不一样了,为了不拖队友后腿必须加紧写完,但还是耽搁了好一会,在此向队友道歉。
debug的时候差点崩溃,瞬间懂了为什么经常说程序员要加班,当然还有我技术不到位的原因,下学期要好好努力不能再坑队友。而等我最终看到运行结果终于符合预期的时候,简直要泪流满面了,满满的成就感,经历了一次又一次的失败,万念俱灰却始终没有放弃,终于看到了胜利的曙光,瞬间觉得前面的辛苦都是值得的,以后可能还会经历很多次这样的情况,也算是提前感受了一下吧。
另外这次作业让我感受到了团体协作的重要性,工作量一下子减少了很多,这才是写代码的正确方式啊。其实我觉得代码还可以写得更好但是时间来不及了(拖延),类啊栈啊重载运算符啊什么的都没涉及,这是一个不足之处,以后还要好好学习。
最后,学无止境。