C语言课程设计单项选择题标准化考试系统(共19页).doc

上传人:飞****2 文档编号:13567499 上传时间:2022-04-30 格式:DOC 页数:19 大小:122KB
返回 下载 相关 举报
C语言课程设计单项选择题标准化考试系统(共19页).doc_第1页
第1页 / 共19页
C语言课程设计单项选择题标准化考试系统(共19页).doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《C语言课程设计单项选择题标准化考试系统(共19页).doc》由会员分享,可在线阅读,更多相关《C语言课程设计单项选择题标准化考试系统(共19页).doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上仲恺农业工程学院课程设计报告单项选择题标准化考试系统课程名称 C 语言程序设计姓 名 院(系) 信息科学与技术学院专业班级 学 号 指导教师 目 录1 目的设计一个单项选择题标准化考试系统,方便考试时试题的录入与批改。2 系统总框图和功能模块说明2.1 系统总框图单项选择题标准化考试系统答题插入试题显示题库题目删除试题退出系统2.2 功能模块说明答题模块:输入答题数n,nj产生n个不同的随机数输入答案m,并批改进入函数answerq()统计文件中的题目数j结束YN插入试题模块:确定插入题目数,选择需要插入的题目类型,打开文件,插入题目,关闭文件.删除试题模块:确定删除

2、题号,选择需要删除的题目类型,读出文件,删除题目,并创建一个新的文件覆盖原文件,把剩下的试题读入文件.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 changeface()/选择试题类型界面int changeopenfile()/选择打开文件int compare(char a,ch

3、ar 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 option1100;char option2100;char option3100;char option4100;char

6、 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 titleMAX=0;FILE *fp;changeface(); do scanf(%d,&i); fflush(stdi

7、n);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)break;else printf(输入有误,请重新输入题目数n);for(i=0;inum;i+)printf(请输入第%d

8、道题题目,选项和答案: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(n请输入答案:n);scanf(%1c,&titlei.key);fflush(stdin);system(cls);

9、 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;in;i+)/产生n个不同的随机数srand(time(NULL); numi=rand()%j; while(1) fo

10、r(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,int m)/展示题目或删除结构体元素int i,j,k;Test titleMAX;if(fp=NULL)print

11、f(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+)readfile(i,titlei);if(n=1) printf(按任意键返回主界面n); getch(); system

12、(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,titlei.option1,titlei.option2,titlei.option3,titlei.option4);fclo

13、se(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;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) ;专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