您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > C语言课程设计单项选择题标准化考试系统
仲恺农业工程学院课程设计报告单项选择题标准化考试系统课程名称C语言程序设计姓名院(系)信息科学与技术学院专业班级学号指导教师目录1目的...................................................................................................32.1系统总框图..............................................................................32.2功能模块说明..........................................................................43系统设计...........................................................................................53.1主要结构体................................................................................53.2主要功能函数.............................................................................54系统调试...........................................................................................65总结...................................................................................................10源程序清单...........................................................................................111目的设计一个单项选择题标准化考试系统,方便考试时试题的录入与批改。2系统总框图和功能模块说明2.1系统总框图单项选择题标准化考试系统答题插入试题显示题库题目删除试题退出系统输入答题数n,nj产生n个不同的随机数输入答案m,并批改进入函数answerq()统计文件中的题目数j结束YN2.2功能模块说明答题模块:插入试题模块:确定插入题目数,选择需要插入的题目类型,打开文件,插入题目,关闭文件.删除试题模块:确定删除题号,选择需要删除的题目类型,读出文件,删除题目,并创建一个新的文件覆盖原文件,把剩下的试题读入文件.3系统设计3.1主要结构体题目,选项A,B,C,D,答案structTest{charquestion[200];charoption1[100];charoption2[100];charoption3[100];charoption4[100];charkey;}3.2主要功能函数intaddtest()//增加试题voidanswerq()//答题voidchangeface()//选择试题类型界面intchangeopenfile()//选择打开文件intcompare(chara,charb)//答案对照voidreadfile(inti,Testp)//显示题目voidshowtest(intn,intm)//展示题目或删除结构体元素voidstartinterface()//开始界面4系统调试(1)操作界面(2)选择界面:(3)答题:(4)插入试题:(5)显示题库试题(6)删除题目:(7)退出系统总结经过这两个星期的C语言课程设计的训练,我学到了很多,最主要的一点是怎样去自学一种东西,怎样去找到你所需要的资料,并在短时间把它学会,运用到你所需要的方面。这个过程是很艰难的,要花费很多的时间和精力,但是,在事情过后,自己就会发现自己已经在这个过程中学到了自己想要的东西,这种获得是更深刻的。在做这个C语言课程设计的时候,我原先也是知之甚少,什么是结构体数据,什么是定义类型,怎样在一个main函数中调用别的定义函数,等等,可以说是一无所知。然而,在这门课程设计中,这些方面却是特别重要的,可以说,掌握了这个,你就完全可以完成自己的任务。这就要求我们要自己去学,自己去探索。当然,跑图书馆是必不可少的,还有,身边有非常丰富的网络资源给我们好好利用,百度就是个很不错的地方。这样就从另一方面锻炼了我们检索知识获取信息的能力,在这个过程中,可以学到的是一种提升自我的能力。当然,由于个人能力所限,这份课程设计有一些别的方面还是要参考人家的的资料,在读懂别人材料的同时,自己取人所长,补己之短,经过多次的调试,总结,最后交出一份自己比较满意的答卷。通过这次的课程设计,让我进一步的了解到C语言在我们日常生活中的重要性,而且,也更进一步的激发了我学习这门语言的兴趣.经过这次的训练,我相信自己以后会用更多的时间来把这门语言学好,掌握好这门必修的基础语言。源程序清单#includestdio.h#includestdlib.h#includetime.h#includeconio.h#defineMAX50typedefstructTest{charquestion[200];charoption1[100];charoption2[100];charoption3[100];charoption4[100];charkey;}Test;FILE*fp;voidchangeface()//选择试题类型界面{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||\n);printf(\t\t|2.c/c++|\n);printf(\t\t||\n);printf(\t\t--------------------------------------\n);}intaddtest()//增加试题{inti,num;Testtitle[MAX]={\0};FILE*fp;changeface();do{scanf(%d,&i);fflush(stdin);switch(i){case1:fp=fopen(questionbank1.txt,a+);break;case2: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&&num0)break;elseprintf(输入有误,请重新输入题目数\n);}for(i=0;inum;i++){printf(请输入第%d道题题目,选项和答案:\n,i+1);//输入结构体元素内容printf(请输入题目\n);gets(title[i].question);printf(请输入选项A:);gets(title[i].option1);printf(\n请输入选项B:);gets(title[i].option2);printf(\n请输入选项C:);gets(title[i].option3);printf(\n请输入选项D:);gets(title[i].option4);fflush(stdin);printf(\n请输入答案:\n);scanf(%1c,&title[i].key);fflush(stdin);system(cls);}for(i=0;inum;i++){printf(%d.%s\n%s\t%s\t,i+1,title[i].question,title[i].option1,title[i].option2);printf(%s\t%s\n答案:%c\n,title[i].option3,title[i].option4,title[i].key);}if(fp==NULL)return0;else{for(i=0;inum;i++)fprintf(fp,%s\t%c\n%s\t%s\t%s\t%s\n,title[i].question,title[i].key,title[i].option1,title[i].option2,title[i].option3,title[i].option4);fclose(fp);}return1;}voidstartinterface()//开始界面{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||\n);printf(\t\t|2.试题插入|\n);printf(\t\t||\n);printf(\t\t|3.显示题库题目|\n);printf(\t\t||\n);printf(\t\t|4.删除试题|\n);printf(\t\t||\n);printf(\t\t|5.退出系统|\n);printf(\t\t--------------------------------------\n);}intchangeopenfile()//选择打开文件{inti;do{scanf(%d,&i);fflush(stdin);switch(i){case1:fp=fopen(questionbank1.txt,r+);break;case2:fp=fopen(questionbank2.txt,r+);printf(rrrrrrrrr\n);break;default:printf(你输入的指令不正确,请重新输入\n);}}while(i!=1&&i!=2);system(cls);returni;}intcompare(chara,charb)//答案对照{if(a==b||(a-32)==b){printf(答对了\n);return1;}else{printf(答错了\n正确答案是%c\n,b);return0;}}voidreadfile(inti,Testp)//显示题目{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);}voidanswerq()//答题{Testtitle[MAX];intn,i,j,k,num[MAX],score,sum=0;charh;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].option3,&title[j].option4);}fclose(fp);while(1){pr
本文标题:C语言课程设计单项选择题标准化考试系统
链接地址:https://www.777doc.com/doc-3180433 .html