软件工程(2019)第二次结对作业

四则运算生成器

一、题目要求

(1)能够自动生成四则运算练习题
(2)可以定制题目数量
(3)用户可以选择运算符
(4)用户设置最大数(如十以内、百以内等)
(5)用户选择是否有括号、是否有小数
(6)用户选择输出方式(如输出到文件、打印机等)
(7)最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

二、任务分工

驾驶员:汪江林
基本完成全部代码工作,程序基本实现全部要求功能,并将代码上传到GitHub代码托管系统(此处附代码地址)中,并对导航员在本次编程工作中起到的作用给出客观评价。
领航员:李东健(博客地址
能够辅助驾驶员完成全部代码工作,并且为关键函数选用合适的覆盖标准设计测试用例,并编写代码进行单元自动测试,并根据上次作业的代码检查表对驾驶员的本次工作进行评价。

三、代码地址

四则运算生成器

四、设计思路

  本次采用C++语言设计该四则运算生成器,一步一步地实现题目的要求。本次设计的特点是题目的生成要具有随机性,随机性在于运算符的种类要随机,运算数要在规定范围内随机,运算数的个数也要随机,不能一昧的固定几个数,而且还要满足用户的需求。随机性用到的就是C++语言中的一个rand()函数,关于此函数的运用这篇博客有详细介绍。点此进入

五、程序运行结果图

产生10题最大运算数为100且最大运算数的个数为10的加减乘除混合运算的整数的题目

产生10题最大运算数为100且最大运算数的个数为10的加减乘除混合运算的小数的题目

在文本文件中产生相应的运算题目

六、对领航员的评价

  在此次程序设计中,领航员的作用还是挺大的,给了一些可行的建议,并且指出了代码中存在的一些bug所在。相比较一个人而言,两个人结对可以提高很高的效率,节省了很多时间,站在不同的角度去思考问题。俗话说得好,当局者迷,旁观者请。有时候自己代码的bug,作者本人找不出来,这时候就需要另一个人的帮助了。而领航员就起到了这样的作用。

七、总结

  此次设计中,很遗憾因为能力问题没有做出相应的图形化界面,看到别人做出来的赶紧还是很不错的。日后有时间一定会学习关于图形化界面相关的知识。至于其他的部分,我觉得功能还是挺齐全的,加上图形化界面的话,就很好了。还有一个小问题就是我的代码没有用使函数功能模块化,虽然是一步一步的实现的,然后通过多重循环进行实现,导致最后的代码可读性不是很强,且长度也比一般的要长。由于没有使函数功能模块化,最后找起bug来,还是挺费劲的,以后编程一定要使函数功能模块化,这样修改起来也很方便。

猜你喜欢

转载自www.cnblogs.com/a-wang/p/10808331.html