2017 寒假作业 (三)

时间:2021-02-05 21:55:20

第三次寒假作业

合作随笔

作者信息

刘思泳 佘*
031602524 031602131
博客链接 博客链接

模块分工

  1. 编码规范
  2. 显示算式
  3. 计算算式
  4. 界面设计

    由土豆、完成前两个部分,Syxxx完成后两个部分

刚开始的时候预估难度出现问题,没有想到在计算上会出现这么多问题,土豆、有很大的责任,在此向我的队友道歉。

我开始写的时候也预估错了难度,导致后面debug了好几天,拖了一下后腿,同表示歉意。

设计思路

  1. 我们将这个项目分成两个部分是因为,这样做可以分工完成后两个人同时开工,对于做第二部分的人来说,已经知道需要哪些参数,就能更快地开始编写。
  2. 显示计算部分,采用了将数字和符号分开储存到两个数组的方法,当然若是存在一起也会产生问题,括号的话采用了直接输出的方法,然后用括号的位置直接计算,这样就避免了使用栈。
  3. 计算部分的混合运算采用了优先级的方法,设定三个函数递归,在加减之前查看符号是否为乘除,在查看是否为括号位置,这样就能保证混合运算了。
  4. 计算部分的分数运算采用了用()括起来的方式,来表达这是一个分数
  5. 按键结束我们采用了按e结束的方法,运用了getchar函数。
  6. 中英文切换比较简单,也比较直接的采用if语句实现,在每一处需要输出的地方判断一次就行

编码规范

制定的编码规范

程序实现和结果测试的截图

结果测试之中文版本
2017 寒假作业 (三)

结果测试之英文版本
2017 寒假作业 (三)

结果测试之e退出程序
2017 寒假作业 (三)

github的提交链接和提交日志

Github

==我们觉得相比git的讨论方法,qq上讨论一些小的难点更加的方便,而github跟适合一些阶段性的成果版本,或是在需要代码比对的时候用到==
2017 寒假作业 (三)

这个是个半成品用来显示算式
2017 寒假作业 (三)
这是我们的第一个版本,这个版本包括了无分数的计算,是一个初始的版本
2017 寒假作业 (三)

这个下一个,由于解决过程没有截图下来,就直接上最终版了,但其实过程相当曲折
2017 寒假作业 (三)

2017 寒假作业 (三)

提交版本记录,版本记录有点多,截了一部分
2017 寒假作业 (三)

2017 寒假作业 (三)

分工和协作的证据截图

这些是我们在qq上的讨论记录

2017 寒假作业 (三)

2017 寒假作业 (三)

2017 寒假作业 (三)

2017 寒假作业 (三)

合作的过程和合作体会

合作过程:

拿到题那天晚上初步构思了一下思路,当时只考虑了生成算式的部分,我的方法完全是纯暴力,并且在生成括号的地方卡了很久,后来组队后感谢队友对这部分的贡献,否则我可能一个人无法完成这项任务。之后由于我练车考驾照还有一些琐事耽搁了一点时间,队友先完成了整数部分的加减乘除,然后我开始写验算的时候对方同步进行括号和分数的处理,等我终于搞定后整合代码,最后完善一下细节部分就大功告成了。说起来虽然容易但期中曲折不断。

合作体会:

这是第一次尝试组队完成一个项目,之前都是自己解决题目,所以怎么拖延都没关系,毕竟deadline是第一生产力,不过组队后就不一样了,为了不拖队友后腿必须加紧写完,但还是耽搁了好一会,在此向队友道歉。

debug的时候差点崩溃,瞬间懂了为什么经常说程序员要加班,当然还有我技术不到位的原因,下学期要好好努力不能再坑队友。而等我最终看到运行结果终于符合预期的时候,简直要泪流满面了,满满的成就感,经历了一次又一次的失败,万念俱灰却始终没有放弃,终于看到了胜利的曙光,瞬间觉得前面的辛苦都是值得的,以后可能还会经历很多次这样的情况,也算是提前感受了一下吧。

另外这次作业让我感受到了团体协作的重要性,工作量一下子减少了很多,这才是写代码的正确方式啊。其实我觉得代码还可以写得更好但是时间来不及了(拖延),类啊栈啊重载运算符啊什么的都没涉及,这是一个不足之处,以后还要好好学习。

最后,学无止境。