儿童四则运算游戏实验报告.docx
- 文档编号:10035056
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:15
- 大小:217.62KB
儿童四则运算游戏实验报告.docx
《儿童四则运算游戏实验报告.docx》由会员分享,可在线阅读,更多相关《儿童四则运算游戏实验报告.docx(15页珍藏版)》请在冰点文库上搜索。
儿童四则运算游戏实验报告
儿童四则运算游戏-实验报告
深圳大学实验报告
课程名称:
C程序设计
实验名称:
综合实验3:
儿童四则运算游戏
学院:
信息工程学院
专业:
未分
********
报告人:
林瑶珠
报告人学号:
**********班级:
信工1班
实验时间:
2015年5月9日—5月19日
报告提交时间:
2015年5月19日
教务处制
一、实验目的与要求:
实验目的:
(1)学习和掌握C语言函数的定义与调用;
(2)进一步掌握随机数、选择结构、循环控制、交互式输入输出等程序设计方法;
(3)进一步掌握C语言中的数组定义和引用方法;
(4)学习和掌握根据流程图进行模块化程序设计的思想。
(5)提交正式的电子版实验报告到Blackboard。
实验要求:
二、实验内容:
1)在VC++中建立一个工程;
2)在程序开始的注释行中写上你自己的信息;
3)定义一个函数randN1N2(intrN1,intrN2)。
该函数有两个整型的输入参数rN1和rN2,其中,rN1<=rN2。
该函数的功能是生成rN1到rN2之间均匀分布的随机整数,该函数的返回值类型是整型。
每调用一次该函数,函数返回一个rN1至rN2之间的随机整数(随机数的生成方法可参考LabAssessment3)。
4)定义一个函数randOper4()。
该函数没有输入参数,函数的返回类型是整型。
该函数内部调用上述randN1N2()函数。
每调用一次函数randOper4(),返回一个1至4之间的随机整数。
5)定义一个函数randLmt100()。
该函数没有输入参数,函数的返回类型是整型。
该函数内部调用上述randN1N2()函数。
每调用一次函数randLmt100(),返回一个0-99之间的随机整数。
6)定义一个函数addLmt100(intnum1,intnum2)。
该函数有两个整型的输入参数num1和num2;函数返回值类型为整型。
该函数的功能是:
在屏幕上列出一个算式num1+num2=,然后接受一个键盘输入的计算答案answer。
若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值0。
7)定义一个函数subLmt100(intnum1,intnum2)。
该函数有两个整型输入参数num1和num2;函数返回值类型为整型。
该函数的功能是:
在屏幕上列出一个算式numM1-numM2=,其中:
numM1是num1和num2中较大的一个数,numM2是num1和num2中较小的一个数;然后接受一个键盘输入的计算答案answer。
若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,
然后返回函数值0。
8)定义一个函数mulLmt100(intnum1,intnum2)。
该函数有两个整型输入参数num1和num2;函数返回值类型为整型。
该函数的功能是:
在屏幕上列出一个算式num1×num2=,然后接受一个键盘输入的计算答案answer。
若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值0。
9)定义一个函数divLmt100()。
该函数没有输入参数;函数返回值类型为整型。
该函数的功能是:
首先调用randLmt100()函数生成两个随机整数num1和num2,并判断num1是否可以被num2整除,若不能整除,则调用randLmt100()函数重新生成两个新的num1和num2,然后再进行整除性判断,直到生成的num1可以被num2整除;在num1可以被num2整除的情况下,在屏幕上列出一个算式num1÷num2=,然后接受一个键盘输入
的计算答案answer。
若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值0。
10)主函数的功能如下:
在主函数中调用上面定义的五个函数,在屏幕上随机循环出一道100以内的四则运算题。
其中,定义一个整型数组proNum[4]和整型数组ansNum[4],这两个数组中分别存储在上述游戏循环过程中加、减、乘、除四种类型的题出现的次数,以及这四种类型的题被答对的次数。
在用户不想继续游戏退出时,在屏幕上显示本次游戏中的加、减、乘、除四种类型题出现的数量,以及每一种题被答对的次数。
主程序可参照附录B给出的参考流程图编写。
11)在实验报告中要求说明:
程序中那些地方使用了选择结构,那些地方使用了循环结构,那些地方使用了函数的嵌套调用。
12)在实验报告中,画出实现函数subLmt100(intnum1,intnum2)和divLmt100()功能的流程图。
实验程序详细流程图:
提示加法减法乘法除法出现的次数以及答对的次数!
另外,函数
intrandN1N2(intrN1,intrN2)
{
intnum;
do
{
num=rand()%rN2+1;
}while(num
returnnum;
}
中运用了循环结构,目的是使程序生成一个大于等于rN1小于rN2的数
而divLmt()中也运用了循环结构
do
{
num1=randLmt100();
num2=randLmt100();
}while(num1%num2!
=0);
目的是使系统生成的两个数中num1能够整除num2;
而程序中也有运用到嵌套结构,具体如下:
1:
在主函数中嵌入Tip_interface()使系统生成开始界面;
2:
在
intrandOper4()
{
intn;
n=randN1N2(1,4);
returnn;
}
函数中嵌入了n=randN1N2(intnum1,intnum2)生成1-4;
3:
在
intrandLmt100()
{
intn;
n=randN1N2(1,100);
returnn;
}
函数中嵌入n=randN1N2(intnum1,intnum2)使函数生成1-100;
函数subLmt100(intnum1,intnum2)功能的流程图。
函数divLmt100()功能的流程图。
实验结果:
游戏开始界面:
输入1:
随机出现了一道除法的等式;
输入正确结果1后,
出现了小伙子,不错哦!
祖国的未来需要你这样的人才!
并且自动进入下一次循环,
继续输入1
随机出现了一道除法计算题
输入错误的答案2,
提示诶啊,离正确答案只差一步!
继续努力,你可以的!
并且自动提示了正确的答案
游戏进入下一次循环,
当我输入0时,
游戏出现了加法减法乘法以及除法的出现的总次数以及答对的次数,由上可以知道,加法减法乘法出现了0次,而除法出现了2次,并且答案了一次,与我们操作的结果相符,因此,说明了程序的正确性!
对这个游戏,你有什么改进的想法!
相对于小朋友来说,这是一个简单的游戏,100以内的四则运算,符合小朋友们在这个时期所受的教育程度!
但是,很明显,这个程序在输入错误的答案后提示错误,并且马上提示了正确的答案,显然,这个不能提高小朋友的思考能力以及自己的判断能力!
而一个好的应用程序,应该是一个能提高人的思考能力以及判断能力的。
因此,我建议:
在输出错误的答案后,进行以下处理,先把这个输入值与正确答案进行比较,如果低了则提示输入结果较低,重新输入。
如果与正确答案相比高了则提示输入结果较高,重新输入。
知道输入正确的答案为止。
这样,小朋友们在输入错误的答案后就能判断自己是输入了错误的答案,并且能认真思考正确的答案,有利于小鹏友们的智力成长。
谈一下,为了更加吸引小朋友使用,应该如何设计该游戏中的交互界面?
这个程序是面对小朋友的,所以黑白边框肯定大大降低了他们对这个游戏的兴趣,最好,交互界面要使用彩色的卡通界面,这样能大大提高他们的兴趣,从而开始游戏。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 儿童 四则运算 游戏 实验 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)