c语言单项选择题标准化考试系统设计.docx
- 文档编号:6265135
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:15
- 大小:167.60KB
c语言单项选择题标准化考试系统设计.docx
《c语言单项选择题标准化考试系统设计.docx》由会员分享,可在线阅读,更多相关《c语言单项选择题标准化考试系统设计.docx(15页珍藏版)》请在冰豆网上搜索。
c语言单项选择题标准化考试系统设计
课程设计任务书
学院、系:
专业:
学生姓名:
学号:
设计题目:
单项选择题标准化考试系统设计
起迄日期:
指导教师:
1.设计目的
设计单项选择题标准化考试系统。
2任务概述
(1)用文件保存试题库(每个试题包括题干、4个备选答案、标准答案).
(2)试题录入:
可随时在试题库中增加试题.
(3)试题抽取:
每次从试题库中可以随机抽出N道题(N由键盘输入).
(4)答题:
用户可以输入自己的答案.
(5)自动判卷:
系统可根据用户答案与标准答案的对比实现判卷并给出成绩.
3模块划分
单项选择体标准化考试系统
4主要函数说明及N-S图
(1)菜单Menu():
用来给用户提供选项;
输出菜单界面
输入选项
N
输入1
Y
输入2
N
添加Add()函数
输入3
添加Put()函数
Y
N
Y
输入4
N
Y
添加Ask()函数
exit(0)
break
break
break
break
(2)Read()函数:
用于打开文件;
FILE*fp,inti=0
fp=fopen("单项选择题标准化考试系统设计.txt","r+")
Yif(fp==NULL)N
printf("文件打开失败");
return0;
for(i=0;!
feof(fp);i++)
fprintf(fp,"%s%s%s%s%s%c\n",que[i].topic,que[i].a1,que[i]
.a2,que[i].a3,que[i].a4,que[i].real);
fclose(fp)
returni
(3)Save()函数:
用于添加试题后保存试题;
FILE*fp
inti=0
if((fp=fopen(“单项选择题标准化考试系统设计.txt”))==Null)
YN
printf(“文件打开失败!
”)
i=0;i fprintf(fp,”%s%s%s%s%s%c\n,que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4,que[i].real”) (4)Put()函数: 用于显示试题; inti,n n=Read(que) 打印表头 i=0;i fprintf(fp,”%s%s%s%s%s\n,que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4”) getch() (5)Add()函数: 用于添加试题 FILE*fpinti,a,n (5)A di sructquestionque . n=Read(que) printf(“请输入增加试题的数目”) scanf(“%d“,&a); i=0;i scanf(”%s%s%s%s%s%c\n,que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4,que[i].real”) fprintf(fp,”%s%s%s%s%s%c\n,que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4,que[i].real”) fclose(fp) (5)Ask()函数: 用于答题并判卷。 sructquestionque[N] intm,score=0;charr; fp=fopen("单项选择题标准化考试系统设计.txt","r+"); printf(“请输入要答得题目数: ”) Scanf(”%d”,&m); for(i=0;i if(strcmp(number,stu[i].num)==0);break; printf("%s\n%s\n%s\n%s\n%s\n",que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4); printf("\n请输入您的答案: "); scanf("%c",&r); getchar(); if(que[i].real==r) N Y printf("\n答案错误! \n"); score=score; printf("\n答案正确! \n"); score++; 图4-6 修改函数(cor) printf("\n你的总成绩为: %d\n",score); getchar(); getchar(); 5.程序运行数据及其结果 6课程设计心得 通过这次实训,感觉到自己还是差很多的,自己学到的还是远远不够的,练习的太少了,好多知识点都记得不牢,还需要大量的练习。 又因为一个学期没看了,好多东西都忘了,所以好多知识点都是在看得时候重新拾起来的。 这次实训给我的教训就是平时要多多练习一些题型,时不时的复习以前的知识点,让自己更加熟练的掌握更多编程技巧,更多的思路。 还有一点就是没有思路的时候千万不要放弃,要学会思考,学会独立有耐心的完成一些事情,等到做完成功之后,便会收获很多的信心和欣慰。 总之就是要有耐心,坚持多做练习,不会的多请教别人,一切困难都会迎刃而解。 附录: #include #include #include #include #include #defineN100 voidMenu1(); intRead(); voidsave(); voidPut(); voidAdd(); voidAsk(); structquestion {chartopic[100]; chara1[100]; chara2[100]; chara3[100]; chara4[100]; charreal; }; voidMenu1()//主菜单 {system("cls"); puts("\t\t-----欢迎进入单项选择题标准化考试系统设计-----"); puts("\t\t1----添加试题到试题库中"); puts("\t\t2----显示试题库"); puts("\t\t3----答题并判卷"); puts("\t\t4----退出"); puts("\t\t请选择……"); intchoice1,choice2; while(12) { scanf("%d",&choice1); switch(choice1) {//调用子函数。 case1: system("cls");Add();Menu1();break; case2: system("cls");Put();Menu1();break; case3: system("cls");Ask();Menu1();break; case4: puts("欢迎下次使用");exit(0); } } } intRead(structquestionque[N])//打开文件 { FILE*fp; inti=0; fp=fopen("单项选择题标准化考试系统设计.txt","r+");//以读的形式打开文件information.txt if(fp==NULL) { printf("文件打开失败"); return0; } for(i=0;! feof(fp);i++) { fscanf(fp,"%s%s%s%s%s%c\n",que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4,que[i].real); } fclose(fp); returni; } voidsave(structquestionque[N],intn)//考试系统改变后更新并保存文件 { FILE*fp; inti=0; if((fp=fopen("单项选择题标准化考试系统设计.txt","w+"))==NULL) { printf("文件打开失败! \n"); return; } else { for(i=0;i fprintf(fp,"%s%s%s%s%s%c\n",que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4,que[i].real); } fclose(fp); } voidPut()//显示试题信息 { structquestionque[N]; inti,n; n=Read(que); printf("*********************所有的试题信息如下**********************\n\n"); for(i=0;i printf("%s\n%s\n%s\n%s\n%s\n\n",que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4); getch(); } voidAdd()//添加试题 { FILE*fp; inta,i; structquestionque[N]; fp=fopen("单项选择题标准化考试系统设计.txt","a+");//以添加的形式打开文件 if(fp==NULL) { printf("文件打开失败"); return; } printf("请输入增加试题的数目\n"); scanf("%d",&a); for(i=1;i<=a;i++) { printf("\n请输入第%d个试题的题目,第一个选项,第二个选项,第三个选项,第四个选项,正确答案,并按回车键确认: \n",i); scanf("%s\n%s\n%s\n%s\n%s\n%c",&que[i].topic,&que[i].a1,&que[i].a2,&que[i].a3,&que[i].a4,&que[i].real); fprintf(fp,"\n%s\n%s\n%s\n%s\n%s\n%c\n",que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4,que[i].real); } printf("添加信息成功! "); fclose(fp); getchar(); getchar(); } voidAsk()//答题并判卷 {FILE*fp; structquestionque[N]; intm,score=0; charr; fp=fopen("单项选择题标准化考试系统设计.txt","r+"); printf("请输入要答得题目数: "); scanf("%d",&m); for(inti=1;i<=m;i++){ fread(&que[i],sizeof(structquestion)-1,1,fp); printf("%s\n%s\n%s\n%s\n%s\n",que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4); printf("\n请输入您的答案: "); scanf("%c",&r); getchar(); if(que[i].real==r) {printf("\n答案正确! \n"); score++; } else{ printf("\n答案错误! \n"); score=score; } printf("\n你的总成绩为: %d\n",score); getchar(); getchar(); } } intmain() {Menu1(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 单项 选择题 标准化 考试 系统 设计