计算机硬件知识考试系统.docx

上传人:b****4 文档编号:4406963 上传时间:2022-12-01 格式:DOCX 页数:14 大小:375.88KB
下载 相关 举报
计算机硬件知识考试系统.docx_第1页
第1页 / 共14页
计算机硬件知识考试系统.docx_第2页
第2页 / 共14页
计算机硬件知识考试系统.docx_第3页
第3页 / 共14页
计算机硬件知识考试系统.docx_第4页
第4页 / 共14页
计算机硬件知识考试系统.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

计算机硬件知识考试系统.docx

《计算机硬件知识考试系统.docx》由会员分享,可在线阅读,更多相关《计算机硬件知识考试系统.docx(14页珍藏版)》请在冰豆网上搜索。

计算机硬件知识考试系统.docx

计算机硬件知识考试系统

沈阳航空航天大学

课程设计

学号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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1