C语言_小学生测试

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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语言这门课程的学习,对于我们来说它已不陌生。首先对于这次课程安排,感觉还是很紧凑。在一开始的时候并没有觉得这次的题目会这么难,可当真正做起来的时候,却要艰难很多。尤其是调试的时候,一次次的不断的修改,一次次的反复寻找。虽然过程比较辛苦,但收获还是很多的,尤其是对这门课程知识的另一种学习掌握,令我们收获匪浅。纸上得来终觉浅,绝知此事要躬行。或许这才是真正的学习,而不是一味地向证书看齐。

相关文档
最新文档