2017 寒假作业 (三)

第三次寒假作业

合作随笔

作者信息

刘思泳 佘岳昕
031602524 031602131
博客链接 博客链接

模块分工

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

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

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

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

设计思路

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

编码规范

制定的编码规范

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

结果测试之中文版本

结果测试之英文版本

结果测试之e退出程序

github的提交链接和提交日志

Github

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

这个是个半成品用来显示算式

这是我们的第一个版本,这个版本包括了无分数的计算,是一个初始的版本

这个下一个,由于解决过程没有截图下来,就直接上最终版了,但其实过程相当曲折

提交版本记录,版本记录有点多,截了一部分

分工和协作的证据截图

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

合作的过程和合作体会

合作过程:

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

合作体会:

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

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

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

最后,学无止境。

原文地址:https://www.cnblogs.com/ctsyx/p/6411712.html