Visual Basic 课 程 设 计 报 告
所属课程名称:Visual Basic程序设计 课程设计题目:考试系统 课程设计难度:四星
课程设计时间:2012.2.27 ~ 3.23 学 号: 姓 名: 0
南京理工大学机械工程学院
二〇一二年三月
一、 程序功能
(1)、运行程序时,首先显示主界面。单击“单选题”、“多选题”、“判断题”、“填空题”四个按钮之一,会出现不同题型的窗口。 (2)、单选题、多选题、判断题和填空题窗体上有前一题、下一题、查看成绩、退出四个按钮。用户看完题后作答,可在任意时刻点击查看成绩按钮,会出现对话框,显示此时答对题数。按退出按钮,返回主菜单。窗体上会显示已答题数和总题数。 (3)、单击前一题、后一题会切换题目,若已位于第一题和最后一题,会弹出对话框,给出提示信息。
二、 课程设计的详细设计
功能描述及设计思路
本程序实现以下五部分功能:1、读取文件,获得题目;2、记录正确答案;3、记录用户答案;4、比对答案;5、得出成绩。分别实现各部分功能即可完成整个程序。
在窗体Load事件中获得题目和答案,在后续操作中记录用户答案,单击查询按钮后,比对答案,获得成绩。
不同按钮执行不同过程,实现不同功能。
三、 程序调试过程
【困难1】读取数据库文件及逐条显示在窗体上。
【解决办法】通过查阅课本,编写课本给的样例程序,学习用OpenDatabase语句打开数据库,并用MoveNext和MovePrevious方法移动记录,逐条显示题目和答案。 【困难2】保存用户答案。
【解决办法】 通过向老师请教,用数组保存用户答案。通过多次调试,确定数组记录的位置,使之正确保存用户答案。
【困难3】比对答案和显示成绩。
【解决办法】 查阅上学期课本,复习数组的用法。在各窗体的Load事件中,用数组保存正确答案,单击查看成绩按钮,会比较用户答案和正确答案,若正确则成绩加1,得出成绩。
四、 更上一层楼
样例程序在运行时,若退出该题型,答案会被清空。本程序中,用户可在做当前题未做完时退出去做其他题型,其答案会被保留,用户可在任意时刻后回到该题型继续做。
1
五、 课程设计总结
(1)、程序不够简洁。由于事先没有进行细致规划,导致在编写时没有全局概念,可
以重复使用的变量却多次定义,致使程序变量有点乱。 (2)、没有使用过程。单纯在事件中编写事件,不简洁。 (3)、功能上,不能在主菜单中反馈本次测验总成绩。
六、 源程序代码(以单选题为例)
(1)打开文件,获得题目
Set tiku = OpenDatabase(App.Path & \"\iku.mdb\文件,加载到内存
Set recset = tiku.OpenRecordset(\"xz3\")
Dim a(0 To 2) As String n = n + 1
X = recset!question a(0) = recset!ans1 a(1) = recset!ans2 a(2) = recset!ans3 Label1.Caption = X
Option1(0).Caption = \"(A)\" & a(0) Option1(1).Caption = \"(B)\" & a(1) Option1(2).Caption = \"(C)\" & a(2) Label3.Caption = \"第\" & n & \"题 \"
Label4.Caption = \"(已做\" & m & \"题,共11题)\"
(2)、记录用户答案
If Option1(0).Value Then ans1(n) = \"100\"
If Option1(1).Value Then ans1(n) = \"010\" If Option1(2).Value Then ans1(n) = \"001\"
(3)、比对答案获得成绩
Dim p As Integer
Do While p <= 10 '比对答案 If tans1(p + 1) = ans1(p + 1) Then socer = socer + 1 p = p + 1 Loop
MsgBox \"共11题答对\" & socer & \"题\成绩查询\" socer = 0 '重置成绩
(4)、显示已做题答案
If ans1(n) = \"\" Then
Option1(0).Value = False '此题未做 Option1(1).Value = False Option1(2).Value = False
2
打开
Else
If ans1(n) = \"100\" Then Option1(0).Value = True '显示前一题答案 If ans1(n) = \"010\" Then Option1(1).Value = True If ans1(n) = \"001\" Then Option1(2).Value = True End If
二、心得体会
(1)、纸上得来终觉浅。真正掌握知识要在实际中多运用,多操练。只有会运用学
会的理论知识解决实际问题才算真正掌握。 (2)、困难会有的,但只要不灰心丧气,敢于面对,敢于解决,遇到问题不能急躁,要分析问题解决问题。多想办法就能克服困难,取得进步。 (3)、一个大的任务要会分割成小的问题,逐个解决,这样会逐步前进,最终成功
(4)、要多请教老师。在完成课题时,老师给了我很大帮助。很多问题是在老师的帮助下解决的,没有老师的帮助我会走很多弯路,甚至完成不了课题。列出程序功能未实现之
处,程序运行有问题之处。
3
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- jqkq.cn 版权所有 赣ICP备2024042794号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务