c语言单项选择题标准化考试系统设计.docx

上传人:b****6 文档编号:6265135 上传时间:2023-01-04 格式:DOCX 页数:15 大小:167.60KB
下载 相关 举报
c语言单项选择题标准化考试系统设计.docx_第1页
第1页 / 共15页
c语言单项选择题标准化考试系统设计.docx_第2页
第2页 / 共15页
c语言单项选择题标准化考试系统设计.docx_第3页
第3页 / 共15页
c语言单项选择题标准化考试系统设计.docx_第4页
第4页 / 共15页
c语言单项选择题标准化考试系统设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

c语言单项选择题标准化考试系统设计.docx

《c语言单项选择题标准化考试系统设计.docx》由会员分享,可在线阅读,更多相关《c语言单项选择题标准化考试系统设计.docx(15页珍藏版)》请在冰豆网上搜索。

c语言单项选择题标准化考试系统设计.docx

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();

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1