儿童四则运算游戏-实验报告.docx_第1页
儿童四则运算游戏-实验报告.docx_第2页
儿童四则运算游戏-实验报告.docx_第3页
儿童四则运算游戏-实验报告.docx_第4页
儿童四则运算游戏-实验报告.docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深 圳 大 学 实 验 报 告课程名称: C程序设计 实验名称: 综合实验3:儿童四则运算游戏 学 院: 信息工程学院 专 业: 未分 指导教师: 裴继红 报 告 人: 林瑶珠 报告人学号: 2014130017 班级: 信工1班 实 验 时 间: 2015年 5月 9 日 5 月19日报告提交时间: 2015年 5 月 19 日 教务处制一、实验目的与要求:实验目的:(1) 学习和掌握 C 语言函数的定义与调用;(2) 进一步掌握随机数、选择结构、循环控制、交互式输入输出等程序设计方法;(3) 进一步掌握 C 语言中的数组定义和引用方法;(4) 学习和掌握根据流程图进行模块化程序设计的思想。(5) 提交正式的电子版实验报告到 Blackboard。实验要求:二、实验内容:1) 在 VC+中建立一个工程;2) 在程序开始的注释行中写上你自己的信息;3) 定义一个函数 randN1N2(int rN1, int rN2 )。该函数有两个整型的输入参数rN1 和 rN2,其中,rN1 = rN2。该函数的功能是生成rN1 到 rN2 之间均匀分布的随机整数,该函数的返回值类型是整型。每调用一次该函数,函数返回一个rN1 至 rN2 之间的随机整数(随机数的生成方法可参考Lab Assessment 3 )。4) 定义一个函数 randOper4( )。该函数没有输入参数,函数的返回类型是整型。该函数内部调用上述randN1N2( ) 函数。每调用一次函数randOper4( ),返回一个1 至4 之间的随机整数。5) 定义一个函数 randLmt100( )。该函数没有输入参数,函数的返回类型是整型。该函数内部调用上述randN1N2( ) 函数。每调用一次函数randLmt100( ),返回一个0-99 之间的随机整数。6) 定义一个函数 addLmt100(int num1, int num2)。该函数有两个整型的输入参数num1 和 num2;函数返回值类型为整型。该函数的功能是:在屏幕上列出一个算式num1 + num2 =,然后接受一个键盘输入的计算答案answer。若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值0。7) 定义一个函数 subLmt100(int num1, int num2)。该函数有两个整型输入参数num1 和 num2;函数返回值类型为整型。该函数的功能是:在屏幕上列出一个算式 numM1 - numM2 = ,其中:numM1 是num1 和 num2 中较大的一个数,numM2 是num1 和 num2 中较小的一个数;然后接受一个键盘输入的计算答案answer。若结果正确,则屏幕输出一句赞扬的语句,然后返回函数值1;若结果错误,则屏幕输出一句鼓励的语句,并输出正确答案,然后返回函数值0。8) 定义一个函数 mulLmt100(int num1, int num2)。该函数有两个整型输入参数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 以内的四则运算题。其中,定义一个整型数组proNum4 和整型数组ansNum4,这两个数组中分别存储在上述游戏循环过程中加、减、乘、除四种类型的题出现的次数,以及这四种类型的题被答对的次数。在用户不想继续游戏退出时,在屏幕上显示本次游戏中的加、减、乘、除四种类型题出现的数量,以及每一种题被答对的次数。主程序可参照附录B 给出的参考流程图编写。11) 在实验报告中要求说明:程序中那些地方使用了选择结构,那些地方使用了循环结构,那些地方使用了函数的嵌套调用。12) 在实验报告中,画出实现函数 subLmt100(int num1, int num2) 和divLmt100( )功能的流程图。此处运用了循环结构,按进行循环。按0退出循环实验程序详细流程图:游戏界面这两处运用了选择结构0:退出游戏1:开始游戏此处运用了选择结构n=randOper4();n=2n=3n=4n=1if (divLmt100()进入除法运算的函数并且判断答案是否正确ansNum3+;如果答案正确的话除法答对次数加1;错误的话跳过此语句proNum3+;不管答对或者答错,除法的总答题次数加1;if (mulLmt100(num1, num2)进入乘法运算的函数并且判断答案是否正确ansNum2+;如果答案正确的话乘法答对次数加1;错误的话跳过此语句proNum2+;不管答对或者答错,乘法的总答题次数加1;if (subLmt100(num1, num2)进入加法运算的函数并且判断答案是否正确ansNum1+;如果答案正确的话减法答对次数加1;错误的话跳过此语句proNum1+;不管答对或者答错,减法的总答题次数加1;if (addLmt100(num1, num2)进人加法运算的函数并且判断答案是否正确ansNum0+;如果答案正确的话加法答对次数加1;错误的话跳过此语句proNum0+;不管答对或者答错,加法的总答题次数加1; 提示加法减法乘法除法出现的次数以及答对的次数! 另外,函数int randN1N2(int rN1, int rN2)int num;do num=rand()%rN2+1;while (numrN2);return num;中运用了循环结构,目的是使程序生成一个大于等于rN1小于rN2的数而divLmt ()中也运用了循环结构do num1=randLmt100(); num2=randLmt100();while (num1%num2!=0);目的是使系统生成的两个数中num1能够整除num2;而程序中也有运用到嵌套结构,具体如下:1:在主函数中嵌入Tip_interface()使系统生成开始界面;2:在int randOper4()int n;n=randN1N2(1, 4);return n;函数中嵌入了n=randN1N2(int num1, int num2)生成1-4;3:在int randLmt100()int n;n=randN1N2(1, 100);return n;函数中嵌入n=randN1N2(int num1, int num2)使函数生成1-100;函数 subLmt100(int num1, int num2)功能的流程图。num=rand()%rN2+1;num=rN1 & num=rN2numrN2Return num;函数divLmt100( )功能的流程图。进入函数num1=randLmt100();num2=randLmt100();Nnum1=num2?printf (%d%d=, num1, num2);scanf (%d, &val);Val!=num1/num2;输出诶啊,离正确答案只差一步!继续努力,你可以的!输出正确答案Val=num1/num2;输出小伙子,不错哦!祖国的未来需要你这样的人才!Return 0;Return 1;实验结果:游戏开始界面:输入1:随机出现了一道除法的等式;输入正确结果1后,出现了小伙子,不错哦!祖国的未来需要你这样的人才!并且自动进入下一次循环,继续输入1随机出现了一道除法计算题输入错误的答案2,提示诶啊,离正确答案只差一步!继续努力,你可以的!并且自动提示了正确的答案!游戏进入下一次循环,当我输入0时, 游戏出现了加法减法乘法以及除法的出现的总次数以及答对的次数,由上可以知道,加法减法乘法出现了0次,而除法出现了2次,并且答案了一次,与我们操作的结果相符,因此,说明了程序的正确性!对这个游戏,你有什么改进的想法!相对于小朋友来说,这是一个简单的游戏,100以内的四则运算,符合小朋友们在这个时期所受的教育程度!但是,很明显,这个程序在输入错误的答案后提示错误,并且马上提示了正确的答案,显然,这个不能提高小朋友的思考能力以及自己的判断能力!而一个好的应用程序,应该是一个能提高人的思考能力以及判断能力的。因此,我建议:在输出错误的答案后,进行以下处理,先把这个输入值与正确答案进行比较,如果低了则提示输入结果较低,重新输入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论