c语言单项选择题标准化考试系统设计.docx
- 文档编号:30037296
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:13
- 大小:245.26KB
c语言单项选择题标准化考试系统设计.docx
《c语言单项选择题标准化考试系统设计.docx》由会员分享,可在线阅读,更多相关《c语言单项选择题标准化考试系统设计.docx(13页珍藏版)》请在冰豆网上搜索。
c语言单项选择题标准化考试系统设计
课程设计任务书
学院、系:
专业:
学生姓名:
学号:
设计题目:
单项选择题标准化考试系统设计
起迄日期:
指导教师:
1.设计目的
设计单项选择题标准化考试系统。
2任务概述
(1)用文件保存试题库(每个试题包括题干、4个备选答案、标准答案).
(2)试题录入:
可随时在试题库中增加试题.
(3)试题抽取:
每次从试题库中可以随机抽出N道题(N由键盘输入).
(4)答题:
用户可以输入自己的答案.
(5)自动判卷:
系统可根据用户答案与标准答案的对比实现判卷并给出成绩.
3模块划分
单项选择体标准化考试系统
4主要函数说明及N-S图
(1)菜单Menu():
用来给用户提供选项;
(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()函数:
用于添加试题后保存试题;
(4)Put()函数:
用于显示试题;
(5)Add()函数:
用于添加试题
(5)Adi
.
(5)Ask()函数:
用于答题并判卷。
图4-6
修改函数(cor)
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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 单项 选择题 标准化 考试 系统 设计