c语言小学生测验

上传人:小** 文档编号:90940647 上传时间:2019-06-20 格式:DOC 页数:7 大小:147.76KB
返回 下载 相关 举报
c语言小学生测验_第1页
第1页 / 共7页
c语言小学生测验_第2页
第2页 / 共7页
c语言小学生测验_第3页
第3页 / 共7页
c语言小学生测验_第4页
第4页 / 共7页
c语言小学生测验_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《c语言小学生测验》由会员分享,可在线阅读,更多相关《c语言小学生测验(7页珍藏版)》请在金锄头文库上搜索。

1、1 设计目的(1)进一步巩固和复习C程序设计的基础知识;(2)培养学生结构化程序、模块化程序设计的方法和能力;(3)了解软件的编制过程及各环节的具体内容;(4)提高学生程序调试技巧、软件设计能力和代码规范化等素质;提高学生分析问题、解决问题以及实际运用能力。2 任务概述面向小学12年级学生,随机选择两个整数和加减法形成算式要求学生解答。功能要求:(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;(2)确保算式没有超出12年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的;(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重

2、新输入,如果三次机会结束则输出正确答案;(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”3 模块划分小学生测验系统包括系统出题,判断题目是否合规,学生答题,判断正误计算得分,输出等级退出系统几个功能,功能模块图如图3.1所示。 小学生测验判断题目是否合规系统出题学生答题输出等级退出系统判断正误计算得分 图3.1 小学生测验系统功能模块图4 主要函数说明及其N-S(1)小学生测验系统

3、main()函数的N-S图,如图4.1所示 定义变量i=1i=10a=rand()%51 b=rand()%51 c=rand()%2 T d=0 F c=a+b c=a-b c50 输出回答第几题和对应的算式 k=3 k=1 输入答案result result=c T F 输出回答正确 输出回答错误 grade+=scorek-1 break k- T k=0 F 下一道 i+ Grade(grade) getch() 图4.1 main()函数N-S图 定义主函数main()的功能是:随机选择050之间的两个数进行随机加减法运算,共出10道题目,确保答案在050之间,同时保证所出题目不重复

4、,让学生回答,每道题有三次机会,第一次回答正确得10分,第二次回答正确得7分,第三次回答正确得5分,否则不得分,最后算出总得分划分等级5 程序运行数据及其结果 .图5.1 答错一题一次得分图 。 图5.2 答错一题两次得分图 图5.3 答错一题三次得分图 图5.4 全部答对得分图 6 课程设计心得 通过这次课程设计我学到了许多。同时也巩固了许多C语言的知识。但我觉得最重要的是在这个课程设计中看到了自己许多的不足,在许多方面都有所欠缺,对一些函数理解的不透彻,不能熟练的编写有关代码。除了知识储备的不足之外,还有一些不良的编码习惯,时常导致掉写漏写,编写出来的没有做到美观整洁。 本次实验所写的小学

5、测验系统,与以往编写的小程序相比更加复杂,功能也更多,自动出题 自动判卷,划分等级等每一个模块的编写都不得马虎,一有错误就会导致程序运行出错,所以困难较大,所以在编写代码的时候遇到了许多困难,例如如何保证系统给出的随机数不同,为了解决这个问题映入了srand(unsigned)time(NULL)方法,这些新的东西开拓了我的眼界,同时丰富了知识,潜移默化中提高了自己独立解决问题的能力。虽然编码的过程略显枯燥,特别是当有困难的时候,而且当久久不能解决的时候就会特别心烦意乱,但每当解决一个问题后就有一种特别的快感,就会激发一股探索的精神而继续编写。所以编写代码的过程虽然有些坎坷,但编写成功以后会感

6、到十分快乐,看着自己的杰做会感到欣慰。 当作一件事情花费了一万个小时,那么你就会成功。我想编写代码也是这样,当让编码成为 一种生活习惯的时候,当自己专业技能不断提高的时候,就会发现生活离不开编码,编码也是一种可以 令人愉悦的事情。与此同时还可以让自己的思维变得更加缜密,更具创造性。 附录:#include#include#include #include#includeint main() printf( *1-2年级小学生数学测验*n); printf(开始答题:n); int num=0,grade=0; int score3=10,7,5;char str100,str110100;wh

7、ile(1)int a=0,b=0,d,c,k=0,i,j=-1,result;char op2=+,-;/系统出题 while(1) a=rand()%51;srand(unsigned)time(NULL);b=rand()%51;srand(unsigned)time(NULL);d=rand()%2;if(d=0) c=a+b; else c=a-b; / 判断题目 if(c=0 & c=50)sprintf(str,%d%c%d = n,a,opd,b); strcpy(str1num,str);if(num=0)break;j=-1;for(i=0; inum; i+)if(str

8、cmp(str,str1i)=0)j=1; break;if(j0)break;printf(第%d题:n,num+1) ;printf(%sn,str);/学生回答printf(输入计算结果:n);while(1)scanf(%d,&result);k+;if(result=c)printf(回答正确!棒棒哒n);grade+=scorek-1;break;else if(k=90)printf(%d *SMART*,grade);else if(grade=80)printf(%d *GOOD*,grade);else if(grade=70)printf(%d *OK*,grade);else if(grade=60)printf(%d *PASS*,grade);else printf(%d *TRY AGAIN* ,grade);getch();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号