试卷自动出题系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南中医学院
《计算机程序设计》(c语言)
课程设计报告
试卷自动出题系统
院系:信息技术学院
专业:计算机科学与技术
班级:2013级计科本科班
姓名:史向祎、游少莎、梁成宜
指导老师:***
完成日期:2013年12月28日
目录
试卷自动出题系统 (1)
1.题目描述: (3)
2.算法设计/设计思想: (3)
2.1设计思想: (3)
2.2分工情况: (4)
3.结构框图、各模块的功能: (4)
3.1各模块的功能: (4)
3.1.1、main()函数 (4)
3.1.2、land()函数 (4)
3.1.3、welcome()函数 (4)
3.1.4、subject_choose()函数 (4)
3.1.5、ques_total()函数 (4)
3.1.6、question_i()函数 (4)
3.1.7、getSystemTime()函数 (5)
3.1.8、score_i()函数 (5)
3.2结构框图: (5)
4.程序结构: (7)
4.1登陆函数land()函数 (7)
4.2选择科目subject_choose()函数 (8)
4.3试题总数函数ques_total()函数 (9)
4.4定义试题函数:question_i()函数 (10)
4.5显示分数函数 (11)
5.源程序及调试结果清单 (12)
5.1源程序 (12)
5.2调试结果: (25)
6设计总结及心得体会 (29)
6.1设计总结 (29)
6.2设计心得: (29)
试卷自动出题系统
1.题目描述:
1.1设计一个简单的出题系统,要求有简单的界面,程序段要分清模块。(要求)
程序共包括以下功能:
1.欢迎界面;
2.密码输入登陆界面;
3.显示主菜单;
4.选择所做的科目;
5.输入所做科目的题目数目;
6.系统根据编写的程序随机给出所选科目的题目;
7.用户边做题,系统判断题目正误并且记录系统时间;
8.系统根据所做题目正误给出最后得分并给出时间计算出分数;
9.退出出题界面。
1.2按照分析,设计,编码,调试和测试的软件开发过程完成这个应用程序;
1.3程序运行之后,通过从键盘上输入的试卷题数,系统能够随机生成选择试题(由单选题和多选题两大题型);
1.4用户可输入选择题显示出答案选项;
1.5系统自动改卷并统计出总分,并显示做对的题号和数目;显示做错的题号和数目,并给出最终得分。
2.算法设计/设计思想:
2.1设计思想:
1.通过函数的嵌套调用来实现对当前程序中各个模块的连接与调用;
2.采用模块化设计思想,程序包含主函数和多个子函数,通过函数的调用来完成各项功
能的衔接。
3.主要利用了land()函数实现登陆,其中主要用了if语句嵌套和数组知识strcmp();在系
统时间(时间和日期)函数中主要用到了using namespace std; getSystemTime()获得系统时
间。
4.在登陆函数、欢迎界面设计及科目选择中用选择函数,循环控制结构,子函数的声明
及调用;在系统出题环节,用rand()随机函数实现出题,主要用了switch开关语句和if 嵌套来完成多分支情况;for语句实现循环;在计分环节数组用来存放正确以及错误的题号;试题分数显示环节,即统计出题目,分数,又有前后时间的对比,以便答题者得到
自己的分数及对应的时间。
2.2分工情况:
游少莎主要负责登陆界面,欢迎以及显示规则界面的设置,包括对背景色字体等进行设计。还负责主菜单的设计,科目选择函数的编写;
梁成宜主要负责完成用户输入题目总数,系统自动出题,以及分数的显示;
史向祎主要负责完成系统时间的显示,各个函数之间的调用以及界面的组合。
3.结构框图、各模块的功能:
3.1各模块的功能:
该程序共分八个模块,以下为各模块的功能说明:
3.1.1、main()函数
主要负责对各个函数的声明,以及进入开始界面显示主菜单等。
3.1.2、land()函数
主要负责登陆工作,三次之内输入正确密码即可以登陆,三次输错,则自动退出系统;负责设置控制台背景色和字体颜色,使屏幕具有视觉美感。
3.1.3、welcome()函数
出现欢迎界面。并显示系统规则。
3.1.4、subject_choose()函数
主要实现用户自主选择测试的科目。在主菜单中选择1~4选项,选择做题还是退出系统。
3.1.5、ques_total()函数
主要负责用户自主选择所做题目的数目,但是不能超过系统规定的题数。
3.1.6、question_i()函数
该函数是系统按照用户的要求出现相应的数目的题目,用户边做题目,系统边改题,并同步显示出正确答案,并且在做题改题的同时统计正确、错误的数目及相应题号。
其中,1、2、3分别相对应英语、数学、c语言试题函数。
3.1.7、getSystemTime()函数
做题前后分别显示系统时间,使用户可以知道自己花了多少时间,便于自我评价。
3.1.8、score_i()函数
显示分数函数,用来显示各科做完后正确、错误的数目以及相应题号,并显示出最终得分。
其中,1、2、3分别相对应英语、数学、c语言的分数。
3.2结构框图: