欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单项选择题标准化考试系统设计1.docx

    • 资源ID:13171719       资源大小:247.83KB        全文页数:24页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单项选择题标准化考试系统设计1.docx

    1、单项选择题标准化考试系统设计1沈阳航空航天大学课 程 设 计 报 告 课程设计名称:C语言课程设计 课程设计题目:单项选择题标准化考试系统设计 院(系): 计算机学院 专 业: 计算机科学与技术 班 级: 34010104 学 号: 2 姓 名: 指导教师: 孙伟东 完成日期: 2014年03月1日 第1章 概要设计1.1题目的内容与要求内容:设计并实现一个单项选择题标准化考试系统。该系统可以完成试题录入、试题抽取、自动判卷等功能。要求:(1)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中(3)试题抽取:每次从试题库中可以随机抽出N道题(

    2、N由键盘输入)(4)答题:用户可实现输入自己的答案(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。1.2总体结构 本程序主要分为四个模块(功能模块图见下图):(1)模块一:菜单操作模块该模块实现程序的菜单操作。2)模块二:将题目装入内存模块函数开辟内存空间将试题文件中题目装入内存中。(3)模块三:开始答题模块函数会让用户输入要答的题目数,在屏幕上输出题干和选项并让用户输入答案。判断用户输入答案是否正确。4)模块四:添加试题模块打开储存试题的文件进行试题信息输入。 第2章 详细设计2.1菜单操作模块:控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块,实现各项

    3、功能,流程如图2.1所示。图2.1 该模块实现程序的菜单操作。实现算法如下:在屏幕上输出菜单选项。接受用户输入。2.2.将题目装入内存模块:将题目装入内存模块函数开辟内存空间将试题文件中题目装入内存中流程如图2.2所示 图.函数开辟内存空间将试题文件中题目装入内存中。实现算法如下:遍历文件判断回车符个数(计算题目数)。根据提供参数判断是否将当前题目装入内存。开辟内存空间,将题目信息装入内存。关闭文件返回题目总数。2.3开始答题模块:开始答题模块函数会让用户输入要答的题目数,在屏幕上输出题干和选项并让用户输入答案。判断用户输入答案是否正确。流程图如图2.3 图2.3函数会让用户输入要答的题目数,

    4、在屏幕上输出题干和选项并让用户输入答案。判断用户输入答案是否正确。实现算法如下:接受用户输入题目数,判断是否合法(大于0、小于总题数)。置随机数并判断随机数是否合法。调用将题目装入内存模块题目装入内存。在屏幕上输出题目,接受用户输入答案。判断用户输入的答案是否正确,输出答题结果统计。2.4添加试题模块:流程图如图2.4 打开储存试题的文件进行试题信息输入。实现算法如下:打开文件。开辟内存空间,接受用户输入题目信息。判断用户输入是否合法。写到文件并保存。第3章 调试分析问题1:文本文件无法删除指定的一行方法:所以要用类似于进栈出栈的方法,把要删的信息过滤出去问题2:程序不能运行方法:解决办法就是

    5、不断的按F10进行调试,最终找到错误的地方。问题3:打开的文件没有关闭,最终导致一部分源代码被无意休改方法:问了成绩好的同学,最后加了个关闭文件的函数。第4章 使用说明 运行操作及结果:该程序可以进行单项选择题标准化考试的系统,实现输入不同的指令数字实现不同的功能;实现选择答题增加题目以及直接退出系统。单项选择题标准化考试系统 。请输入你要的操作:1请输入你要的操作:2 图为进行单项选择题标准化考试系统设计的情形使用时根据提示选择想要的查找方式。参考文献:1 张长海.C语言程设计M.北京:高等教育出版社,20062 谭浩强 C程序设计解题与上机指导(第三版) 北京 清华大学出版社 20093

    6、范辉 等编著Visual C+6.0程序设计简明教程 高等教育出版社4 严蔚敏等 数据结构(c语言版) 北京:清华大学出版社,1997年4月第1版。5 胡学钢等数据结构算法设计指导北京:清华大学出版社,1999年 第1版。附 录(程序清单)#include #include #define LEN sizeof(struct test)struct test char que81; char answer181; char answer281; char answer381; char answer481; char ture; struct test *next;struct test *h

    7、ead;/全局变量储存第一个结构体的指针int zts(int m)/将第m道题装入内存,输入-1时将返回总题数 FILE *fp; struct test *p1=NULL; char ch,ch15; int i,n=0,wz,py; if(fp=fopen(c:test.txt,r)=NULL)/只读方式打开文件 printf(文件打开失败请检查C盘下的test.txt文件。n); exit(0); do py=1; ch=fgetc(fp); for(i=0;ch!=n&ch!=-1;i+)/循环判断回车符个数 py+; ch=fgetc(fp); n+; /储存行数的变量 if(n=

    8、m)/如果当前行数与传入参数相等 if(p1=NULL)/判断是否是第一次开辟内存空间 p1=(struct test *)malloc(LEN); head=p1; p1-next=NULL; else p1-next=p1; p1=(struct test *)malloc(LEN); p1-next=NULL; wz=ftell(fp);/记录指针当前位置 fseek(fp,(wz-py-1),0);/调整指针位置到行首 fscanf(fp,%s%s%s%s%s%s,&p1-que,&p1-answer1,&p1-answer2,&p1-answer3,&p1-answer4,&ch1)

    9、; fseek(fp,wz+1,0);/调整指针位置到行末 p1-ture=ch10; break;/将数据装入内存后跳出循环 while(!feof(fp);/文件结束跳出循环 fclose(fp); return n;/返回题目总数nvoid exe1() void main(); void exe2(); int n,m=0,tm,i,t=0,f=0; char ans2; struct test *p1; system(cls); printf(请输入要答题数:); scanf(%d,&n); tm=zts(-1); if(0n|ntm) printf(答题数应小于总数!); exe1

    10、(); for(i=0;in;i+)/n为用户要答题数 do m=rand();/置随机数 while(!(0m&mque,p1-answer1,p1-answer2,p1-answer3,p1-answer4); scanf(%s,&ans); if(toupper(ans0)=p1-ture)/判断用户输入答案是否正确 printf(恭喜你答对了!nn); t+;/回答正确统计 else printf(对不起,你答错了。n正确答案是:%cnn,p1-ture); f+;/回答错误统计 p1=head; do head=p1-next; free(p1); p1=head; while(p1

    11、!=NULL);/释放结构体占用内存 printf(*n); printf(n已完成测试!n共做%d道题:%d错误,%d正确。n正确率:%5.2f%nn,n,f,t,(float)t/n*100); printf(*n); printf(nn1.继续答题;2.添加题目;3.返回主菜单;n请选择:); i=0; scanf(%d,&i); if(i=1) exe1();/继续答题 else if(i=2) exe2();/添加题目 else main();/返回主菜单void exe2()/实现用户自主输入题目 void main(); system(cls); int n; FILE *fp;

    12、 if(fp=fopen(c:test.txt,a)=NULL) printf(文件打开失败请检查C盘下的test.txt文件。n); exit(0); struct test *p1=NULL; p1=(struct test *)malloc(LEN);/开辟内存空间 do printf(请输入题目:); scanf(%s,&p1-que); while(p1-que0=0); do printf(请输入选项A:); scanf(%s,&p1-answer1); while(p1-answer1=0); do printf(请输入选项B:); scanf(%s,&p1-answer2);

    13、while(p1-answer2=0); do printf(请输入选项C:); scanf(%s,&p1-answer3); while(p1-answer3=0); do printf(请输入选项D:); scanf(%s,&p1-answer4); while(p1-answer4=0); printf(请输入答案:); do scanf(%c,&p1-ture); p1-ture=toupper(p1-ture); while(p1-ture!=A&p1-ture!=B&p1-ture!=C&p1-ture!=D); printf(n确认输入题目?n1.是。 2.否。n); scanf

    14、(%d,&n); if(n=1) fputc(n,fp); fputs(p1-que,fp); fputc( ,fp); fputs(A.,fp); fputs(p1-answer1,fp); fputc( ,fp); fputs(B.,fp); fputs(p1-answer2,fp); fputc( ,fp); fputs(C.,fp); fputs(p1-answer3,fp); fputc( ,fp); fputs(D.,fp); fputs(p1-answer4,fp); fputc( ,fp); fputc(p1-ture,fp); fclose(fp); printf(保存成功!

    15、); system(cls); free(p1); printf(是否继续添加?n1.继续添加 2.返回主菜单n); scanf(%d,&n); if(n=1) exe2(); else main(); else free(p1); exe2(); void main() int n,temp=1; while(1) system(cls); printf(*n); printf(欢迎使用单项选择题标准化考试系统n); printf(*n); printf(t1.开始答题。n); printf(t2.添加试题。n); printf(t3.退出系统。n); printf(n请选择:); scan

    16、f(%d,&n); switch(n) case 1:exe1();temp=0;break; case 2:exe2();temp=0;break; case 3:printf(n-,goodbye!n); default:printf(输入错误,请重新输入:);scanf(%d,&n);break; 课程设计总结: 经过这整整5天的C课程设计的训练,我学到了很多,最主要的一点是怎样去运用自己学过的知识,怎样去找到你所需要的资料,并在短时间把它运用到具体的实践中,运用到你所需要的方面。这个过程是很艰难的,要花费很多的时间和精力,但是,在事情过后,自己就会发现自己已经在这个过程中学到了自己想要的东西,这种获得是更深刻的。 在做这个C课程设计的时候,我原先也是学的不怎么好,什么是结构体数据,什么是定义类型,怎样在一个main函数中调用别的定义函数,等等,可以说是忘得差不多了。然而,在这门课程设计中,这些方面却是特别重要的,可以说,掌握了这个,你就完全可以完成自己的任务。这就要求我们要自己去学,自己去探索。当然,看书、问同学是必不可少的,还有,身边有非常丰富的网络资源给我们好好利用,XX就是个很不错的地方。这样就从另一方面锻炼了我们检索知识获取信息的能力,在这个过程中,可以学到的是一种提升自我的能力。指导教师评语:指导教师(签字): 年 月 日课程设计成绩


    注意事项

    本文(单项选择题标准化考试系统设计1.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开