C语言课程设计单项选择题实用标准化考试系统
《C语言课程设计单项选择题实用标准化考试系统》由会员分享,可在线阅读,更多相关《C语言课程设计单项选择题实用标准化考试系统(19页珍藏版)》请在装配图网上搜索。
1、word 仲恺农业工程学院 课程设计报告 单项选择题标准化考试系统 课程名称 C 语言程序设计 姓 名 院〔系〕 信息科学与技术学院 专业班级 学 号 指导教师 目 录 1 目的3 2.1 系统总框图3 2.2 功能模块说明4 3 系统设计5 3.1 主要结构体5 主要功能函数5 4 系统调试6 5 总结10 源程序清单11 1 目的 设计一个单项选择题标准化考试系统,方便考试时试题的录入与批改。2 系统总框
2、图和功能模块说明
2.1 系统总框图
单项选择题标准化考试系统
答题
插入试题
显示题库题目
删除试题
退出系统
2.2 功能模块说明
答题模块:
输入答题数n,
n 3、选择需要删除的题目类型,读出文件,删除题目,并创建一个新的文件覆盖原文件,把剩下的试题读入文件.
3 系统设计
3.1 主要结构体
题目,选项A,B,C,D,答案
struct Test{
char question[200];
char option1[100];
char option2[100];
char option3[100];
char option4[100];
char key;
}
主要功能函数
int addtest()//增加试题
void answerq()//答题
void changeface()//选择试题类型界面
int 4、changeopenfile()//选择打开文件
int pare(char a,char b)//答案对照
void readfile(int i,Test p)//显示题目
void showtest(int n,int m)//展示题目或删除结构体元素
void startinterface()//开始界面
4 系统调试
(1)操作界面
(2)选择界面:
(3)答题:
(4)插入试题:
(5)显示题库试题
(6)删除题目:
(7)退出系统
总结
经过这两个星期的C语言课程设计的训练,我学到了很多,最主 5、要的一点是怎样去自学一种东西,怎样去找到你所需要的资料,并在短时间把它学会,运用到你所需要的方面。这个过程是很困难的,要花费很多的时间和精力,但是,在事情过后,自己就会发现自己已经在这个过程中学到了自己想要的东西,这种获得是更深刻的。
在做这个C语言课程设计的时候,我原先也是知之甚少,什么是结构体数据,什么是定义类型,怎样在一个main函数中调用别的定义函数,等等,可以说是一无所知。然而,在这门课程设计中,这些方面却是特别重要的,可以说,掌握了这个,你就完全可以完成自己的任务。这就要求我们要自己去学,自己去探索。当然,跑图书馆是必不可少的,还有,身边有非常丰富的网络资源给我们好好利用, 6、百度就是个很不错的地方。这样就从另一方面锻炼了我们检索知识获取信息的能力,在这个过程中,可以学到的是一种提升自我的能力。
当然,由于个人能力所限,这份课程设计有一些别的方面还是要参考人家的的资料,在读懂别人材料的同时,自己取人所长,补己之短,经过屡次的调试,总结,最后交出一份自己比拟满意的答卷。
通过这次的课程设计,让我进一步的了解到C语言在我们日常生活中的重要性,而且,也更进一步的激发了我学习这门语言的兴趣.经过这次的训练,我相信自己以后会用更多的时间来把这门语言学好,掌握好这门必修的根底语言。
源程序清单
#include 7、o.h>
#include 8、\t--------------------------------------\n");
printf("\t\t| 选择试题类型 |\n");
printf("\t\t| |\n");
printf("\t\t| 1.数据结构 |\n");
printf("\t\t| |\n");
printf("\t\t| 2 9、.c/c++ |\n");
printf("\t\t| |\n");
printf("\t\t--------------------------------------\n");
}
int addtest()//增加试题
{
int i, num;
Test title[MAX]={"\0"};
FILE *fp;
changeface();
do
{
scanf("%d",&i);
fflush(stdin);
switch(i)
{
case 10、1:fp=fopen("questionbank1.txt","a+");break;
case 2:fp=fopen("questionbank2.txt","a+");break;
default:printf("你输入的指令不正确,请重新输入\n");
}
}while(i!=1&&i!=2);
system("cls");
while(1)
{
printf("请输入要插入的题目数(<=50)\n");
scanf("%d",&num);
fflush(stdin);
if(num<=MAX&&num>0)bre 11、ak;
else printf("输入有误,请重新输入题目数\n");
}
for(i=0;i 12、n3);
printf("\n请输入选项D:");
gets(title[i].option4);
fflush(stdin);
printf("\n请输入答案:\n");
scanf("%1c",&title[i].key);
fflush(stdin);
system("cls");
}
for(i=0;i 13、\n答案:%c\n",title[i].option3,title[i].option4,title[i].key);
}
if(fp==NULL)return 0;
else
{
for(i=0;i 14、 startinterface()//开始界面
{
printf("\n\n\n\n\n");
printf("\t\t --------------------------------------\n");
printf("\t\t | 单项选择题标准化考试系统 |\n");
printf("\t\t | |\n");
printf("\t\t | 1.答题 |\n");
printf("\t\t 15、 | |\n");
printf("\t\t | 2.试题插入 |\n");
printf("\t\t | |\n");
printf("\t\t | 3.显示题库题目 |\n");
printf("\t\t | |\n");
printf("\t\t | 16、 4.删除试题 |\n");
printf("\t\t | |\n");
printf("\t\t | 5.退出系统 |\n");
printf("\t\t --------------------------------------\n");
}
int changeopenfile()//选择打开文件
{
int i;
do{
scanf("%d",&i);
fflush(stdin);
swit 17、ch(i)
{
case 1:fp=fopen("questionbank1.txt","r+");break;
case 2:fp=fopen("questionbank2.txt","r+");printf("rrrrrrrrr\n");break;
default:printf("你输入的指令不正确,请重新输入\n");
}
}while(i!=1&&i!=2);
system("cls");
return i;
}
int pare(char a,char b)//答案对照
{
if(a==b||(a-32)==b)
{printf("答对了\n");re 18、turn 1;}
else {printf("答错了\n正确答案是%c\n",b);return 0;}
}
void readfile(int i,Test p)//显示题目
{
printf("%d.%s\n",i+1,p.question);
printf("A.%s\t",p.option1);
printf("B.%s\n",p.option2);
printf("C.%s\t",p.option3);
printf("D.%s\n",p.option4);
}
void answerq()//答题
{
Test ti 19、tle[MAX];
int n,i,j,k,num[MAX],score,sum=0;char h;
if(fp==NULL)
{
printf("\n不能打开questionbank.dat文件,按任何键退出程序!\n");
getch();
exit(-1);
}
for(j=0;!feof(fp);j++)//统计文件中的结构体项数
{
fscanf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",&title[j].question,&title[j].key,&title[j].option1,&title[j].option2,&titl 20、e[j].option3,&title[j].option4);
}
fclose(fp);
while(1)
{
printf("请输入需要答题的题目数\n");
scanf("%d",&n);//n必须小于j
fflush(stdin);
if(n>j)
printf("输入的题目数大于题库的题目数,请重新输入\n");
else break;
}
for(i=0;i 21、0;k
22、int m)//展示题目或删除结构体元素
{
int i,j,k;
Test title[MAX];
if(fp==NULL)
{
printf("\n不能打开questionbank.dat文件,按任何键退出程序!\n");
getch();
exit(-1);
}
for(j=0;!feof(fp);j++)//统计文件中的结构体项数
{
fscanf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",&title[j].question,&title[j].key,&title[j].option1,&title[j].option2,&title[j] 23、.option3,&title[j].option4);
}
fclose(fp);
for(i=0;i 24、,"w+");break;
case 2:fp=fopen("questionbank2.txt","w+");break;
}
for(i=0;i 25、键返回主界面\n");
getch();
system("cls") ;
}
}
void main()
{
char ch,c;int m;
while(1)
{
startinterface();
ch=getchar();
system("cls");
fflush(stdin);
if(ch=='5')//退出系统
{
printf("是请输入Y\t否请按任意键\n");
c=getch();system("cls");
if(c=='y'||c=='Y') 26、break;
else continue;
}
switch(ch)
{
case '1': changeface();
m=changeopenfile();answerq();system("cls");break;
case '2': if(addtest())
printf("保存成功!\n");
else
printf("保存失败!\n");
getch();break;
case '3': changeface();
m=changeopenfile();
showtest(1,m);
break;
case '4':changeface();
m=changeopenfile();showtest(2,m);break;
default:
printf("你输入的指令无效,请按任意键继续执行\n");getch();break;
}
fflush(stdin);
system("cls") ;
}
}
19 / 19
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。