ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:124.60KB ,
资源ID:7479797      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7479797.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单项选择题标准化考试系统2.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单项选择题标准化考试系统2.docx

1、单项选择题标准化考试系统2单项选择题标准化考试系统(2) 摘要单项选择题标准化考试系统是一个考试系统不可缺少的部分,考方可以利用这套程序进行题目管理,也方便查询修改单项选择题的各项信息,可以提高工作的效率。本系统使用C语言作为开发工具的,开发单项选择题标准化考试系统,实现了录入题干,4个标准答案,标准答案等信息,并实现自动判卷等功能。本文从分析课题的题目背景、题目意义、题目要求等出发,分别从需求分析、总体设计、详细设计、测试等各个方面详细介绍了系统的设计与实现过程,最后对系统的完成情况进行了总结。关键词:单项选择题标准化考试;自动判卷;对比;C语言1绪论随着科技的发展,愈来愈多的考试系统选择了

2、运用单项选择题标准化考试系统来管理选择题的各项信息。单项选择题标准化考试系统是一个考试系统不可缺少的部分,系统可以利用这套程序进行考试的各种信息管理,也方便查询修改题目的各项信息,可以提高管理工作的效率和简化管理工作的程序。有利的为系统节省了运作成本,优化资源利用率,这也正是编写本程序的目的所在。根据课程设计任务书要求,本系统开发主要完成以下功能和性能。用C语言编写标准化考试中的一些基本功能:(1)用文件保存试题库。(2)每个试题包括题干。(3)4个备选答案。(4)标准答案。结合单项选择题标准化考试系统(1),实现自动判卷功能,系统可根据用户答案与标准答案的对比实现判卷并给出成绩。2. 系统分

3、析2.1 功能需求本系统主要是单项选择题标准化考试的系统。该系统需要有录入信息,删除信息,根据所给条件查询信息,修改信息,统计信息,循环显示主菜单,保存信息的功能,并且利用显示函数将职工的所有信息显示出来。2.2数据需求需要向系统输入工号,姓名,性别,年龄,学历,工资,联系电话等信息。2.3 性能需求在运行本程序时只要按照正确的操作方法不会出现无法运行的情况,系统稳定性好,安全,可靠。 3. 详细设计3.1保存文件功能模块: 3.2输出文件功能模块:3.3答题功能模块: N Y Y N 4. 调试与测试4.1 调试调试是软件开发过程中的一个重要环节,也是最复杂,对软件开发者者来说也是最艰巨的任

4、务。调试的任务是及时改正测试过程中发现的软件错误。具体地说,调试过程由两个步骤组成,它从表示程序中存在错误的某迹象开始,首先确定错误的准确位置,也就是找出哪个模块或哪个语句引起的错误。然后仔细研究推断代码以确定问题的原因,并设法改正。调试过程主要是运行编制好的程序,然后遇到错误后根据系统的提示,找到相关的问题所在。本系统调试过程中遇到问题、原因和解决方法如下面介绍。(1)程序不能运行定义的指针,很多次引用,过个函数里面,定义的不明确,造成错误连连发生。 (2)不能正确输出信息,有乱码现象原因是键入信息的时候,没有一一对应,逗号的位置不正确,后来,用的是信息逐一输入,保证了信息的一一对应和高度的

5、准确性,使程序可以正常运行。(3)程序运行途中,出现错误,被迫中止其中定义字符数组,却没有定义长度,导致定义类型变成了字符型,而不能接受字符串,因此出现了错误。4.2 测试软件测试是软件生存期中的一个重要阶段,是软件质量保证的关键步骤从用户的角度来看,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,所以软件测试应该是“为了发现错误而执行程序的过程”。或者说,软件测试应该根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误或缺陷。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的

6、代价。5. 结论课程设计顺利完成,题目所要求的功能也都一一实现,可以对职工信息进行添加,修改,删除,查询,模糊查询,按条件查询,存储至文本文件等,在通常情况下,可以良好的运作。不过这个程序还有些不够完善,例如有时候,输出的结果会因为字符的长短,与上面的提示栏对不上。而且,由于自己英语的不够特别好,后几个功能不知道该怎么翻译,就直接写的汉字,显得程序主菜单有点乱,以后会加强英语,好好规划编程。结束语通过这次课程设计,我对复杂程序的开发有了一个深刻的认识,使我进一步明白了模块化思想在程序开发中的重要性。这次C语言综合课程设计实习终于顺利完成,在这期间真正的学到了一些经验,能够熟练的掌握一些C语言的

