版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单项选择题标准化考试系统公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-合肥学院计算机科学与技术系课程设计任务书20102011学年第二学期课程C+课程设计课程设计名称单项选择题标准化考试系统专业班级计算机科学与技术嵌入式(2)指导教师华姗姗、课程设计目的2011年6月29日将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面的能力应该得到锻炼:进一步巩固、加深学生所学专业课程C+程序设计语言的基本理论知识,理论联系实际,进一步培养学生综
2、合分析问题,解决问题的能力。全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。利用所学知识,开发小型应用系统,掌握运用C+语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。掌握结构化程序设计方法,熟悉面向对象程序设计方法。熟练掌握C+语言的基本语法,灵活运用各种数据类型。进一步掌握在集成环境下如何调试程序和修改程序。二、课程设计名称及内容课程设计名称:单项选择题标准化考试系统设计内容:设计并实现一个单项选择题标准化考试系统。该系统可以完成试题录入、试题抽取、自动判卷等功能。三
3、、任务和要求(一)功能要求:(1)用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。(二)其它要求:(1)只能使用C/C+语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)四、主要知识点面向对象程序设计方法界面制作,switch的应用。类和对象。动态数组(链表)类模板。文件的读写
4、。五、其他程序设计可在MicrosoftVC+、BorlandC+Builder环境下进行。六、参考资料.郑莉等编着C+语言程序设计(第三版)北京:清华大学出版社.郑莉等编着C+语言程序设计(第三版)学生用书北京:清华大学出版社.李春葆等编着C+程序设计学习与上机实验指导北京:清华大学出版社.范辉等编着VisualC+程序设计简明教程高等教育出版社.李龙澍C+程序设计实训教程北京:清华大学出版社.洪国胜等编着C+Builder程序设计轻松上手北京:清华大学出版社.严蔚敏等数据结构(c语言版)北京:清华大学出版社,1997年4月第1版。.胡学钢等数据结构算法设计指导北京:清华大学出版社,1999
5、年第1版。1目的与要求一目的:设计一个单项选择题标准化考试系统,方便考试时试题的录入与批改。二要求:用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案);试题录入:可随时增加试题到试题库中;试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入);答题:用户可实现输入自己的答案;自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。2总体设计一总的概叙:1、用来保存试题库,可以用到”StructTestNodeTestquestions”结构体数组,将试题一一对应的保留下来,放在相应的文件里;2、试题的录入,可以定义一个”voidInputTitle(intN)”和”St
6、atusInsertNode(int&N)”函数将试题录入;3、试题的抽取,可以定义一个”voidprintNode(TestNodep,intn)”的函数,用到”Rand”函数进行随机抽取;4、答题方面,,则定义一个”voidanswer(intsum)”函数用于答题者的输入答案;5、自动判卷,则可以定义一个”StatusMatch(TestNodep,charm)”函数,用来对比答题者答案和正确答案,给出判断正确与否;6、用一个main函数将上述各个函数功能块连接起来,实现”单项选择题标准化考试系统”的各个方面的功能,完成设计.。二、大概流程图单项选择题标准化考试系统保插进显退存行岀入答整
7、系试到统文题题示单项选择题标准化考试系统保插进显退存行岀入答整系试到统文题题示3详细设计3详细设计功能模块设计3.1.1保存文件功能模块:3.成功打开文件3.1.3答题功能模块入函数ReadNode(intN)N3.ReturnReturnERRORERRORNsum写入娄判断条件成立a从键盘获读出数答案是否正确NumReturnReturnERRORERRORNsum写入娄判断条件成立a从键盘获读出数答案是否正确Num二ranH()%sun+输出”正确”输出”错误”数据结构设计输出”*总成绩输出”正确”输出”错误”数据结构设计输出”*总成绩结束程序中主要用到了结构体数组,定义类型,如type
8、defintStatus等,用结构体数组可以使得程序比较简便,易于读懂,免去频繁的赋值,而用定义类型,可以使得程序具有移植性,健壮性好。4调试分析操作界面进行答题并判卷在这一部分我发现如果题库中没有试题的话,程序依然会让你答题,显示的题目和选项都是空白的,操作起来很费神。后来再程序中加了一个判断题库中题目数量显示和比较答题数和试题数多少的判断语句,重新运行得以解决。三、显示整张试卷内容选这个选项的时候,如果题库没有试题,将会显示空白。所以又在程序中加了一个和上一个差不多的判断语句。四、插入试题五、退出系统调试分析结论:里面用到的随机函数在随机选择试题时,有时会遇到选择出来的试题时重复的,由于时
9、间比较紧迫,暂时还没有找出原因,修正过来.5总结经过这整整5天的C+课程设计的训练,我学到了很多,最主要的一点是怎样去运用自己学过的知识,怎样去找到你所需要的资料,并在短时间把它运用到具体的实践中,运用到你所需要的方面。这个过程是很艰难的,要花费很多的时间和精力,但是,在事情过后,自己就会发现自己已经在这个过程中学到了自己想要的东西,这种获得是更深刻的。在做这个C+课程设计的时候,我原先也是学的不怎么好,什么是结构体数据,什么是定义类型,怎样在一个main函数中调用别的定义函数,等等,可以说是忘得差不多了。然而,在这门课程设计中,这些方面却是特别重要的,可以说,掌握了这个,你就完全可以完成自己
10、的任务。这就要求我们要自己去学,自己去探索。当然,看书、问同学是必不可少的,还有,身边有非常丰富的网络资源给我们好好利用,百度就是个很不错的地方。这样就从另一方面锻炼了我们检索知识获取信息的能力,在这个过程中,可以学到的是一种提升自我的能力。当然,由于个人能力所限,这份课程设计有一些别的方面还是要参考人家的的资料,在读懂别人材料的同时,自己取人所长,补己之短,经过多次的调试,总结,最后交出一份自己比较满意的答卷。通过这次的课程设计,让我进一步的了解到C+在我们日常生活中的重要性,而且,也更进一步的激发了我学习这门语言的兴趣.经过这次的训练,我相信自己以后会用更多的时间来把这门语言学好,掌握好这
11、门必修的基础语言。6.附录#include#includeubject);cout请输入选项A:;gets(TestquestionsN.option1);cout请输入选项B:;gets(TestquestionsN.option2);cout请输入选项C:;gets(TestquestionsN.option3);cout请输入选项D:;gets(TestquestionsN.option4);cout&TestquestionsN.result;getchar();N+;/N表示结构体数组长度,通过加&号使其值能返回returnTRUE;StatusDeleteNode(intn)/删除
12、数组中的第n个元素returnTRUE;voidprintNode(TestNodep,intn)/输出第n道题题目coutn;coutendl;coutA7coutBendl;coutC7coutDStatusMatch(TestNodep,charm)/判断m是否为p题目的答案,若是返回TRUE,否则返回ERRORif(m=returnTRUE;elsereturnERROR;voidanswer(intsum)/进行答题inti,score=0,Num;charr;for(i=1;i=sum;i+)Num=rand()%sum;/随机函数,以随机选定何题进行解答printNode(Tes
13、tquestionsNum,Num+1);cout&r;getchar();if(Match(TestquestionsNum,r)/调用函数IsMatch判断所输入的答案与标准答案是否相同coutendl;cout答案正确!endl;score+;elsecoutendl;cout答案错误!endl;cout你的总成绩为:score&N;getchar();InputTitle(N);*/ReadNode(N);while(flag=N|flag=n)cout单项选择题标准化考试系统endl;coutendl;cout1进行答题并判卷endl;cout2显示整张试卷内容endl;cout3插
14、入试题endl;cout4保存到文件endl;cout5退出系统endl;coutchose;getchar();switch(chose)case1:system(cls);if(N=0)cout题库中没有试题,请添加后在进行答题!endl;break;coutsum;getchar();if(sumN)cout输入错误,请重新操作!endl;break;answer(sum);break;case2:system(cls);if(N=0)cout题库中没有试题,请添加后在进行此类操作!endl;break;for(i=1;i=N;i+)printNode(Testquestionsi-1,i);co
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新建铜水暖件项目立项申请报告
- 新建冷饮杯项目立项申请报告
- 镍角生产加工项目可行性研究报告
- 2025标准的福建省女职工特殊保护专项集体合同
- DB12T 696-2016 天津市名牌产品评价准则
- DB12T 640-2016 天津市行政许可事项操作规程 生鲜乳收购、运输许可-生鲜乳收购许可
- 2025上海市农作物种子买卖合同示范文本
- 移动端数字营销研究-洞察分析
- 2024年校园一卡通系统项目项目进度管理与质量控制合同3篇
- 语言政策评估体系构建-洞察分析
- 《大学生职业发展与就业指导》第二章自我认知
- 气压治疗仪的使用方法课件
- 最新营销中心物业服务可视化操作指引说明详解新实用手册
- 食材配送投标服务方案
- 医疗医学医生护士工作PPT模板
- 排污许可证守法承诺书(2篇)
- 矩形顶管施工方案28
- 液压转向器厂总平面布置课程设计
- 说明性语段的压缩(课堂PPT)
- GB_T 13234-2018 用能单位节能量计算方法(高清正版)
- 装配式钢板筒仓安装技术经验规程
评论
0/150
提交评论