C语言_小学生测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[南京理工大学紫金学院]
[C语言报告]
小学生测试
成员:谢德煜,徐安伟
徐凡,徐航
指导教师:郑老师
组别:16自动化第7组
2020年10月16日
一、组成员分工 (2)
二、课题介绍 (2)
三、程序功能介绍 (2)
四、主体容 (2)
1.设计分析 (2)
2.流程图 (2)
3.各模块的功能及程序说明 (2)
4.源代码 (2)
5.操作方法 (2)
6.实验结果 (2)
五、设计 (2)
一、组成员分工
德煜:报告册书写
徐安伟:分析设计
徐凡:编写程序
徐航:调试修改
二、课题介绍
小学生测验系统
任务:面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。
功能要求:1)电脑随机出10道题,每题10分,程序结束时显示学生得分;
2)确保算式没有超出1~2年级的水平,只允许进行50以的加减法,不允许两数之和或之差超出0~50的围,
负数更是不允许的;
3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正
确答案;
4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,
否则不得分;
5)总成绩90以上显示“SMART”,80-90显示“GOOD”,
70-80显示“OK”,60-70显示“PASS”,60以下显示
“TRY AGAIN”。
三、程序功能介绍
通过随机函数rand()生成两个之和<50且之差>0的两个随机数,以及随机的+—号来实现随机选择两个整数和加减法。通过if函数来进行的结果的判断,同时进行分数档次的划分,计算最终的十次叠加值得出最后的总分。从而进行对较为客观的总评。
四、主体容
1.设计分析:通过随机函数和循环结构来实现面向小学生的测试
3.源代码
#include
#include
#include
#include
void main()
{
int num=0,add=0; /* 答题数,总分*/ int score[3]={10,7,5};/*得几分*/
char str[20],str1[10][20];
while(1)
{
int a=0,b=0,d=0,c=0,k=0,i=0,j=-1,result; char sf[2]={'+','-'};/* 符号*/
while(1)
{
a=rand()%51;/*0-50的随机数*/
b=rand()%51;/*0-50的随机数*/
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,sf[d],b); strcpy(str1[num],str);
if(num==0) break;
j=-1;
for(i=0; i { if(strcmp(str,str1[i])==0) { j=1;break;} } if(j<0) break; } } printf("%s\n",str);/* 回答*/ printf("输入计算结果:\n"); while(1) { scanf("%d",&result); k++; if(result==c) { printf("回答正确!\n"); add+=score[k-1]; break; } else if(k<3) { printf("错误,请重新回答:\n"); } else { printf("错误,正确答案: %d\n",c); break; } } num++; if(num==10)break; } if(add>=90)printf("\nSMART\n"); else if(add>=80)printf("\nGOOD\n"); else if(add>=70)printf("\nOK\n"); else if(add>=60)printf("\nPASS\n"); else printf("\nTRY AGAIN\n"); getch(); } 五、设计感悟 通过一个学期对C语言这门课程的学习,对于我们来说它已不陌生。首先对于这次课程安排,感觉还是很紧凑。在一开始的时候并没有觉得这次的题目会这么难,可当真正做起来的时候,却要艰难很多。尤其是调试的时候,一次次的不断的修改,一次次的反复寻找。虽然过程比较辛苦,但收获还是很多的,尤其是对这门课程知识的另一种学习掌握,令我们收获匪浅。纸上得来终觉浅,绝知此事要躬行。或许这才是真正的学习,而不是一味地向证书看齐。