超市自由存取箱的模拟.docx
- 文档编号:11390295
- 上传时间:2023-02-28
- 格式:DOCX
- 页数:12
- 大小:173.36KB
超市自由存取箱的模拟.docx
《超市自由存取箱的模拟.docx》由会员分享,可在线阅读,更多相关《超市自由存取箱的模拟.docx(12页珍藏版)》请在冰豆网上搜索。
超市自由存取箱的模拟
沈阳航空航天大学
课程设计
学号2009040301014
班级94030101
姓名李士豪
指导教师刘学平
2011年3月18日
沈阳航空航天大学
课程设计任务书
学院:
航空宇航工程学院专业:
飞行器制造班级:
94030101
学号:
2009010301014题目:
超市“自由存取箱”的模拟
一、课程设计时间
2011年3月7日~11日(第1周),共计1周。
二、课程设计内容
顾客在进入超市购物之前,可以用超市的“自由存取箱”存放自己随身带的物品。
这种存取箱有一个功能面板,面板上主要有“我要存包”按钮、密码纸条输出口、密码纸条扫描口三项用户接口。
当顾客按下“我要存包”按钮时,片刻从输出口输出一个小纸条,上面有随机生成的密码(扫描码),同时存取箱会自动开启一个正在闲置的小箱,顾客放入物品关上箱门即可;当顾客取包时,只要将含有密码扫描码的纸条在存取箱的输入口轻轻一晃,存取箱就自动开启顾客存物品的小箱。
请设计程序模拟超市“自由存取箱”的使用过程。
(要求:
小箱的数量为100,密码为4位)
三、课程设计要求
程序质量:
✧贯彻事件驱动的程序设计思想。
✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
课程设计说明书:
✧课程结束后,上交课程设计说明书和源程序。
课程设计说明书的内容参见提供的模板。
四、指导教师和学生签字
指导教师:
________学生签名:
________
五、成绩
六、教师评语
一、需求分析
模拟超市自由存取箱系统,主要指“我要存包”和“我要取包”2种功能。
由于存包时要产生密码小票,取包时凭借小票打开储物箱,所以关键技术就是产生密码和读取密码。
要求:
①顾客存包时,系统查找空箱,并为之随机产生密码,打印小票,并打开空箱。
②顾客取包时凭借小票上的密码打开箱子,之后清空密码。
二、设计分析
(1)基本原理:
建立程序设计与数据库的连接,用SQL语句在数据库中查找和更改数据。
(2)总体设计:
图1总体设计
(3)详细设计:
图2详细设计
(4)数据库设计:
数据库设计是总体设计阶段非常重要的环节,数据库结构的变化会造成编码的改动,所以必须认真设计数据库结构后再进行编码,从而避免无谓的重复工作。
三、关键技术
(1)“我要存包”系统
图3初始界面
Dima(100)AsInteger'用于存放100个箱子的密码,为0表示箱子空
-------------------------------------------------------------------------------------------------------
PrivateSubCommand1_Click()
Dimi,BAsInteger
DimpassAsInteger
Adodc1.Recordset.MoveFirst
Fori=1ToAdodc1.Recordset.RecordCount
IfAdodc1.Recordset.Fields("密码")=0Then'查找空箱
Randomize
pass=Int(Rnd*9000+1000)'随机产生四位数的密码
a(i)=pass
Adodc1.Recordset.Fields("密码")=a(i)
B=Adodc1.Recordset.Fields("箱号")'输出箱号
Form3.Show
Form3.Cls
Form3.PrintB&"号箱可用"
Form3.Print"密码为"&a(i)
ExitFor
ElseIfAdodc1.Recordset.Fields("密码")<>0Then'查找下一个空箱
Adodc1.Recordset.MoveNext
EndIf
Nexti
Adodc1.Recordset.Update
EndSub
-------------------------------------------------------------------------------------------------------
PrivateSubCommand2_Click()
Form2.Show
EndSub
-------------------------------------------------------------------------------------------------------
PrivateSubCommand3_Click()
End
EndSub
-------------------------------------------------------------------------------------------------------
PrivateSubCommand4_Click()
x=MsgBox("请持本人有效身份证件去服务台办理相关手续并领取!
",48,"温馨提示")
EndSub
图4存包系统
(2)“我要取包”系统
图5取包系统
PrivateSubCommand6_Click()
Dimm&
m=Text1
Adodc1.Recordset.MoveFirst
IfNotIsNumeric(nub)Then
m=0
x=MsgBox("请输入正确的箱号",48,"温馨提示")
Else:
Adodc1.Recordset.Find"箱号='"&m&"'"'查找箱号
IfAdodc1.Recordset.EOFThen'找不到相同的箱号
x=MsgBox("请输入正确的箱号",48,"温馨提示")
Else'输出密码到text3
Text3=Adodc1.Recordset.Fields("密码")
IfText2=Text3Then'确认密码是否正确
x=MsgBox("箱子已经开启,欢迎下次使用!
",,"温馨提示")
Adodc1.Recordset.Find"箱号='"&m&"'"'清空该箱密码
Adodc1.Recordset.Fields("密码")=0
Adodc1.Recordset.Update
UnloadForm2
Else
x=MsgBox("密码错误,请重新输入!
",48,"温馨提示")'密码错误
Text2=""
EndIf
EndIf
EndIf
EndSub
-------------------------------------------------------------------------------------------------------
PrivateSubCommand7_Click()
UnloadForm2
EndSub
四、总结
这次课设我的题目是超市“自由存取箱”的模拟,通过这次课设让我了解了VB与数据库之间的联系,可以应用ADO技术使VB与数据库进行联系,还可以应用SQL语言查询和更改数据库中的信息。
在课程设计的过程中,我遇到了重重困难,例如:
VB与数据库的连接技术,通过老师的指点,同学的帮助和自己查阅资料,我克服了困难,顺利的完成了任务。
同时我也了解了VB的出现是一场技术革命,它在生活中各个方面都能发挥巨大的作用,所以,学好VB是社会发展的需要。
五、完整的源程序
Form1
Dima(100)AsInteger'用于存放100个箱子的密码,为0表示箱子空
-------------------------------------------------------------------------------------------------------
PrivateSubCommand1_Click()
Dimi,BAsInteger
DimpassAsInteger
Adodc1.Recordset.MoveFirst
Fori=1ToAdodc1.Recordset.RecordCount
IfAdodc1.Recordset.Fields("密码")=0Then'查找空箱
Randomize
pass=Int(Rnd*9000+1000)'随机产生四位数的密码
a(i)=pass
Adodc1.Recordset.Fields("密码")=a(i)
B=Adodc1.Recordset.Fields("箱号")'输出箱号
Form3.Show
Form3.Cls
Form3.PrintB&"号箱可用"
Form3.Print"密码为"&a(i)
ExitFor
ElseIfAdodc1.Recordset.Fields("密码")<>0Then'查找下一个空箱
Adodc1.Recordset.MoveNext
EndIf
Nexti
Adodc1.Recordset.Update
EndSub
-------------------------------------------------------------------------------------------------------
PrivateSubCommand2_Click()
Form2.Show
EndSub
-------------------------------------------------------------------------------------------------------
PrivateSubCommand3_Click()
End
EndSub
-------------------------------------------------------------------------------------------------------
PrivateSubCommand4_Click()
x=MsgBox("请持本人有效身份证件去服务台办理相关手续并领取!
",48,"温馨提示")
EndSub
-------------------------------------------------------------------------------------------------------
Form2
PrivateSubCommand6_Click()
Dimm&
m=Text1
Adodc1.Recordset.MoveFirst
IfNotIsNumeric(nub)Then
m=0
x=MsgBox("请输入正确的箱号",48,"温馨提示")
Else:
Adodc1.Recordset.Find"箱号='"&m&"'"'查找箱号
IfAdodc1.Recordset.EOFThen'找不到相同的箱号
x=MsgBox("请输入正确的箱号",48,"温馨提示")
Else'输出密码到text3
Text3=Adodc1.Recordset.Fields("密码")
IfText2=Text3Then'确认密码是否正确
x=MsgBox("箱子已经开启,欢迎下次使用!
",,"温馨提示")
Adodc1.Recordset.Find"箱号='"&m&"'"'清空该箱密码
Adodc1.Recordset.Fields("密码")=0
Adodc1.Recordset.Update
UnloadForm2
Else
x=MsgBox("密码错误,请重新输入!
",48,"温馨提示")'密码错误
Text2=""
EndIf
EndIf
EndIf
EndSub
-------------------------------------------------------------------------------------------------------
PrivateSubCommand7_Click()
UnloadForm2
EndSub
-------------------------------------------------------------------------------------------------------
Form3
PrivateSubCommand5_Click()
UnloadForm3
EndSub
-------------------------------------------------------------------------------------------------------
六、参考文献
[1]刘瑞新.《VisualBasic程序设计教程》.北京:
机械工业出版社,2003
[2]瞿彬王凤林.《VisualBasi程序设计全程指南》.北京:
电子工业出版社2009
[3]周永恒.《VisualBasic基础教程》.北京:
高等教育出版社,2006
[4]冯博琴刘路放.《精讲多练VisualBasic语言》.西安:
西安交通大学出版社,1997
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 超市 自由 存取 模拟