实例加减法小测验面向对象.docx
- 文档编号:8127814
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:20
- 大小:102.41KB
实例加减法小测验面向对象.docx
《实例加减法小测验面向对象.docx》由会员分享,可在线阅读,更多相关《实例加减法小测验面向对象.docx(20页珍藏版)》请在冰豆网上搜索。
实例加减法小测验面向对象
1.项目设计题目及要求
题目:
加减法小测验。
面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。
功能要求:
电脑随机出10道题,每题10分,程序结束时显示学生得分;确保算式没有超出1~2年级的水平,只允许进行100以内的加减法,不允许两数之和或之差超出0~100的范围,负数更是不允许的;每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRYAGAIN”
变化扩展:
1)允许用户初始选择题目类型:
加法,减法,还是加减法都有。
2)评判完成后,显示答错的题,并给出正确答案。
3)若是一组题,可以重复使用,怎样处理?
4)界面与应用逻辑分离
5)可以设置参数
2.项目的面向对象设计
2.1需求分析
1)分析系统的功能需求:
出题:
随机出题。
每题要求:
确保算式没有超出1~2年级的水平,只允许进行100以内的加减法,不允许两数之和或之差超出0~100的范围,负数更是不允许的。
答题:
每道题学生有三次机会输入答案,每输入一次答案,进行评价,若正确显示正确,若错误,显示错误,并提醒学生重新输入答案。
若是第三次错误,则不再给机会输入答案。
答题评分:
每道题,学生一次做对得10分,二次做对得7分,三次做对得5分,其余不得分;
总评分:
每个测试出10题,10题做完过后给出总评分。
总成绩90以上显示
“SMART,80-90显示“GOO”70-80显示“OK”,60-70显示“PASS,60以下“TRYAGAlN'
2)系统流程:
先出完10题,然后按顺序做题。
首先显示一个题目,用户给出答案,进行评判。
若做题结束,进入下一题,若没有结束,用户继续给出答案进行评判。
做完10题,计算总评分,并分等级给出评价。
流程如图1所示。
岀题(10题)进入做题界面
图1系统流程图
2.2总体设计
方案一:
1)识别类
作为题目类。
问题中出现了题目,解答,测试等事物。
将题目和解答的数据及功能合并,将测试作为一个类。
题目类:
表示一个题目,及相关的解答状况。
测试类:
对一次测试做一个包装,其中包括10个题目,以及测试的总分评价。
测试类和题目类之间是个1对多的包含关系。
Question
*1
Test
2)详细设计
Question类设计
数据成员:
两个操作数,运算符,运算结果;本题得分,答题次数,是否答对。
功能:
负责出一道题并让用户做题,并评价。
接口:
生成题目。
答题(显示题目,支持做题,支持得分)。
返回成绩。
私有成员函数
生成题目数据。
(私有)
判断题目是否符合要求。
(私有)
Test类设计
数据成员:
多个Question类对象(用数组组织数据,用vector组织数据),题目数目,
总分,等级,评价。
功能:
创建测试题目,启动测试,总评价。
接口为:
创建题目(或放在构造函数中)
启动测试
返回总分
返回评判结果(获得评判)
方案一:
实现
#inelude
#include
#inelude
#includevconio.h>usingnamespacestd;
chartype[2]={'+','-'};
intgrade[3]={10,7,5};
char*evaluation[5]={"SMART""GOOD,""OK","PASS","TRYAGAIN'};
constintMAX_TIMES=3
J
intgetACount(inta,intb)
{
returnrand()%(b-a)+a;
}
classQuestion
{
private:
inta;
intb;
charc;
intresult;
//
intscore;
inttimes;
intstate;
intresults[MAX_TIMES];
voidAQuestion()
{
a=getACount(0,100);
b=getACount(0,100);
c=type[getACount(0,2)];
if(c=='+')
result=a+b;
else
result=a-b;
}
booltestAQuestion()
{
if((result<0)||(result>100))returnfalse;
else
returntrue;
}
booldoOnceTest()
{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实例 加减法 测验 面向 对象