计算机硬件知识考试系统.docx
- 文档编号:4406963
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:14
- 大小:375.88KB
计算机硬件知识考试系统.docx
《计算机硬件知识考试系统.docx》由会员分享,可在线阅读,更多相关《计算机硬件知识考试系统.docx(14页珍藏版)》请在冰豆网上搜索。
计算机硬件知识考试系统
沈阳航空航天大学
课程设计
学号2009040603052
班级94060302
姓名谷永健
指导教师刘学平
2011年7月6日
沈阳航空航天大学
课程设计任务书
学院:
机电工程学院专业:
车辆工程班级:
94060302
学号:
2009040603052题目:
计算机硬件知识考试系统
一、课程设计时间
2011年6月27日~7月1日(第17周),共计1周。
二、课程设计内容
用VB+Access组合,编写“计算机硬件知识考试系统”软件。
题目信息存储到Access数据库的表中,题目至少包括:
选择题、填空题和问答题等。
程序能实现对3种题型的考试及考试计时等功能。
用户界面中的菜单至少应包括“考生登录”、“题型选择”、“交卷”、“退出”4项。
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
目录
一、需求分析4
二、设计分析4
三、关键技术6
四、总结12
五、完整的源程序12
六、参考文献17
一、需求分析
模拟考试系统,需要做到学生登录,题型选择,考试时间的控制与考生答案的录入四种要求,给予考生便利。
要求:
①在Access中创建“填空题”,“选择题”,“问答题”“学生信息”四个表,每个表中至少要包括序号,题目,答题三部分。
②考生登录后,题目自动显示在窗口中
③答题过程显示时间,时间到自动退出并记录已经输入的答案
④可以随时交卷并记录答案
二、设计分析
(1)基本原理:
建立程序设计与数据库的连接,使用adodc控件
(2)总体设计:
图1总体设计
(3)详细设计:
图1详细设计
(4)数据库设计:
数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动所以必须根据考试所需,合理的设计题型和考生信息数据库。
三、关键技术
(1)建立与数据库的连接。
使用adodc控件,建立与数据库的连接,设置控件的connectionstring属性,将access数据关联到vb上(将两个文件放在一个文件夹中),之后用DataGrid控件,将Datasource属性设为Adodc1就完成了关联。
图一connectionstring属性设置
图二建立连接
(2)使用timer控件实现倒计时功能
使用的语言是
PrivateSubks_Click()
t=3600*Val
(1)
Timer1.Enabled=TrueEndSub
PrivateSubTimer1_Timer()
DimM,sAsInteger
t=t-1
M=Int(t/60)
s=tMod60
Form3.Label2.Caption=M&"分"&s&"秒"
If(t=0)Then
Timer1.Enabled=False
Form1.Adodc1.Recordset.AddNew
Form2.Adodc1.Recordset.AddNew
Form4.Adodc1.Recordset.AddNew
End
EndIf
EndSub
时间将在Form3的Label1中显示
此语言可以完成时间到时自动记录学生答题信息的功能
(3)登录系统
privateSubcmdOK_Click()
DimsqlAsString
DimrsAsADODB.Recordset
IfTrim(UserName.Text="")Then
MsgBox"没有输入用户名称,请重新输入!
",vbOKOnly+vbExclamation,"警告"
UserName.SetFocus
Else'查询用户
sql="select*fromUserInfowhereUserID='"&UserName.Text&"'"
Setrs=TransactSQL(sql)
Ififlag=1Then
Ifrs.EOF=TrueThen
MsgBox"没有这个用户,请重新输入!
",vbOKOnly+vbExclamation,"警告"
UserName.SetFocus
Else
IfTrim(rs.Fields
(1))=Trim(PassWord.Text)Then
rs.Close
Me.Hide
gUserName=Trim(UserName.Text)'保存用户名称
FrmMain.Show
UnloadMe
Else
MsgBox"密码不正确,请重新输入!
",vbOKOnly+vbExclamation,"警告"
PassWord.SetFocus
PassWord.Text=""
EndIf
EndIf
Else
UnloadMe
EndIf
EndIf
pwdCount=pwdCount+1'判断输入次数
IfpwdCount=3Then
UnloadMe
ExitSub
EndIf
EndSub
(4)界面设计
图三登陆界面
图四总界面
图五题目界面
图五倒计时界面
四、总结
本次课设我的题目是计算机硬件知识考试系统,通过本次课设而让我了解了数据库与vb的联系,学会了应用adodc控件使VB与数据库进行联系,还可以应用timer控件进行倒计时功能,并能记录考试答案。
在本次课设中,我遇到了许多问题,例如,timer控件的位置,考试答案的储存,特别是登录系统与数据库的链接,查找,定位等,但是经过老师的指点和自己查阅资料多方面的努力,我觉得我已经尽我所能的完成了本次课设。
在这次课设中,我觉得最大收获不仅是对vb的进一步理解,更重要的是提高了自主学习,自主探索的能力,为以后学习和工作中奠定了良好的基础。
五、完整的源程序
(一)FrmLogin
OptionExplicit
DimpwdCountAsInteger
PrivateSubcmdCancel_Click()
UnloadMe
ExitSub
EndSub
PrivateSubcmdOK_Click()
DimsqlAsString
DimrsAsADODB.Recordset
IfTrim(UserName.Text="")Then
MsgBox"没有输入用户名称,请重新输入!
",vbOKOnly+vbExclamation,"警告"
UserName.SetFocus
Else'查询用户
sql="select*fromUserInfowhereUserID='"&UserName.Text&"'"
Setrs=TransactSQL(sql)
Ififlag=1Then
Ifrs.EOF=TrueThen
MsgBox"没有这个用户,请重新输入!
",vbOKOnly+vbExclamation,"警告"
UserName.SetFocus
Else
IfTrim(rs.Fields
(1))=Trim(PassWord.Text)Then
rs.Close
Me.Hide
gUserName=Trim(UserName.Text)'保存用户名称
FrmMain.Show
UnloadMe
Else
MsgBox"密码不正确,请重新输入!
",vbOKOnly+vbExclamation,"警告"
PassWord.SetFocus
PassWord.Text=""
EndIf
EndIf
Else
UnloadMe
EndIf
EndIf
pwdCount=pwdCount+1'判断输入次数
IfpwdCount=3Then
UnloadMe
ExitSub
EndIf
EndSub
PrivateSubForm_Load()
pwdCount=0
UserName=""
EndSub
PrivateSubPassWord_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
TabToEnterKeyCode
EndSub
PrivateSubUserName_KeyDown(KeyCodeAsInteger,ShiftAsInteger)
TabToEnterKeyCode
EndSub
(二)FrmMain
PrivateSubjj_Click()
uend=MsgBox("您是否要交卷",vbYesNo,"关闭程序")
Ifuend=vbYesThen
End
EndIf
EndSub
PrivateSubks_Click()
t=3600*Val
(1)
Timer1.Enabled=True
EndSub
PrivateSubMDIForm_Load()
EndSub
PrivateSubsj_Click()
FrmMain.Hide
Form3.Show
EndSub
PrivateSubTimer1_Timer()
DimM,sAsInteger
t=t-1
M=Int(t/60)
s=tMod60
Form3.Label2.Caption=M&"分"&s&"秒"
If(t=0)Then
Timer1.Enabled=False
Form1.Adodc1.Recordset.AddNew
Form2.Adodc1.Recordset.AddNew
Form4.Adodc1.Recordset.AddNew
End
EndIf
EndSub
PrivateSubtkt_Click()
FrmMain.Hide
Form2.Show
EndSub
PrivateSubwdt_Click()
FrmMain.Hide
Form4.Show
EndSub
PrivateSubxzt_Click()
FrmMain.Hide
Form1.Show
EndSub
(三)Form1
PrivateSubCommand1_Click()
Form1.Hide
FrmMain.Show
EndSub
PrivateSubCommand2_Click()
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndSub
PrivateSubCommand3_Click()
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirst
EndSub
PrivateSubForm_Load()
EndSub
(四)form2
PrivateSubCommand1_Click()
Form2.Adodc1.Recordset.AddNew
Form2.Hide
FrmMain.Show
EndSub
PrivateSubCommand2_Click()
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndSub
PrivateSubCommand3_Click()
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirst
EndSub
PrivateSubForm_Load()
EndSub
(五)Form3
PrivateSubCommand1_Click()
Form3.Hide
FrmMain.Show
EndSub
(六)Form4
PrivateSubCommand1_Click()
Form4.Adodc1.Recordset.AddNew
Form4.Hide
FrmMain.Show
EndSub
PrivateSubCommand2_Click()
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThenAdodc1.Recordset.MoveLast
EndSub
PrivateSubCommand3_Click()
Adodc1.Recordset.MovePrevious
IfAdodc1.Recordset.BOFThenAdodc1.Recordset.MoveFirst
EndSub
六、参考文献
[1]刘瑞新.《VisualBasic程序设计教程》.北京:
机械工业出版社,2003
[2]占维刘伟.《VisualBasic6.0数据库实用编程100例》.北京:
中国铁道出版社,2004
[3]龚沛曾杨志强陆慰民.《VisualBasic程序设计教程》.北京:
高等教育出版社,2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机硬件 知识 考试 系统