小学生四则运算测试.docx
- 文档编号:7161095
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:11
- 大小:227.10KB
小学生四则运算测试.docx
《小学生四则运算测试.docx》由会员分享,可在线阅读,更多相关《小学生四则运算测试.docx(11页珍藏版)》请在冰豆网上搜索。
小学生四则运算测试
面向对象程序设计大作业
------小学生四则运算测验
1.系统简介
该系统开发平台为Windows7,程序设计语言采用VisualC++6.0,程序运行平台为WindowsXP,程序通过调试运行,初步实现了设计目标。
(1)利用C++语言实现简易小学生四则运算测试系统的程序设计;
(2)利用结构图和自行定义的函数进行相关的功能设计;
(3)测试系统能随机产生数据进行测试.
2.基本要求
根据C++语言,将具体实现某个功能的函数设成小学生四则运算测试系统的公有函数成员,将数据利用自行定义的函数进行计算.
随机选择两个整数进行加减乘除运算,给出算式要求学生作答。
基本要求如下:
(1)电脑随机出20道题,每题5分,程序结束时显示学生得分;
(2)允许随机给出的数在10以内。
(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案,该题不计入学生得分
(4)对于每道题目,学生第一次输入正确答案得5分,第二次输入正确答案得4分,第三次输入正确答案得3分,否则不得分;
(5)20道题全部答完以后,电脑给出学生总分,并将学生得分为0的题目以及相应的正确答案再次输出。
3.总体设计
4.详细设计
表格1
RandShu
-shu:
int
+RandShu()
+getShu():
int
+setShu:
void
RandFu
-fu:
int
+RandFu()
+getFu():
int
ShiTi
-RandShus1
-RandShus2
-RandFuf
-r:
double
-t[6]:
char
+ShiTi()
+solve():
double
+getResult():
double
+display():
void
5.关键技术说明
选择判断结构、循环结构、类、继承与派生、构造函数的应用。
6.源代码
#include
#include
#include
usingnamespacestd;
#defineN10//十以内的算数题目
#defineNUMBER20//题目个数
//intsend=0;
classRandShu
{
private:
intshu;
public:
RandShu(){
shu=rand()%N;
}
intgetShu(){returnshu;}
voidsetShu(floatd){shu=d;}
};
classRandFu
{
private:
intfu;
public:
RandFu(){
fu=rand()%4;
}
intgetFu(){returnfu;}
};
classShiTi:
publicRandShu,RandFu
{
private:
RandShus1,s2;
RandFuf;
doubler;
chart[6];
public:
ShiTi(){r=solve();}
doublesolve();
doublegetResult();
voiddisplay();
};
voidShiTi:
:
display()
{
cout< switch(this->f.getFu()) { case0: cout<<"+";break; case1: cout<<"-";break; case2: cout<<"*";break; case3: cout<<"/";break; } cout< } doubleShiTi: : getResult() { doubleq=r*100; intw=q/1; doublea=r*1000; intd=a/1; intc=d%10; doublee=q-w; r=r-0.01*e; if(c>=5){r=r+0.01;} returnr; } doubleShiTi: : solve() { switch(this->f.getFu()) { case0: r=s1.getShu()+s2.getShu();break; case1: r=s1.getShu()-s2.getShu();break; case2: r=s1.getShu()*s2.getShu();break; case3: if(s2.getShu()==0)s2.setShu (1); r=(double)s1.getShu()/s2.getShu();break; } returnr; } voidhead() { cout< cout<<"==================欢迎使用小学生四则运算测试系统======================"< cout<<"\t系统说明: "; cout<<"\n\t本系统为十以内的四则运算测试系统"< cout<<"\t注意事项: "; cout<<"\n\t除法结果若小数位多余两位的,四舍五入保留小数点后两位\n\n"; cout<<"按任意键,进入答题"< system("pause"); system("cls"); } intmain() { srand((unsigned)time(NULL)); ShiTit[NUMBER]; doublenResult[NUMBER]; intfenShu=0; intcount=0; intcountRight=0; head(); for(inti=0;i { count=0; cout<<"第"< "; t[i].display(); do { if(count! =0&&count<3) cout<<"结果错误,还有"<<3-count<<"次机会! "< "< cin>>nResult[i]; count++; }while(nResult[i]! =t[i].getResult()&&count<3); if(count==3) { cout<<"\n正确结果: "< } if(nResult[i]==t[i].getResult()) { countRight++; fenShu=fenShu+5-count+1; } cout<<"*************************当前得分: "< } cout<<"按任意键,进入测试成绩结果查看"< system("pause"); system("cls"); cout<<"测试成绩结果: "< for(i=0;i { cout<<"第"< "; t[i].display(); cout< if(nResult[i]==t[i].getResult()){cout<<"√"< elsecout<<"×"< } cout<<"答对题数: "< "< if(countRight! =NUMBER) cout<<"\t错误题目及答案: \n"; for(i=0;i { if(nResult[i]! =t[i].getResult()) { cout<<"第"< "; t[i].display(); cout< } } return0; } 7.测试(主界面及各功能模块的运行图及说明) 1)初始界面 2)错误结果及其处理 3)测试界面 4)测试成绩结果显示界面 8.系统评价及展望 本系统可以实现基本的试题产生及对输入结果的处理,程序运行较为完善,系统运作流畅,界面相对友好,能很容易使操作者操作自如。 但部分功能不完善,且界面有待更为完善、友好。 9.设计小结 经过半个学期对“面向对象课程设计(C++)”这门课的学习,我体会颇多,学到了很多东西。 我加强了对C++程序设计这门课程的认识,并且复习了自己上学期学习到的知识。 这些都使我对计算机语言的学习有了更深入的认识。 懂得了在进行编写一个程序之前,要有明确的目标和整体的设计思想。 另外某些具体的细节内容也是相当的重要。 这些宝贵的编程思想和从中摸索到的经验都是在编程的过程中获得的宝贵财富。 这些经验对我以后的编程会有很大的帮助的,我要好好利用。 另外由于时间的紧迫和对知识的了解不够广泛,造成了程序中还存在许多不足,功能上还不够完善。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小学生 四则运算 测试