c语言小学生测验_第1页
c语言小学生测验_第2页
c语言小学生测验_第3页
c语言小学生测验_第4页
c语言小学生测验_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

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

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

3、测验学判小学生测验系缩功能模块图断正i=1i<=10a=rand()%51 b=rand()%51 c=rand()%2T 'c=a+bc=a-bc<0|c>50输出回答第几题和对应的算式k=3 k>=1输入答案resultresult=c输出回答正确输出回答错误grade+=scorek-1break下一道i+k=0Grade(grade) getch()图4.1 main()函数N-S图定义主函数main ()的功能是:随机选择050之间的两个数进行随机加减法运算, 共出10道题目,确保答案在050之间,同时保证所出题目不重复,让学生回答,每道 题有三次机会

4、,第一次回答正确得10分,第二次回答正确得7分,第三次回答正确得5 分,否则不得分,最后算出总得分划分等级5程序运行数据及其结果至古早二- 田认央目 回 Wo c n _ c)*中十七方 中 寸* 中* * 5M A R 丁 ±+i* ±*S £*»i»±#i±*S*切中土之回K_ZE硒1田E F 引了是西:4 1 + .5 =十一贵S图5.1答错一题一次得分图I第丁题: 29-25 -特r入王十分结果:回后正的H信阵啮|2Q-29 =|输入廿州=果:网转KF询!样样配、依D颈;卜35 =、领人计克至吉阜;139里|音正碗!

5、棒伟唯'串。题二Ba-o =,输入E1同结果:卜久辛七音。技1 H 奏声一片 g F1茶-。t_,1口:普条,脸. 曲 火,思考 右回答o(c_c)o: BsI回答正确工桥阵Ifc E|i t_bi - _- - - - _- kJLb <Kilij, njw ua - -,- - J- kjLa - _-nj -,_ £7"»- % T 1 I I1 , - - -J-. ajj- - iLLaiKAnKMj hJj' J三-千一人u*:人* - -T ./ 人>Ta *-T.JvV j * pi l j.- J.- -T- *.&q

6、uot;Tj-T- -W - - w- -T- - >r-傩钦拼,平:图5.2答错一题两次得分图图5.3答错一题三次得分图图5.4全部答对得分图6课程设计心得通过这次课程设计我学到了许多。同时也巩固了许多C语言的知识。但我觉得最重要的是在这个课程设计中看到了自己许多的不足,在许多方面都有所欠缺,对一些函数理 解的不透彻,不能熟练的编写有关代码。除了知识储备的不足之外,还有一些不良的编 码习惯,时常导致掉写漏写,编写出来的没有做到美观整洁。本次实验所写的小学测验系统,与以往编写的小程序相比更加复杂,功能也更多,自动出题自动判卷,划分等级等每一个模块的编写都不得马虎,一有错误就会导致程序运行

7、出错, 所以困难较大,所以在编写代码的时候遇到了许多困难,例如如何保证系统给出的随机 数不同,为了解决这个问题映入了 srand(unsigned)time(NULL) 方法,这些新的东西开拓了我的眼界,同时丰富了知识,潜移默化中提高了自己独立解决问题的能力。虽然编码的过程略显枯燥,特别是当有困难的时候,而且当久久不能解决的时候就会特别心烦意乱,但每当解决一个问题后就有一种特别的快感,就会激发一股探索的精神而继续编写。所以编写代码的过程虽然有些坎坷,但编写成功以后会感到十分快乐,看着自己的杰做会感到欣慰。当作一件事情花费了一万个小时,那么你就会成功。我想编写代码也是这样,当让编码成为一种生活习

8、惯的时候, 当自己专业技能不断提高的时候, 就会发现生活离不开编码, 编码也是一种可以 令人愉悦的事情。与此同时还可以让自己的思维变得更加缜密,更具创造性。附录:#include<stdio.h>#include<time.h>#include<stdlib.h>#include<conio.h>#include<string.h>int main()printf("*1-2年级小学生数学测验*n");printf(" 开始答题: n");int num=0,grade=0;int score3

9、=10,7,5;char str100,str110100;while(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;elsec=a-b;/ 判断题目if(c>=0 && c<=50)sprintf(str,"%d%c%d = n",

10、a,opd,b);strcpy(str1num,str);if(num=0)break;j=-1;for(i=0; i<num; i+)if(strcmp(str,str1i)=0)j=1;break;if(j<0) break;printf("第瞅: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<3)printf(" 答案错啦,请认真思考后回答O(n _n )O:n");else printf(" 好可惜答错了 , 正确答案 : %dn",c);break; num+;if(num=10)break;if(grade>=90)printf("%d*SMART*”,grade);elseif(grade>=80)printf("%d,grade);

温馨提示

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

评论

0/150

提交评论