




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE46C语言课程设计小学生心算CAI系统应用技术学院
课程设计报告课程名称C语言课程设计课题名称小学生心算CAI系统专业机械制造及其自动化班级0784学号200713090429姓名刘小来指导教师王颖 2008 年7月9日课程设计任务书课程名称C语言课程设计课题小学生心算CAI系统专业班级机械设计制造及其自动化学生姓名刘小来学号200713090429指导老师王颖审批王颖任务书下达日期:2008年6月20日任务完成日期:2008年7月9日目的全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。二、基本情况课程类别:必修课课程学分:1学分课程学时:1周课程对象:机械工程0781、0782、0783、0784.三、时间安排第一周星期四:课题讲解,查阅资料第二周星期一:总体设计,详细设计星期二:编程,上机调试、修改程序星期三:上机调试、完善程序星期四:上机调试、完善程序星期五:答辩星期六-星期天:撰写课程设计报告四、设计要求掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。设计正确,方案合理。界面友好,使用方便。程序精炼,结构清晰。设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。上机演示。按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。源程序及编译生成各文件均保存在软盘中;按本任务书的要求,按附录的要求编写《课程设计报告》(Word文档格式)。并用A4的复印纸打印并装订; 在2008年7月4日之前,请各班学习委员收齐课程设计报告和源程序软盘交王颖老师,联系电话:8883238。五、设计报告及书写内容要求课程设计任务完成后,每位同学必须独立书写一份课程设计报告,注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。课程设计报告的内容应包括以下五个部分:需求分析:包括设计题目、设计要求以及系统功能需求分析;概要设计:包括系统总计设计框架和系统功能模块图;详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;主要源程序代码:包括存储结构设计说明,以及完整源程序清单;调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、主错原因、解决方法及效果等);总结:包括课程设计过程中的学习体会与收获、对C语言和本次课程设计的认识以及自己的建议等内容。书写格式严格按所附要求书写。附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数在5000字以上(不含程序原代码)。六、考核方式指导老师负责验收程序的运行结果,并结合学生的工作态度、实际动手能力、创新精神和设计报告等进行综合考评,并按优秀、良好、中等、及格和不及格五个等级给出每位同学的课程设计成绩。具体卡和标准包含以下几个部分:平时出勤(占10%)系统需求分析、功能设计、数据结构设计及程序总体结构合理与否(占10%)程序能否完整、准确地运行,个人能否独立、熟练地调试程序(占40%)设计报告(占30%)独立完成情况(占10%)小学生心算CAI系统一、问题描述:本系统可以用来进行单独的加、减、乘、除心算练习,也可综合心算的速度与正确率进行测试。当用户在进行简单的四则运算时运算速度和正确率都较高时,可以进入四则混合运算,借此来进一步提高自己的心算能力。二、功能描述:用户可以通过两种方法来选择功能,既可以按相应的数字键进入相应的心算练习,也可以按光标键来选择功能项。计算机自动出题,用户进入每项练习时,屏幕上会显示用户所做的相应的题数,如果不想继续可以随时退出,只需按ESC键。设计的系统完全适合用户,比如除法时考虑到小学生的水平问题,只允许出现整除情况。用户输入的答案不对时,计算机会发出声音报警,用户输入的结果如果连续两次不对,计算机会自动给出正确答案,供用户参考。界面设计友好。三、算法提示:用简单的程序设计方法一定的窗口设计技巧简单的数据类型四、测试数据:计算机随机产生五、其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。课程设计报告规范需求分析1、程序的功能。2、输入输出的要求。概要设计1、程序由哪些模块组成以及一个模块之间的层次结构、模块的调用关系;每个模块的功能。2、课题的总体数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。详细设计1、采用C语言定义相关的数据类型。2、写出各模块的类C码算法。3、画出函数的调用关系图。调试分析以及设计体会1、测试数据:准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果。2、程序调试中遇到的问题以及解决问题的方法。3、课程设计过程经验教训、心得体会。使用说明用户使用手册:说明如何使用你编写的程序,详细列出每一步的操作步骤。附录1、参考书目2、源程序清单(带注释)前言《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂得多,也更接近实际。课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。学习委员将课程设计报告与磁盘收齐后交指导老师。目录TOC\o\h\z\u一需求分析: 9二概要设计: 9三详细设计 101程序模块组成: 102函数的功能: 11四调试分析及设计体会 111程序说明及所达到的要求: 112运算模块之间的算法: 113mian函数的调用示意图 134主模块和分子模块流程图 14六、程序调试 151题记; 152数据测试: 153程序和排错。 15七使用说明 17八心得体会 18十附件 21十、参考资料 38应用技术学院课程设计评分表 38课程设计正文一需求分析:1.总体上先分析这个系统的功能用途为测试小学生心算,以及适用的人群范围为小学生,进而将系统细分、划分为一些小的模块,从而将各个模块编写出相应的C语言程序代码构成一个完整的小学生心算CAI测试系统。2.所编程序应具备很好的可行性操作,适合小学生的计算能力。二概要设计:1、本系统可以用来进行加、减、乘、除及四则混合运算心算练习,并统计出正确率和计算速度,当用户输入答案连续两次不对时,计算机给出正确答案,供用户参考,从而提高小学生的心算能力。用户可以通过两种方法来选择功能,既可以按相应的数字键进入相应的心算练习,也可以按光标键来选择功能项。3、计算机自动出题,用户进入每项练习时,屏幕上会显示用户所做的相应的题数,如果不想继续可以随时退出,只需按ESC键。4、设计的系统完全适合用户,比如除法时考虑到小学生的水平问题,只允许出现整除情况。用户输入的答案不对时,计算机会发出声音报警,用户输入的结果如果连续两次不对,计算机会自动给出正确答案,供用户参考。界面设计友好。三详细设计1程序模块组成:主函数main()随机取整函数randomize():根据实参的赋值的函数可以产生出不同的整形值,进而的到不同的整形数相加。声音函数:1)提醒答题正确voidT():根据用户答题是否真确若正确来提示,则给出更为生动有趣的声音提示。2)提醒答题错误voidF():根据用户答题是否真确来提示,若错误则给出更为生动有趣的警告提示。菜单函数1)加法运算函数aid():函数从随机函数那获取二个数进行简单的加法运算,将所得的值赋值给一个整形变量。2)减法运算函数minus():函数从随机函数那获取二个数进行简单的减法运算,将所得的值赋值给一个整形变量。乘法运算函数multiply:函数从随机函数那获取二个数进行简单的加法运算,将所得的值赋值给一个整形变量。除法运算函数divide():函数从随机函数那获取二个数进行简单的除法运算,将所得的值赋值给一个整形变量。混合运算函数mix():函数从随机函数那获取二个数进行简单的四则混合运算,将所得的值赋值给一个整形变量。退出函数voidout():根据用户所选键来进入此函数。输入年级函数intgrade():根据用户的年级的大小来返还一个具体值,进而来决定运算的难易程度。输入题量函数intmany():根据用户所输入的题量大小来来得到一个具体的值,进而来决心算真确率。清屏函数clrscr():清除屏幕上所有的垃圾文件。答题正确率函数voidzql():根据用户所输入的题量、所有答对题目的数目、以及时间函数所返回的时间值,来计算用户的答题正确率。2函数的功能:随机取整函数:给出比较简单的数字,供用户进行运算。提醒答题正确:若用户答题正确,发出声音。提醒答题错误:若用户答题错误,发出不同的声音以示警报。加法运算函数:单独进行加法运算。减法运算函数:单独进行减法运算。乘法运算函数:单独进行乘法运算。除法运算函数:单独进行除法运算。混合运算函数:以固定混合运算公式进行运算。退出函数:退出菜单并显示图形及退出系统操作提示。输入年级函数:输入年级,决定出题的难度。输入题量函数:输入想做题目的数量,便于计算正确率和答题速度。清屏函数:清理屏幕。答题正确率函数:计算答题正确率,以便提示用户是否进入混合运算。四调试分析及设计体会1程序说明及所达到的要求:用户可以通过按相应的数字键进入相应的心算练习。计算机自动出题,用户进入每项练习时,屏幕上会显示用户所做的相应的题数,如果不想继续可以随时退出,只需按T键。设计的系统完全适合用户,除法考虑到小学生的水平问题,只出现整除情况。用户输入的答案不对时,计算机会发出声音,用户输入的结果如果连续两次不对,计算机会自动给出正确答案,供用户参考。2运算模块之间的算法:加法运算函数aid():函数从随机函数那获取二个数a,b进行简单的加法运算,将所得的值赋值给一个整形变量c。(b为年级)如程序:a=g*g*N+random(N);b=g*N+random(N);c=a+b;减法运算函数minus():函数从随机函数那获取二个数a,b进行简单的减法运算,将所得的值赋值给一个整形变量c。(b为年级)如程序:a=g*g*N+random(N);b=g*N+random(N);if(a<b){t=a;a=b;b=t;}c=a-b;乘法运算函数multiply:函数从随机函数那获取二个数a,b进行简单的加法运算,将所得的值赋值给一个整形变量c。(b为年级)如程序:a=g*N+random(N);b=N+random(N);c=a*b;除法运算函数divide():函数从随机函数那获取二个数a,b进行简单的除法运算,将所得的值赋值给一个整形变量c。(b为年级)如程序:a=N+random(N);b=g*N+random(N);c=a*b;d=c/a;混合运算函数:函数从随机函数那获取六个数a,b,c,d,g,j进行简单的加减乘除运算,将所得的值赋值给一个整形变量k进而k判断的值是否为零。如程序:a=N+random(N);b=g*N+random(N);c=g*N+random(N);d=N+random(N);g=g*g*n+random(N);j=c*d;k=a*b+j/d-g;3mian函数的调用示意图add()randomise()add()randomise()minus()intgrade()minus()intgrade()multiply()intmany()multiply()intmany()main()主菜单vomain()主菜单voidT()mix()mix()voivoidF()divide()divide()zql()zql()voivoidout()clrscr()开始4主模块和分子模块流程图开始主菜单主菜单选择项目选择项目选择乘法运算除法运算选择乘法运算除法运算减法运算加法运算混合运算退出系统结束界面输入年级输入题数清屏进入运算输入答案计算正确率和速度判断结束六、程序调试1题记;课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,计算机编程已经成为当今计算机应用中空前活跃的领域,在生活中可以说是无处不在。程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果程序不能正常运行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和改正。如果程序能够基本正确的运行,可考虑增加若干基本的容错功能;另外尽量对现有算法给出改进方案,并比较不同算法之间的优缺点。2数据测试:首先准备输入某一运算级代码、如输入‘1‘则会在屏幕上显示出“欢迎进入加法运算”(若输入其他超出范围的数则系统又会回到主菜单从心开始输入。)然后屏幕会提示你输入你的年级数。进而系统会根据你的年级数用系统随机函数决定你的难易程度。3程序和排错。为了便于查错、阅读,在设计该程序的时候我采用了结构化程序方法编辑,添加了尽可能多的注释,这为我后来的调试过程带来了很多方便。在上机调试之前我对所编的程序作了纸面上的检查,先消灭一些低级错误,所谓的低级错误是指由于人为的输入不仔细等造成的,如{}没有搭配完整,漏写;号,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的。而且还可以减少机器时间。往往一连串的错误是由于漏写或写错一个字符引起的。经过仔细检查之后进行上机调试。进行编译,如果在编译和连接过程中发现错误,屏幕上显示了出错信息,根据提示找到出错的位置,加以改正,再进行编译……如此反复,直到顺利通过编译和连接为止。在本次实习过程中碰到的编译、连接的错误主要有:1缺少变量定义,定义位置不正确:由于该程序相对来讲稍有些长,前后有些变量不容易联系起来,但是在错误信息的提示下一般还是很容易找到。不过需要注意的是在定义的时候有些函数使用同样的变量名而表示不同的作用,因而使用要很小心,定义及定义的位置要特别留意。为减少这样的错误我后来还是用不同的变量名来表示,结果引起的那些错误解决了。语法错误:大多的语法错误在通过书本参考下能够修改。主要是平时看书不仔细、不太注意而产生的。如没有注意具体数据使用是有一定的范围限定;过分重视分号的重要性而在for、if、while语句中画蛇添足加分号;。在使用文件的时候忘记将文件先打开,对打开的方式与使用的情况不太注意而造成不匹配;还有漏掉形参的定义是值不能传递等等。这些语法错误有信息框的提示一般是能够排除的。在编写程序调试的过程中,我们得到了老师的精心指导以及孜孜不倦的教诲,在老师的指导下,我们的能力得到了提高,同时培养了科学、严谨的工作作风和学习习惯,这次课程设计终于顺利完成了!在设计中遇到了很多编程调试问题,最后在老师的辛勤指导下,终于迎刃而解回顾起此次课程设计,至今我仍感慨颇多。如;有时遇到了一个错误怎么找也找不到原因所在,找了老半天结果却是一个函数放错了地方所致,有时一个功能不知道怎么实现找这个、找那个。有所编到最后一运行却告诉我错误,那真的很烦人。以前上课都是学一些最基本的东西,觉得很枯燥,而现在却可以将以前学的东西编出有实际价值的东西,这样自己非常的投入,有时候一编就是二三个小时坐在电脑前面,有时候连吃饭都忘了。但现在回过头来看,还是挺有成就感的。3在注释的时候不能同我们平常做笔记一样随心所欲地爱写哪就写哪,这造成我最后本来已经编译成功的程序一下子又多了很多错误。,就是跟以上的情况一样当我在编译的同时又很多的中断包含了语言的语句最后导致出现很多的错误刚一开始真的是不知道才哪里出错了也不知道电脑所提示的到底是哪里出错了但我回想起老师所说的一些话:程序的注释可以导致函数出现很多错误。故我想应该是在函数的注释过程当中可能使用了一些包含C语言的语句以及是我的表达不正确或是多了字符等。这又让我学到了一点知识。七使用说明1程序操作步骤:1)进入程序,运行;2)选择要心算的运算级(根据主菜单上的提示输入);3)输入你所在的年级进而运用随机函数来确定你题目的难易程度;4)再次输入你所要答题的数目,据此运用时间函数来计算你的心算速度;八心得体会在学习C语言之中,我了解了一些运算符表达式,C语言以及简单的程序。当老师第一次告诉我们,C语言课程设计是一个具有界面的操作系统时,我就纳闷,想要如何才能设计一个界面呢?先前听学长他们说C语言非常难学,但当你搞懂以后就会觉得很容易。在这学期,就初步学完了C语言这门课程,在上第一次课时就接到了搞C语言课程设计的通知。在我真正开始设计的时候,虽然有一点准备,却还真的不知道从哪个地方开始下手。结果,当我们刚刚开始上机的时候,我还真不知道该干写什么,不但闲在那里玩。回去以后,我想了很久,打从心里觉得这样子不行,若这样下去我怎么得了啊!不但浪费了自己的时间,倘若过不了课程设计,更加是浪费了父母辛辛苦苦挣来供我读书的血汗钱。我就必须振作起来,重新复习了一遍书上的理论基础知识,发现自已有许多知识没有学好,或者没有掌握.通过本次的C语言课程设计,我认为要学好C语言程序这门课程,不仅要认真阅读课本知识,熟练掌握函数与数组的应用及其的作用,更重要的是要通过上机实践来加强和巩固所学到的知识。经过两个星期的课程设计,使我对C语言有了更进一步的认识和了解,要想学好它要熟练掌握基础知识,次外要通过不断的上机操作从而更好地学习它,和应用它。同时在设计的过程中发现了自己的不足之处:首先,因为以前没有接触过,对它感到很陌生,不容易了解,在学习过程中时不时的把概念混淆;其次,对C语言的一些标准库函数不太了解,分不清这些函数的作用与功能,还有对函数调用的正确使用不够熟悉,还有对C语言中经常出现的错误也不了解。通过实践,我在这几个方面的认识有所提高.总之,不管是学习C语言,还是其它的语言,以及其它的计算机方面的知识,理论知识是学习的基石,最重要的是在于实践,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正检验自己的掌握程度,从而提高自己的实际动手能力和独立思考的能力。通过本次的课程设计,使我受益匪浅.课程设计是培养我们综合运用所学知识、发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程.从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。在设计的过程中遇到的问题,可以说是困难重重,这毕竟是第一次涉及到这方面的知识,难免会遇到各种各样的问题和困难,但在老师和同学的指导和帮助下,克服了困难,比较好地完成了此次的程序设计。在此,真心地感谢老师及同学的帮助!与其临渊羡鱼,不如退而结网。这次课程设计给我最大的感触就是如果自己有了兴趣,就要动手去做,困难在你的勇气和毅力下是抬不起头的。从做这个系统开始无论遇到什么困难,我都没有一丝放弃的念头。出于对知识的渴望,出于对一切未知知识的求知欲,以及对新鲜知识的探索欲和好奇心,使我完成了这次C语言课程设计,不过这只是我学习路途中的一个驿站。古语曰:“学无止境!”总的来说,程序设计是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。在实践过程中,不仅掌握了基础的理论知识,而且学到了程序设计的方法,同时还进行了程序设计的基本训练,为将来进一步学习打下了基础通过一周的C语言课程设计,我一点点的将课本的知识运用起来,制作了自己的小程序,感觉自己对C语言有了更深入的了解。在实践中,自己编程常会有很多地方不知道怎么做,于是经常用翻阅一些资料来巩固一些不太熟悉的东西。写出来的程序也会有很多错误,在寻找错误中总结出了一些克服缺点的方法。深刻体会到程序设计中最花时间的一部分不是编写源程序,而是调试过程。只有经过调试程序,我们才能掌握正确的语法知识及把问题的解决方法用程序语言来表达。在设计程序的同时也增长了翻阅有关文献的能力,加强了实践能力及自学能力,培养了分析问题、编程和动手能力,掌握了程序设计基本技能。但也遇到了不少的困难,有时遇到了一个错误怎么找也找不到原因所在,找了老半天结果却是一个字符出了问题,有时一个功能不知道怎么实现找这个、找那个。有时候所编程序到最后一运行却告诉我错误,那真的很烦人。以前上课都是学一些最基本的东西,觉得很枯燥不怎么想听,而现在要将以前学的东西灵活运用起来,这对自己来说真的非常有挑战性。有时候一编就是几个小时坐在电脑前面,有时候连吃饭都是在电脑面前。但看着自己写的程序,还是挺有成就感的。更重要的是,这次课程设计虽然花了我不少时间,但正是这些时间,让我见识到了C语言的重要性。C语言是一项细致深入的工作,不仅要有严谨的思路,还要在实践中有耐心,要细心。我的程序是在自己知识范围内完成的,所以界面清晰简单,可能不是很好看,但绝对实用!,当我自己编写的程序第一次完整的运行的时候我感到无比的兴奋。这次程序设计主要用了函数的调用,if、else选择语句,switch语句,时间函数,标准输入输出、随机取整函数等基本知识点,结合课本知识加上自己的应用最终取得圆满成功。C语言是一项细致深入的工作,不仅要有严谨的思路,还要在实践中有耐心,要细心。以下是课程设计中的错误总结和分析:1.输入输出类型要一致。2.“;”是C语言的语句结束语,不可省略。3.变量是程序中不可缺少的一部分,要谨记先定义后使用。4形式参数和实际参数必须个数相等,类型相同。5.调用函数必先声明。6变量是程序中不可缺少的一部分,要谨记先定义后使用。7.输入输出类型要一致。8.{}的互相匹配。9.不过课程设计的本身并多大的教育意义,反而是过程中碰到的难题,让我深深体会到做与说的区别.最后,谢谢老师在C语言学习及课程设计中对我的指导,在此请接受我最忠心的感谢!十附件1)源程序(含注释)#include<graphics.h>/*颜色库函数*/#include<time.h>/*时间函数*/#include<conio.h>/*字符屏幕控制库函数*/#include<stdlib.h>/*随机库函数,退出函数*/#include<stdio.h>/*输入,输出库函数*/#include<dos.h>/*声音库函数*/#include<math.h>#defineN5Y();add();/*声明函数*/minus();multiply();divide();mix();voidzql(intrightnum,intall);voidout();intgrade();intmany();/*次数函数*/voidT();voidF();main(){chari;Y();clrscr();printf("\n");printf("|==============================================|\n");printf("|┏┓|\n");printf("|welcometostudent'sCAIsystem!|\n");printf("|┗┛|\n");printf("|==============================================|\n");printf("||\n");printf("|┏《〓》┓|\n");printf("||\n");printf("|1.【+】add2.【-】multiply|\n");printf("||\n");printf("||\n");printf("|3.【×】minus4.【÷】divide|\n");printf("||\n");printf("||\n");printf("|5.【±】mix6.【○】out|\n");printf("|┗┛|\n");printf("|==============================================|\n");printf("\n");printf("wheretheiswill,thereisway!\n");printf("\n");printf("\npleasechoice:");scanf("%c",&i);clrscr();switch(i){case49:printf("********************************************************\n");printf("************☆welcometoadd☆************\n");printf("*********************************************************\n");add();break;case50:printf("********************************************************\n");printf("************☆welcometomultiply☆************\n");printf("********************************************************\n");minus();break;case51:printf("*********************************************************\n");printf("************☆welcometominus☆************\n");printf("*********************************************************\n");multiply();break;case52:printf("*********************************************************\n");printf("************☆welcometodivide☆************\n");printf("*********************************************************\n");divide();break;case53:printf("**********************************************************\n");printf("************☆welcometomix☆************\n");printf("**********************************************************\n");mix();break;case54:out();break;default:main();}}add()/*加法练习*/{inta,b,c,d,e,f,g,i,n,R=0;doubleo;floatp,u=0;charx;g=grade();B1:n=many();for(i=1;i<=n;i++){randomize();/*调用随机取整函数*/a=g*g*N+random(N);b=g*N+random(N);c=a+b;printf("\npleaseinputtheresult('t'out):%d+%d=",a,b);o=clock()/CLK_TCK;scanf("%d",&d);scanf("%c",&x);if(x==116)main();if(c==d){T();printf("youareclever,comeon!\n");R++;}else{printf("oh,youareerror,pleaseagain!\n");F();printf("pleaseinputtheresult('t'out):%d+%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x==116)main();if(c==d){printf("youareclever,comeon!\n");T();R++;}else{F();printf("oh,youareerroragaintheresultis:%d.\n",c);}}o=clock()/CLK_TCK-o;u=u+o;}printf("\nall%d,therightis%d.\n",n,R);zql(R,n);printf("thepeaceis:%4.2f.\n",u/R);p=100*R/n;if(p>=60&&u<=R*10){R=0;u=0;printf("areyougotothemix?yespress'1',nopress'2'.theotherreturnthemain:\n");scanf("%d",&f);if(f==1)returnmix();elseif(f==2)gotoB1;elsemain();}else{R=0;u=0;printf("areyoucontinue?\nyes,press'1',orreturnthemain:");scanf("%d",&e);if(e==1)gotoB1;elsemain();}}minus()/*减法练习*/{inta,b,c,d,e,f,g,h,i,n,t,R=0;floatp,u=0;doubleo;charx;g=grade();B2:n=many();for(i=1;i<=n;i++){randomize();a=g*g*N+random(N);b=g*N+random(N);if(a<b){t=a;a=b;b=t;}c=a-b;printf("\npleaseinputtheresult('t'out):%d-%d=",a,b);o=clock()/CLK_TCK;scanf("%d",&d);scanf("%c",&x);if(x==116)main();if(c==d){T();printf("youareclever,comeon!\n");R++;}else{printf("oh,youareerror,pleaseagain!.\n");F();printf("pleaseinputtheresult('t'out):%d-%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x==116)main();if(c==d){printf("youareclever,comeon!\n");T();R++;}else{F();printf("oh,youareerroragaintheresultis:%d\n",c);}}o=clock()/CLK_TCK-o;u=u+o;}printf("\nall%d,therightis.\n",n,R);zql(R,n);printf("thepeace:%4.2f.\n",u/R);p=100*R/n;if(p>=60&&u<=R*10){R=0;u=0;printf("areyougotothemix?yespress'1',nopress'2'.theotherreturnthemain:\n");scanf("%d",&f);if(f==1)returnmix();elseif(f==2)gotoB2;elsemain();}else{R=0;u=0;printf("areyoucontinue?\nyes,press'1',orreturnthemain:");scanf("%d",&e);if(e==1)gotoB2;elsemain();}}multiply()/*乘法练习*/{inta,b,c,d,e,f,g,i,n,R=0;floatp,u=0;charx;doubleo;g=grade();B3:n=many();for(i=1;i<=n;i++){randomize();a=g*N+random(N);b=N+random(N);c=a*b;printf("\npleaseinputtheresult('t'out):%d*%d=",a,b);o=clock()/CLK_TCK;scanf("%d",&d);scanf("%c",&x);if(x==116)main();if(c==d){T();printf("youareclever,comeon!\n");R++;}else{printf("oh,youareerror,pleaseagain!.\n");F();printf("pleaseinputtheresult('t'out):%d*%d=",a,b);scanf("%d",&d);scanf("%c",&x);if(x==116)main();if(c==d){printf("youareclever,comeon!\n");T();R++;}else{F();printf("oh,youareerroragaintheresultis:%d\n",c);}}o=clock()/CLK_TCK-o;u=u+o;}printf("\nall%d,therightis%d\n",n,R);zql(R,n);printf("thepeace:%4.2f\n",u/R);p=100*R/n;if(p>=60&&u<=R*10){R=0;u=0;printf("areyougotothemix?yespress'1',nopress'2'.otherreturnthemain:\n");scanf("%d",&f);if(f==1)returnmix();elseif(f==2)gotoB3;elsemain();}else{R=0;u=0;printf("areyoucontinue?\nyes,press'1',orreturnthemain:");scanf("%d",&e);if(e==1)gotoB3;elsemain();}}divide()/*除法练习*/{inta,b,c,d,e,f,g,i,n,R=0;floatp,u=0;charx;doubleo;g=grade();B4:n=many();for(i=1;i<=n;i++){randomize();a=N+random(N);b=g*N+random(N);c=a*b;d=c/a;printf("\npleaseinputtheresult('t'out):%d/%d=",c,a);o=clock()/CLK_TCK;scanf("%d",&d);scanf("%c",&x);if(x==116)main();if(d==b){T();printf("youareclever,comeon!\n");R++;}else{printf("oh,youareerror,pleaseagain!.\n");F();printf("pleaseinputtheresult('t'out):%d/%d=",c,a);scanf("%d",&d);scanf("%c",&x);if(x==116)main();if(d==b){printf("youareclever,comeon!\n");T();R++;}else{F();printf("oh,youareerroragaintheresultis:%d\n",b);}}o=clock()/CLK_TCK-o;u=u+o;}printf("\nall%d,therightis%d.\n",n,R);zql(R,n);printf("thepeaceis:%4.2f\n",u/R);p=100*R/n;if(p>=60&&u<=R*10){R=0;u=0;printf("\nareyougotothemix?yespress'1',nopress'2'.theotherreturnthemain0;");scanf("%d",&f);if(f==1)returnmix();elseif(f==2)gotoB4;elsemain();}else{R=0;u=0;printf("areyoucontinue?\nyes,press'1',orreturnthemain:");scanf("%d",&e);if(e==1)gotoB4;elsemain();}}mix()/*混合运算*/{inta,b,c,d,e,f,g,h,i,j,k,l,n,R=0;floatp,u=0;doubleo;charx;g=grade();B5:n=many();for(i=1;i<=n;i++){randomize();a=N+random(N);b=g*N+random(N);c=g*N+random(N);d=N+random(N);g=g*g*n+random(N);j=c*d;k=a*b+j/d-g;printf("\npleaseinputtheresult('t'out):%d*%d+%d/%d-%d=",a,b,j,d,g);o=clock()/CLK_TCK;scanf("%d",&l);scanf("%c",&x);if(x==116)main();if(k==l){T();printf("youareclever,comeon!\\n");R++;}else{printf("oh,youareerror,pleaseagain!\n");F();printf("pleaseinputtheresult('t'out):%d*%d+%d/%d-%d=",a,b,j,d,g);scanf("%d",&l);scanf("%c",&x);if(x==116)main();if(k==l){printf("youareclever,comeon!\n");T();R++;}else{F();printf("oh,youareerroragaintheresultis%d\n",k);}}o=clock()/CLK_TCK-o;u=u+o;}printf("\nall%d,therightis%d.\n",n,R);zql(R,n);printf("thepeaceis:%4.2f.\n",u/R);p=100*R/n;if(p>=60&&u<=R*10){R=0;u=0;printf("areyougotothemix?yespress'1',nopress'2'.theotherreturnthemain0;\n");scanf("%d",&f);if(f==1)returnmix();elseif(f==2)gotoB5;elsemain();}else{R=0;u=0;printf("areyoucontinue?\nyes,press'1',orreturnthemain:");scanf("%d",&e);if(e==1)gotoB5;elsemain();}}intgrade(){intg;K:printf("pleaseinputyougrade:");scanf("%d",&g);if(g<1||g>6){printf("inputerror,again:");gotoK;}return(g);}intmany(){intm;printf("\npleasetheno.:");scanf("%d",&m);return(m);}voidzql(intrightnum,intall){printf("rightnum:%d%%.\n",rightnum*100/all);return;}voidcolor(){textbackground(2);textcolor(1);}voidT(){sound(8000);delay(10000);sound(0);delay(5000);sound(800);delay(10000);sound(0);delay(5000);sound(800);delay(10000);sound(0);delay(5000);sound(8000);delay(10000);nosound();}voidF(){sound(1800);delay(5000);nosound();}voidout(){clrscr();printf("\n");printf("
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 3月是故乡明教学设计-2023-2024学年五年级下册语文统编版
- 5《铺满金色巴掌的水泥道》(教学设计)-2024-2025学年语文三年级上册统编版
- 2023四年级数学上册 1 大数的认识第12课时 计算工具的认识配套教学设计 新人教版
- 《口语交际:说新闻》教学设计-2023-2024学年统编版语文四年级下册
- 糖尿病肾病饮食健康教育
- 肝恶性肿瘤的护理
- 软件项目管理经验分享
- 一年级下册道德与法治教学设计(苏教版)
- 九年级语文下册 第三单元《课外古诗词四首》教学设计 新人教版
- 6 我家的好邻居 第二课时 教学设计-2023-2024学年道德与法治三年级下册统编版
- 四年级语文下册《口语交际说新闻》同步练习题
- 如何提高基层干部群众工作能力课件
- 感染相关性血液学改变课件
- 呼吸困难 教学课件
- 环网柜基础知识培训课程完整版课件
- 广大灯饰制造公司-灯具生产作业指导书
- 新人教版八年级音乐下册《英雄凯旋歌》课件
- T∕TAF 090-2021 移动终端适老化技术要求
- 施工质量保证措施方案(市政管线、排水、道路等)
- 类文阅读-11 宇宙生命之谜
- 建设项目对海洋生物资源影响评价技术规程
评论
0/150
提交评论