7、编程思路,能够熟练的运用学到的函数,意识到编程并不是一件很简单的事情,知道学习编程必须亲自动手去做,只有自己做的程序才能找出错误,这样才能真正的达到目的。当程序编写完成而且能够正常运行心里非常高兴,虽然这对于一名程序员来说可能非常简单,但对我来说,如果要想在编程方面能够有所发展的话,我面临的困难还很多,要继续加强,努力,达到一种较高的水平。参考文献 1 谭浩强. C语言程序设计(第三版).北京:清华大学出版社,2005.7附录1调试分析一、 操作界面二、 进行答题并判卷三、 插入试题四、 退出系统附录2源程序#include #include #include #define TRUE 1#d

8、efine ERROR 0#define MAX 30typedef int Status;typedef struct char option130,option230,option330,option430,subject150; char result;TestNode;TestNode TestquestionsMAX;Status SaveNode(int N) /把结构体数组保存到文件cheng中,如成功保存返回TRUE,否则返回ERROR int i; FILE *fp; if(fp=fopen(cheng,wb)=NULL) return ERROR; for(i=0;iN;i

9、+) fwrite(&Testquestionsi,sizeof(TestNode),1,fp); fclose(fp); return TRUE;Status ReadNode(int &N) /从文件读出结构体数组的内容,如成功读取返回TRUE,否则返回ERROR FILE *fp; int i=0; if(fp=fopen(cheng,rb)=NULL) return ERROR; while(!feof(fp)/ 用feof检测文件是否结束,如果结束,返回正确 fread(&Testquestionsi,sizeof(TestNode),1,fp); i+; N=i-1; return

10、 TRUE;void InputTitle(int N)/ 输入N道试题数据 int i; for(i=0;iMAX) return ERROR; printf(请输入所要插入题题目、题干和选项:n); printf(请输入题目:); gets(TestquestionsN.subject); printf(请输入选项A:); gets(TestquestionsN.option1); printf(请输入选项B:); gets(TestquestionsN.option2); printf(请输入选项C:); gets(TestquestionsN.option3); printf(请输入选

11、项D:); gets(TestquestionsN.option4); printf(请输入答案:); scanf(%c,&TestquestionsN.result);getchar(); N+; /N表示结构体数组长度,通过加&号使其值能返回 return TRUE;Status DeleteNode(int n)/删除数组中的第n个元素 return TRUE;void printNode(TestNode p,int n)/输出第n道题题目 printf(%d) ,n); printf(%sn,p.subject); printf( A %s ,p.option1); printf(

12、B %s n,p.option2); printf( C %s ,p.option3); printf( D %s ,p.option4);Status Match(TestNode p,char m)/判断m是否为p题目的答案,若是返回TRUE,否则返回ERROR if(m=p.result) return TRUE; else return ERROR;void answer(int sum)/进行答题 int i,score=0,Num; char r; for(i=1;i=sum;i+) Num= rand()%sum; /随机函数,以随机选定何题进行解答 printNode(Test

13、questionsNum,Num+1); printf(n请输入答案:); scanf(%c,&r);getchar(); if( Match(TestquestionsNum,r) /调用函数IsMatch判断所输入的答案与标准答案是否相同 printf(n答案正确!n); score+; else printf(n答案错误!n); printf(n你的总成绩为:%dn,score);void main() char flag=N; int N=0,i, sum,score=0,chose; /*printf(输入想建立的题目文件题目数:); scanf(%d,&N);getchar();

14、InputTitle(N);*/ ReadNode(N); while(flag=N|flag=n) printf(ttt单项选择题标准化考试系统n ); printf(n); printf( ttt1 进行答题并判卷n); printf( ttt2 显示整张试卷内容n); printf( ttt3 插入试题n); printf( ttt4 保存到文件n); printf( ttt5 退出系统n); printf( ttt 请选择:); scanf(%d,&chose);getchar(); switch(chose) case 1:system(cls); printf(请输入你想要的答题数

15、目:); scanf(%d,&sum);getchar(); answer(sum); break; case 2:system(cls); for(i=1;i=N;i+) printNode(Testquestionsi-1,i); printf(n); break; case 3:system(cls);InsertNode(N);break; case 4:system(cls); if(SaveNode(N) printf(保存成功!n); else printf(保存失败!n);break; case 5:printf(你将退出系统(Y or N)?); scanf(%c,&flag);getchar(); if(flag=Y|flag=y) exit(0); system(cls);break; default:printf(请输入正确选择!n); 完成于2012年7月15日

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

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