2017寒假作业(三)

时间:2022-05-10 03:14:33

注:开发环境为Visual C++ 6.0

题目描述

编写一个能对0--10之间的整数进行四则运算的“软件”,提供给小学生使用的自主四则运算练习程序。
程序能接收用户输入的整数答案,并判断对错
程序结束时,统计出答对、答错的题目数量。
补充说明:
0——10的整数是随机生成的
生成题目数量由用户输入
要求生成混合运算,如(5 - 4 ) * (3 + 8) =?
题目生成后由用户输入答案
用户用键盘输入一个字符来结束程序的运行并显示统计结果,比如输入e程序结束并显示统计结果
C或C++语言都可以,命令行输出和图像界面输出都可以。
(附加分)
1、除了整数以外,还要支持真分数的四则运算。 (例如: 1/6 + 1/8 = 7/24)
2、C++语言 实现更佳。
3、体现面向对象思想的设计更佳。
4、中英双语界面的切换支持:这个软件原来是中文界面,发布后很受欢迎,英国的学校都要求使用,但是希望界面是英文的。 请实现这个需求 - 注意,还是一个软件,但是允许用户切换界面语言。(邹欣老师提供的idea支持)

相同部分

1.合作者

2.设计思路

  • 用C语言
  • 设计多个函数各司其职,比如有的用来进行简单的两位四则运算,有的用来处理复杂的输出和混合运算顺序,最后再整合在一起
  • 需要能随机产生随机数字的函数(后来发现rand()可以)
  • 括号的处理和除法的处理是两大难点,所以这是分工的关键,我负责括号,张硕负责除法
  • 界面切换只需要在主函数里用if语句判断
    最初没有头绪的时候借鉴了很多类似代码,例如http://www.cnblogs.com/gq291254350/p/5282595.html

3.编码规范

  • 关键部分都要标注注释,包括函数作用,变量用法,语句实现等
  • 变量最好根据用途来命名
  • 尽量不要名称相同,可以用下划线来区分用途相近的变量,以表明它们属于同一类
  • 尽量使编写的函数功能单一化

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

2017寒假作业(三)

2017寒假作业(三)

5.github的提交链接

github提交日志截图
2017寒假作业(三)

6.分工和协作证据截图

2017寒假作业(三)

差异部分

1.合作过程

最初三天我专注于自己代码的实现,第三天我终于实现了我的代码,然后就马上把代码push到GitHub上,好让张硕尽早根据我的代码把他的那部分整合上去。之后张硕应该自己能解决,也没有问我,我也没过多过问。后来发现程序有时候会莫名其妙地运行失常,有时候又不会,但是还是不知道问题出在哪里。对比了c++,我实在觉得c语言所有代码都集中在一起的编程习惯在应付复杂程序时显得特别繁复杂乱,也不利于合作计划高效执行。

2.合作体会

合作可以减小工作量,提高效率。但是,合作面临着很多问题,比如思路不同,习惯不同,时间差异等,这些都要花一些时间克服,特别是思路不同。这次合作我负责处理括号的实现,可是这个部分没那么独立,所以我实现括号输出的同时也把主体函数顺带完成了,只留了除法实现给我的partner,因为我的代码偏多,我担心他看不懂,我就加了很多注释,好在有些帮助。所以在合作中让合作者知道你在做什么是很重要的。还有就是工作要分配得当,而且总要有人做得比较多,要乐于承担而不是抱怨。最后我觉得,每个人在合作中都应该比单干更积极,特别是在没办法面对面交流的情况下,因为我们分到的任务可能重要到我们必须先完成别人才能进行,而且合作总是需要大量的讨论和协商时间。所以永远不要以为有人和你分担工作就是一件轻松活。