您好,欢迎访问三七文档
目录一、系统开发的背景................................................................................................................1二、系统分析与设计................................................................................................................1(一)系统功能要求.............................................................................................................1(二)系统流程图设计.........................................................................................................2三、模板设计:........................................................................................................................3(一)提示进入小学生CAI系统:.....................................................................................4(二)进入选择项目:.........................................................................................................5(三)开始答题并给出相应得分:.....................................................................................5四、系统测试............................................................................................................................8(一)测试VOIDMENU()函数:..............................................................................................8(二)测试SWITCH语句:......................................................................................................9五、总结....................................................................................................................................9六、附件..................................................................................................................................10源程序代码:..........................................................................................................................101学生综合测评系统一、系统开发的背景当今社会,电脑已经普及到许多地方,在许多家庭都已经有了电脑,在小学生而言,一个好的小学生CAI题系统可以给小学生们带来方便,为了让小学生们能更好的学好数学这门课程,因此我们可以开发一个小学生心算能力CAI系统,用来训练小学生的心算能力。二、系统分析与设计(一)系统功能要求该系统为小学数学辅助教学系统,利用该系统可以锻炼小学生的数学运算能力。它包括+、-、×、÷四则运算。1.系统设置可以选择包含的运算符(+、-、×、÷)、数值的位数(1位,2位、3位)和运算符的个数。2.系统自动随机地出10道题。3.每出一题,小学生输入答案后,第一次答对,系统给出信息“完全正确,你非常聪明!加10分”,总分+10分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第2次答对了,系统给出信息“答对了,你很棒!加8分”,总分+8分,显示下一题;若答错了,系统给出信息“你答错了,继续努力!”,继续显示该题目,若第3次答对了,系统给出信息“答对了,祝贺你!加6分”,总分+6分,显示下一题;若答错了,系统给出信息“非常遗憾你又答错了,请继续做下一题。2本题的正确答案为……”,,继续显示下一题;4.当答完所有的题给出总分。(二)系统流程图设计通过对系统功能的分析,小学生CAI题系统流程图如图下所示:图1小学生CAI题系统功能图开始定义整型变量利用循环嵌套,ifelse语句输入0或1,实现相应的操作输入是否为0?进入系统功能,开始实现相应的答题功能退出系统结束3三、模板设计:通过上图的功能分析,把整个系统划分为几个模块:1、小学生CAI系统页面;2、进入选择项目,选择1则进行开始答题,选择0则直接退出系统;3、进入答题系统,系统开始出题;4、答完10道题,系统给出相应的得分;小学生CAI系统选择项目开始答题进入答题系统判断对错给出相应得分结束45、答题完毕,结束。四、系统的设计与实现:(一)提示进入小学生CAI系统:该模块的具体代码如下所示:{printf(********************************************************************************);printf(^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_);printf();printf(选择项目);printf();printf(1.出题);printf();printf(0.退出);printf();printf(^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_^_);printf(********************************************************************************);}5(二)进入选择项目:该模块的具体代码如下所示:intchoice;while(choice!=0){printf(请选择\n);scanf(%d,&choice);if(choice==1)fun();}printf(\n);}(三)开始答题并给出相应得分:该模块的具体代码如下所示:{intcount=0,a,sum=0,answer,i,m,n,c,s,e,e0;printf(提示信息!\n);printf(\n);6printf(提示:如果有不能被整除的,请按空格后写出余数!\n);printf(\n);charc0;for(i=0;i10;i++)///i控制题的数量{printf(第%d题:\n,i+1);//输出题号printf(\n);printf(%d,m=rand()%100);//产生随机的数字c=rand()%4;//数字控制随机性//控制出的题的类型//包括加减乘除switch(c){case0:c0='+';break;case1:c0='-';break;case2:c0='*';break;case3:c0='/';break;}printf(%c,c0);printf(%d=,n=rand()%10);//产生随机数switch(c0){case'+':s=m+n;break;case'-':s=m-n;break;case'*':s=m*n;break;case'/':s=m/n;e=m%n;break;}error:scanf(%d,&a);if(c0=='/'){7scanf(%d,&e0);if(a==s&&e0==e){if(count==0){sum=sum+10;printf(完全正确,你非常聪明!加10分\n);}if(count==1){sum=sum+8;printf(答对了,你很棒!加8分\n);}if(count==2){sum=sum+6;printf(答对了,祝贺你!加6分\n);}}else{count++;if(count==1||count==2){printf(你答错了,继续努力!\n);gotoerror;}//答错,返回,重新答此题!if(count==3){printf(非常遗憾你又答错了,请继续做下一题。本题的正确答案为得%d余%d\n,s,e);}}}elseif(a==s){if(count==0){sum=sum+10;printf(完全正确,你非常聪明!加10分\n);}if(count==1)8{sum=sum+8;printf(答对了,你很棒!加8分\n);}if(count==2){sum=sum+6;printf(答对了,祝贺你!加6分\n);}}else{count++;if(count==1||count==2){printf(你答错了,继续努力!\n);gotoerror;}if(count==3){printf(非常遗憾你又答错了,请继续做下一题。本题的正确答案为:%d\n,s);}}}四、系统测试(一)测试voidmenu()函数:利用menu函数,对选择项目进行输出测试:图1测试输出选择项目9(二)测试switch语句:用switch语句进行对所打出的结果的判断,在答出不同的答案,和答对一道题所用的次数进行给分:五、总结系统完成了为小学生教学辅助的功能,利用该系统可以锻炼小学生的数学运算能力,它包括+、-、×、÷四则运算,并且为每道题设置了分数,在答题过程中,根据同一道题答对所用的次数,又设置给了不同的分数,在最后,该系统把所有所答对所得的分数加起来,记一总分统计出来。虽然该系统完成了基本的CAI题功能,但系统还是有许多不足之处,比如在答题完成以后,前几道题要必须答对,这样才能在最后一题可以随意答题,不论是答几次,都不会对总的分数造成影响,如果在前几题就有10错误出现,那么在错误处所得的分数将作为以后答对的分数,在出题时没有设置选择功能,所以在这些方面还有待加强设计。通过这一周多的程序思考,编写和运行,感觉写出这样一个系统,没有大量的查阅和学习,想写出这样功能的系统,真的很不容易。在我编写这个程序时,我查阅了许多这方面的资料,起初,在自己做起来还是非常有难度,通过和同学的探讨和学习,最后终于完成了程序的编写。通过本次的编写和运行,我更加了解了许多有关CAI题知识的运用,掌握各种循环的嵌套和函数的调用,巩固和加深了对数据结构的理解,提高综合运用本课程所学知识的能力,培养了我选用参考书,查阅手册及文献资料的能力,培养独立思考,深入研究,分析问题、解决问题的能力。六、附件源程序代码:#includestdio.h#includestdlib.h//随机函数fun(){intcount=0,a,sum=0,answer,i,m,n,c,s,e,e0;printf(提示
本文标题:小学生CAI系统
链接地址:https://www.777doc.com/doc-4310473 .html