结对项目——四则运算 “软件”之升级版
结对项目--四则运算“软件”之升级版
本次作业要求来自:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232
我的git远程仓库地址:https://github.com/Tysonnnn2/tysonnnn2
结对同学姓名学号:李天成 201606120089
结对同学的博客地址:https://www.cnblogs.com/timchan/
一、题目要求
从个人项目出发,将程序改装成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:
- 生成题目,单个题目最多不能超过4个运算符,操作数小于100。
- 用户可以输入答案
- 若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
二、扩展要求
- 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数,如:(1/3+1)*2 = 2.67,特别注意:这里是2.67而非2.66,或保持分数形式:8/3
- 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
- 用户答题结束以后,程序可以显示用户答题所用的时间
- 用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
- 用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名
- 程序可以出单个整数阶乘的题目:如:4!=24
- 程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。
- 程序可以设置皮肤功能,可以改变界面的颜色即可。
源代码 已上传至我的github远程仓库
三、分工合作
在这次的结对编程中,我主要负责的是题目的生成和信息录入和排名,结对同学负责的是文档的读取,还有错题检查。
四、运行截图
五、项目的时间规划
PSP2.1 |
Personal Software Process Stages |
Time Senior Student |
Time (minute) |
Planning |
计划 |
8 |
9 |
· Estimate |
估计这个任务需要多少时间 |
12 |
60 |
Development |
开发 |
90 |
60 |
· Analysis |
需求分析 (包括学习新技术) |
20 |
30 |
· Design Spec |
生成设计文档 |
0 |
1 |
· Design Review |
设计复审 |
3 |
15 |
· Coding Standard |
代码规范 |
0 |
10 |
· Design |
具体设计 |
10 |
30 |
· Coding |
具体编码 |
35 |
40 |
· Code Review |
代码复审 |
10 |
25 |
· Test |
测试(自我测试,修改代码,提交修改) |
15 |
15 |
Reporting |
报告 |
9 |
9 |
· |
测试报告 |
0 |
0 |
· |
计算工作量 |
5 |
5 |
· |
并提出过程改进计划 |
0 |
0 |
六、项目的感想
因为一开始和同学就是用c++开发,涉及到程序界面,不是控制台输出信息,我们用c就很难实现,所以我们在别的地方进行拓展:
- 可以根据录入的信息,对成绩进行排名。
- 做错的题目不会马上提示,会在检查错题那里显示。
- 除法的小数,还有减法的负数也能实现。
- 对题目的难度进行分级,能让学生自主选择难度。
- 查看结果功能可以看到自己的成绩,错误率和错误题目数量。
这次的实验,因为选择了c++实现,所以很多功能用这个语言很难实现,所以很多功能只能放弃。但是我和结对同学很努力的完善我们的程序,而且拓展功能也很不错。