文章来源:淘论文网   发布者: 毕业设计   浏览量: 50



还可以点击去查询以下关键词:
[计算机]    [自动]    [出卷]    [论文]    [程序源码]    [VB计算机自动出卷论文程序源码]   

 本软件的设计目的是在题库建立管理维护和试卷生成方面为教学单位和人员提供方便和帮助。通过这几个月的毕业设计,我学到很多以前没有学到的Delphi开发技术,在软件工程学上更是取得了很大的进步。经过大量的测试和试用,作者深信本软件达到了方便和实用的设计目的,并在软件界面和易用实用等方面有着独到之处。

需求分析
 负责的功能模块
 设计试题生成功能,试题能分布整个教学内容
 具有试题的答案生成功能
 数据库设计及维护
 程序的其它选项设置
 软件功能分析
根据我负责的功能模块,主要是在试卷的生成上。
1.要显示书本章节信息以供用户使用。而在数据库里章节的存放是没有规则也即它们的顺序不一定按照真实书本的章节顺序来存储的。但是在显示章节信息的时候必须按照书本的章节顺序来显示。所以特别设置如下的数据类型:
Public Function AddQuestion(ByVal iCount As Long, ByVal QID As Long, ByVal QType As QuestionType, ByVal Score As Single) As Boolean
    On Error Resume Next
    DataEnv.rsQstPaper.Open
    DataEnv.rsQstPaper.Filter = "QuestionID = " & CStr(QID) & " and QuestionType = " & CStr(QType) & " "
    If DataEnv.rsQstPaper.RecordCount > 0 Then
        AddQuestion = False
    Else
        DataEnv.rsQstPaper.Filter = ""
        DataEnv.rsQstPaper.AddNew
        DataEnv.rsQstPaper.Fields("PaperSerial") = iCount
        DataEnv.rsQstPaper.Fields("QuestionID") = QID
        DataEnv.rsQstPaper.Fields("QuestionType") = QType
       
        DataEnv.rsQstPaper.Fields("Score") = Score
      
        DataEnv.rsQstPaper.Update
        AddQuestion = True
    End If
    DataEnv.rsQstPaper.Filter = ""
    DataEnv.rsQstPaper.Close
End Function
2.手动生成试卷时要不断的将用户选择的题目临时存储起来,由于记录一道题所包含的信息不是很多,再因为这些信息一会儿还要在“保存答案”里使用,所以我设置了4个的全局变量,定义如下:
Public Function AddQuestion(ByVal iCount As Long, ByVal QID As Long, ByVal QType As QuestionType, ByVal Score As Single) As Boolean
    On Error Resume Next
    DataEnv.rsQstPaper.Open
    DataEnv.rsQstPaper.Filter = "QuestionID = " & CStr(QID) & " and QuestionType = " & CStr(QType) & " "
    If DataEnv.rsQstPaper.RecordCount > 0 Then
        AddQuestion = False
    Else
        DataEnv.rsQstPaper.Filter = ""
        DataEnv.rsQstPaper.AddNew
        DataEnv.rsQstPaper.Fields("PaperSerial") = iCount
        DataEnv.rsQstPaper.Fields("QuestionID") = QID
        DataEnv.rsQstPaper.Fields("QuestionType") = QType
       
        DataEnv.rsQstPaper.Fields("Score") = Score
      
        DataEnv.rsQstPaper.Update
        AddQuestion = True
    End If
    DataEnv.rsQstPaper.Filter = ""
    DataEnv.rsQstPaper.Close
End Function
  
 
    3.在自动生成试卷里最主要的一点就是如何生成一个覆盖知道点广且试题不重复的试卷。其中的关键算法在于如何生成一个不重复的随机数序列。其中变量定义如下:
  Public Function Create() As Boolean
    On Error Resume Next
    If Created Then
        Create = False
        Exit Function
    End If
    DataEnv.DelQuestion
    Dim iCount As Long
    Dim QID As Long
    Dim Score As Single
   
   
   
    For iCount = 1 To FillingNum
       QID = GetQID(1, Score)
       AddQuestion iCount, QID, 1, Score
    Next
   
    For iCount = 1 To RightWrongNum
       QID = GetQID(2, Score)
       AddQuestion iCount + FillingNum, QID, 2, Score
    Next
    For iCount = 1 To SingleSelNum
       QID = GetQID(3, Score)
       AddQuestion iCount + FillingNum + RightWrongNum, QID, 3, Score
    Next
    For iCount = 1 To MultiSelNum
       QID = GetQID(4, Score)
       AddQuestion iCount + FillingNum + RightWrongNum + SingleSelNum, QID, 4, Score
    Next
    For iCount = 1 To EssayQuesNum
       QID = GetQID(5, Score)
       AddQuestion iCount + FillingNum + RightWrongNum + SingleSelNum + MultiSelNum, QID, 5, Score
    Next
    Created = True
    Create = True
End Function



这里还有:


还可以点击去查询:
[计算机]    [自动]    [出卷]    [论文]    [程序源码]    [VB计算机自动出卷论文程序源码]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/9845.docx
  • 上一篇:VB超市管理系统的设计与实现
  • 下一篇:VB大型机房学生上机管理系统设计与实现