optionC varchar (50) 是 选项C
optionD varchar (50) 是 选项D
que_Answers varchar(50) 是 正确答案
(4)学生分数表,存储学生的章节测试分数信息,如表4所示。
表4 学生分数表
字段名 数据类型 是否允许为空 描述
studentNum varchar(50) 否 学生学号
which_Lesson varchar(50) 否 测试章节编号
studentName varchar(50) 是 学生姓名
res_Single int 是 单选题成绩
res_More int 是 多选题成绩
res_Check int 是 判断题成绩
res_Zhuguanti int 是 主观题成绩
res_Total int 是 总成绩
4.系统的实现
4.1用户登录界面的实现
首先需要在用户登录界面判断用户登录是否成功,即判断用户名、密码和身份的输入是否正确,是否与已存数据库中的某些字段相吻合,且用户名和密码均为必填字段,用RequiredFieldValidator控件强制用户必须填入相关信息才能进行登录验证,用DropDowndList控件控制用户的身份选择,用TextBox控件接收用户输入的用户名和密码信息。
若登录不成功,说明用户名、密码或身份错误,需要用户重新输入用户名和密码,并选择身份,进行再次验证;若登录成功,用Session存储登录成功的用户信息,再判断是学生登录,还是管理员登录,分别跳转到不同的Web页面。
4.2在线考试模块的实现
登录成功的学生,在接受考试的相关规则的前提下,选择考试章节,进行C++相关章节的在线考试,在规定的时间内进行答题,并且对同一章节的测试只能选择一次答题,不允许重复答题。
在考试界面使用Datalist控件显示后台数据库中的试题信息(包括单选题、多选题、判断题、主观题等),用label控件接收并显示Session中的考生基本信息。考试结束时,客观题自动评分,答案不计入数据库,并可在考试结束时查看成绩;主观题存入数据库,等待教师批阅。
如果在规定的时间内,考生完成了答题,则可自行提交试卷;如果在规定的时间内,考生不能完成答题,当考试时间到时Time()函数就会触发button提交按钮,系统将强制提交试卷。
4.3后台管理模块的实现
登录成功后的管理员可以进行题库信息、学生信息、章节信息、管理员信息、课程信息等的修改,用TreeView控件在每个Web页面左边设置页面导航,跳转到相关界面,完成对应的相关功能,以学生基本信息页面为例,如图3所示。
图3 学生基本信息图
(1)学生信息管理:使用Gridview控件显示学生基本信息,用SQL命令单个或成批的实现学生信息的添加、删除、修改。
(2)题库信息管理:可按章节关键字进行章节试题的具体查询,也可以进行相应章节试题的添加、删除、修改,设定考题的分值、类型(包括单选、多选、填空、程序设计题)、总分值等。
(3)管理员信息管理:管理员登录后台界面,可以进行自身信息的相关修改。
(4)课程信息管理:实现对C++相关章节信息的管理,可以显示已添加的C++相关章节的课程信息,也可以添加新章节、删除已有章节。 《C++面向对象程序设计》课程考试系统的设计与实现(4):http://www.youerw.com/jisuanji/lunwen_2426.html