C语言课程设计单项选择题标准化考试系统

上传人:细水****9 文档编号:155327383 上传时间:2022-09-23 格式:DOC 页数:19 大小:125KB
收藏 版权申诉 举报 下载
C语言课程设计单项选择题标准化考试系统_第1页
第1页 / 共19页
C语言课程设计单项选择题标准化考试系统_第2页
第2页 / 共19页
C语言课程设计单项选择题标准化考试系统_第3页
第3页 / 共19页
资源描述:

《C语言课程设计单项选择题标准化考试系统》由会员分享,可在线阅读,更多相关《C语言课程设计单项选择题标准化考试系统(19页珍藏版)》请在装配图网上搜索。

1、仲恺农业工程学院课程设计报告单项选择题标准化考试系统课程名称 C 语言程序设计姓 名 院(系) 信息科学与技术学院专业班级 学 号 指导教师 目 录1 目的32.1 系统总框图32.2 功能模块说明43 系统设计53.1 主要结构体53.2主要功能函数54 系统调试65 总结10源程序清单111 目的设计一个单项选择题标准化考试系统,方便考试时试题的录入与批改。2 系统总框图和功能模块说明2.1 系统总框图单项选择题标准化考试系统答题插入试题显示题库题目删除试题退出系统2.2 功能模块说明答题模块:输入答题数n,nj产生n个不同的随机数输入答案m,并批改进入函数answerq()统计文件中的题

2、目数j结束YN插入试题模块:确定插入题目数,选择需要插入的题目类型,打开文件,插入题目,关闭文件.删除试题模块:确定删除题号,选择需要删除的题目类型,读出文件,删除题目,并创建一个新的文件覆盖原文件,把剩下的试题读入文件.3 系统设计3.1 主要结构体题目,选项A,B,C,D,答案struct Testchar question200;char option1100;char option2100;char option3100;char option4100;char key;3.2主要功能函数int addtest()/增加试题void answerq()/答题void changefac

3、e()/选择试题类型界面int changeopenfile()/选择打开文件int compare(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语言课程设计的训练,我学到了很多,最主要的一点是怎样去自学一种东西,怎样去找到你所需要的资料,并在短时间把它学会,运用到你所

4、需要的方面。这个过程是很艰难的,要花费很多的时间和精力,但是,在事情过后,自己就会发现自己已经在这个过程中学到了自己想要的东西,这种获得是更深刻的。 在做这个C语言课程设计的时候,我原先也是知之甚少,什么是结构体数据,什么是定义类型,怎样在一个main函数中调用别的定义函数,等等,可以说是一无所知。然而,在这门课程设计中,这些方面却是特别重要的,可以说,掌握了这个,你就完全可以完成自己的任务。这就要求我们要自己去学,自己去探索。当然,跑图书馆是必不可少的,还有,身边有非常丰富的网络资源给我们好好利用,百度就是个很不错的地方。这样就从另一方面锻炼了我们检索知识获取信息的能力,在这个过程中,可以学

5、到的是一种提升自我的能力。当然,由于个人能力所限,这份课程设计有一些别的方面还是要参考人家的的资料,在读懂别人材料的同时,自己取人所长,补己之短,经过多次的调试,总结,最后交出一份自己比较满意的答卷。通过这次的课程设计,让我进一步的了解到C语言在我们日常生活中的重要性,而且,也更进一步的激发了我学习这门语言的兴趣.经过这次的训练,我相信自己以后会用更多的时间来把这门语言学好,掌握好这门必修的基础语言。源程序清单#include #include #include #include#define MAX 50typedef struct Testchar question200;char opt

6、ion1100;char option2100;char option3100;char option4100;char key;Test;FILE *fp;void changeface()/选择试题类型界面printf(nnnnn); printf(tt-n); printf(tt| 选择试题类型 |n); printf(tt| |n); printf(tt| 1.数据结构 |n); printf(tt| |n); printf(tt| 2.c/c+ |n); printf(tt| |n); printf(tt-n);int addtest()/增加试题int i, num;Test ti

7、tleMAX=0;FILE *fp;changeface(); do scanf(%d,&i); fflush(stdin);switch(i)case 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(num0)bre

8、ak;else printf(输入有误,请重新输入题目数n);for(i=0;inum;i+)printf(请输入第%d道题题目,选项和答案:n,i+1);/输入结构体元素内容printf(请输入题目n); gets(titlei.question);printf(请输入选项A:); gets(titlei.option1);printf(n请输入选项B:);gets(titlei.option2); printf(n请输入选项C:);gets(titlei.option3); printf(n请输入选项D:);gets(titlei.option4);fflush(stdin);printf

9、(n请输入答案:n);scanf(%1c,&titlei.key);fflush(stdin);system(cls); for(i=0;inum;i+) printf(%d.%sn%st%st,i+1,titlei.question,titlei.option1,titlei.option2); printf(%st%sn答案:%cn,titlei.option3,titlei.option4,titlei.key); if(fp=NULL)return 0; else for(i=0;ij)printf(输入的题目数大于题库的题目数,请重新输入n);else break;for(i=0;i

10、n;i+)/产生n个不同的随机数srand(time(NULL); numi=rand()%j; while(1) for(k=0;ki;k+)/排除相同随机数 if(numk=numi)break; if(k=i)break; numi=rand()%j;readfile(i,titlenumi); printf(输入答案:);scanf(%c,&h);fflush(stdin);score=compare(h,titlenumi.key);sum+=score;printf(答对%d题n,sum);printf(按任意键返回主界面n);getch();void showtest(int n

11、,int m)/展示题目或删除结构体元素int i,j,k;Test titleMAX;if(fp=NULL)printf(n不能打开questionbank.dat文件,按任何键退出程序!n);getch();exit(-1);for(j=0;!feof(fp);j+)/统计文件中的结构体项数 fscanf(fp,%st%cn%st%st%st%sn,&titlej.question,&titlej.key,&titlej.option1,&titlej.option2,&titlej.option3,&titlej.option4); fclose(fp);for(i=0;ij;i+)re

12、adfile(i,titlei);if(n=1) printf(按任意键返回主界面n); getch(); system(cls) ;elseprintf(输入需要删除的题号:n); scanf(%d,&k); switch(m) case 1:fp=fopen(questionbank1.txt,w+);break; case 2:fp=fopen(questionbank2.txt,w+);break;for(i=0;ij;i+)if(k-1=i)continue; fprintf(fp,%st%cn%st%st%st%sn,titlei.question,titlei.key,title

13、i.option1,titlei.option2,titlei.option3,titlei.option4);fclose(fp);printf(删除成功nn按任意键返回主界面n); getch(); system(cls) ;void main()char ch,c;int m;while(1) startinterface(); ch=getchar(); system(cls); fflush(stdin); if(ch=5)/退出系统printf(是请输入Yt否请按任意键n);c=getch();system(cls);if(c=y|c=Y) break;else continue;

14、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) ;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!