北航c++选修课大作业我猜我猜我猜猜猜报告文档格式.docx
《北航c++选修课大作业我猜我猜我猜猜猜报告文档格式.docx》由会员分享,可在线阅读,更多相关《北航c++选修课大作业我猜我猜我猜猜猜报告文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
![北航c++选修课大作业我猜我猜我猜猜猜报告文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/0bc43135-1dbc-4b55-ba52-27a29812589a/0bc43135-1dbc-4b55-ba52-27a29812589a1.gif)
1.大作业团队成员2
2.计划与需求分析(针对大作业项目展开)2
3.算法及程序说明2
4.测试报告5
4.1进入游戏界面。
5
4.2加法运算测试5
4.3减法运算测试6
4.4随机加减法运算测试7
4.5乘法法运算测试8
4.6随机加减乘法运算测试9
4.7退出功能测试10
4.8继续做题功能测试11
4.9容错功能测试11
5.用户帮助手册12
6.源程序清单及.h文件15
1.大作业团队成员
1):
承担软件设计、部分类代码编制和注释、大作业报告中计划与需求分析、测试及报告、用户帮助手册和部分UML图的内容。
2):
承担部分软件设计、部分代码编制和注释、大作业报告中算法及程序说明的内容。
2.计划与需求分析(针对大作业项目展开)
本项目是开发一个面向小学1~2年级学生的算术小游戏,游戏的内容是随机选择两个整数进行加法、减法、乘法、随机加减法和随机加减乘法,形成算式要求学生解答。
考虑到用户的学习顺序,添加加法、减法、随机加减、乘法、随机加减乘法选择功能,使用户能得到相应的运算训练。
考虑到用户群体的计算能力有限,所以对游戏的难度有一定的限制。
加减法要保证每道题目两数之和或之差不超出0-50的范围,乘法均为“九九表”运算。
3.算法及程序说明
本程序的main函数只调用一个game函数,由此函数实现所有功能。
所有步骤的声明和实现分别放在body.h和body.cpp中,所有类的声明和实现分别放在class_que.h和class_que.cpp中。
本程序共5个类,每个题型模式对应一个类,,后4个类由第1个类派生出来。
每个类的getquestion函数不同,是私有成员。
que_函数作为接口,是公有成员。
为便于输出和比较,sum、answer、d是公有成员。
其余成员为了实现继承和控制访问,是保护成员。
在game函数中,首先调用tip介绍游戏规则,再调用start选择题型模式或退出。
每个对象是一道题。
根据所选模式,构造相应的对象组。
此处为计时起点,调用clock函数获得时间,然后循环调用每个对象的接口函数que_,再以此处为计时终点,调用comment函数输出总分和时间,再次调用start函数选择再做一套题或退出。
在接口函数que_中,先后调用getquestion函数和anqst函数。
getquestion函数用来根据需要随机产生并输出问题。
anqst函数调用getan函数来获取输入的数字,算出正确结果,进行比较,若不相等则再次调用getan函数,最多调用3次,并根据次数,调用first函数或second函数或third函数,来增加总分sum并调用right函数随机输出评语,若都不正确则输出正确答案。
每次生成随机数时,利用srand((unsigned)time(NULL))和rand()配合获得,然后通过取余得到相应范围内的随机数。
如:
srand((unsigned)time(NULL));
i=rand()%4;
表示i为0~3的随机数。
在getan函数中,用字符数组ch[5]存储输入内容,若包含非数字字符则重复输入。
指针pc1用来处理每个字符。
用mark来记录循环节中判断的结果,来确定是否进行循环。
用k累加每一位,并返回输入的整数。
intaquestion:
:
getan(void)//输入答案,返回输入的数
{
intk=0;
charch[5],*pc1;
intmark;
do
{
mark=0;
pc1=ch;
k=0;
cin>
>
pc1;
//输入并存储为字符数组
while(*pc1)
if(*pc1>
='
0'
&
*pc1<
9'
)
k=10*k+*pc1-'
;
//当输入数字时,把字符转换为相应整数存储
}
else
cout<
<
"
抱歉,只能填数字,请再填一次:
\nSorry,onlynumbersareallowed,tapetheansweroncemore:
endl;
mark=1;
break;
pc1++;
while(mark);
returnk;
流程图:
4.测试报告
4.2加法运算测试,无出题错误、计算错误、随机评论错误和得分统计错误。
4.3减法运算测试,无出题错误、计算错误、随机评论错误和得分统计错误。
4.4随机加减法运算测试,无出题错误、计算错误、随机评论错误和得分统计错误。
4.5乘法法运算测试,无出题错误、计算错误、随机评论错误和得分统计错误。
4.6随机加减乘法运算测试,无出题错误、计算错误、随机评论错误和得分统计错误。
4.7退出功能测试,功能正常。
4.8继续做题功能测试,功能正常。
4.9容错功能测试,功能正常。
5.用户帮助手册
5.1进入游戏界面,输入字母进入相应的运算或退出。
5.2输入a并回车开始加法运算,进入如下界面。
5.3回答问题,输入4(错误答案)并回车,系统出现错误提示。
5.4三次输入错误答案后,系统显示正确答案,并进入下一题。
5.5输入37(正确答案)并回车,系统出现正确提示并出现下一道题。
5.6继续答题,直到完成10道题目。
系统显示最终得分和所用时间,并给出相应评论。
5.7输入字母进入相应的运算或退出。
6.源程序清单及.h文件
●13191044_韩家兴_13191046_李子铭_简单算数游戏
●SourceFiles
i.main.cpp
ii.class_que.cpp
iii.body.cpp
●HeaderFiles
iv.class_que.h
v.body.h