计算机毕业设计介绍:
1.页面初始化
修改试题页面调用函数Page_Load(object sender,System.EventArgs e)绑定试题种类和被修改试题,其中绑定试题种类数据功能由函数BindQuesKindData()实现,绑定修改问题数据功能由函数BindQuestionData()实现。
函数BindQuesKindData()绑定试题种类的数据,它调用数据访问层QuestionKindDB类的函数GetQuesKinds()从QuestionKinds表中获取试题种类数据。
函数BindQuestionData(int nQuestionID)绑定被修改试题数据,它调用数据访问层QuestionDB类的函数GetSingleQuestion(nQuestions表中获取试题数据。
函数BindQuestionData(int nQuestionID)调用函数SetListIndex(SqlDataReader recq)设置试题种类下拉列表的当前选择项,该函数使用数据访问层的获取的数据对象recq,然后逐个比较下拉列表的选择项。
2.修改试题
在图5.2.2(b)中,用户单击“确认修改”按钮触发事件UpdateQuestion_Click()实现试题的修改功能。该事件和添加试题事件有很多相同之处。
5.2.3 删除试题
删除试题功能直接嵌套在页面EditQuestion.aspx页面实现,EditQuestion.aspx.cs 文件是它的代码隐藏文件。如图5.2.2(b)删除试题和试题修改实现有很多相同之处,如绑定试题种类的数据、绑定删除试题的数据等,考虑到篇幅,不再对这部分进行介绍。
下面仅仅介绍试题的删除功能,该功能由“确认删除”按钮实现,用户单击“确认删除”按钮触发时间DeleteMyQuestion_Click(object sender,System.EventArgs e),该事件删除选中的试题。
运用的函数与试题添加模块相似,在这里不详细介绍。
确认提交后自动生成一套试卷,使用随机算法生成整套试题过程比较复杂,生成整套试卷需要的参数如下:
TotalMark 试题的总分
MinDefficult 试题的最小难度系数
MaxDefficult 试题的最大难度系数
KindList 试题的题型和每种题型的数量ArraryList
应用程序在创建整套试题之前就会检查上面4个参数是否匹配,如每套试题的总分是否为设置的TatalMark的值,如果不是,则为无效试卷。
在随机生成试卷过程中,应用程序首先调用函数CreateIntegerExaminePaper()生成整套试卷。该函数递归调用自己,直到生成试卷。
函数CreateSpecialKindQuestion()随机生成一种特定的题型,该函数比较复杂。在函数的开始处定义一些局部变量,如Index(试题索引)、IndexList(试题索引容器)等,并调用随机函数生存试题的ID,最后把结果集添加到QuestionList集合中。
然后通过生成随机序号序列IndexList(相当于试题ID的映射序列)从Questions表记录集中获取相对应的试题ID,并把获取的试题ID添加到临时结果集中。
生成随机结果集的映射索引时调用函数IsExisIndex()保证索引的唯一性,该函数逐个比较即将添加的值和数组中的每个值,如果结果相等返回false,否则返回true。
随机函数GetRandomInt(int nKindNum)调.NET Framework的随机函数类的Next()函数产生所需要的随机数。
生成试卷后可以预览,由view.aspx文件实现。
〖资料来源:计算机毕业论文 www.xiaoniu168.com〗
第11页为计算机毕业论文部分......