VB课程设计报告.docx
- 文档编号:4660501
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:18
- 大小:2.13MB
VB课程设计报告.docx
《VB课程设计报告.docx》由会员分享,可在线阅读,更多相关《VB课程设计报告.docx(18页珍藏版)》请在冰豆网上搜索。
VB课程设计报告
石家庄铁道大学课程设计
基于Visualbasic的程序设计---
饭店点菜系统
单位分院(系)
专业
学号
学生姓名
指导教师
完成日期2011/9/1
摘要
随着社会的发展,计算机技术,网络技术的应用范围日益扩大。
本系统是顾客与饭店沟通的桥梁,顾客可以通过它实现对菜品酒水的浏览,集点菜、退菜、留言、抽奖于一体的vb多窗体应用程序。
本系统较多考虑人性化设计,操作简单方便,语言风趣,适时提醒,使商家用得放心,顾客使得舒心。
饭店点菜是饭店日常工作中非常重要的一项,关系到饭店日常工作效率。
传统的点菜方式工作量大、耗时长且易出问题。
一项好的饭店点菜系统可以顺利解决这些问题,并且可以满足许多大型饭店的需求,从而使工作效率提高且准确性增加。
更能给顾客留下一个好的印象。
本系统的主要功能及任务是:
·方便顾客进行菜式浏览和点菜;
·顾客对于饭店有什么意见和好的建议可以进行留言,且具有抽奖功能。
为给顾客提供最好的服务,饭店点菜系统从顾客的利益出发,设计了简便操作且实用的工作环境。
既能满足顾客一般需求,又使饭店的统计工作方便进行,便于整改提高。
本报告将从几个方面介绍如何实用VB及数据库等方面的知识实现饭店点菜系统的功能。
并对此过程中产生的问题进行说明。
通过语言介绍、写出主要代码及图片示例相结合的方式,详细叙述系统功能的实现过程。
关键词:
饭店点菜系统,VB,数据库,控件,控件与数据库的绑定
第一章选题的意义…………………………………………………………………..4
1.1自我介绍………………………………………………………………………..4
1.2选择题目的名称………………………………………………………………..4
1.3选择题目的原因………………………………………………………………..4
1.4本次课程设计任务的主要内容和要求(包括原始数据,技术参数,技术要求等)………………………………………………………………………………4
1.5完成此题的进度安排…………………………………………………………..5
1.6收集的参考书籍,文献网络等相关资料……………………………………..5
第二章准备工作……………………………………………………………………..6
第三章系统功能需求析……………………………………………………………..7
3.1设计思想………………………………………………………………………..7
3.2功块…………………………………………………………………………..…7
3.3流明……………………………………………………………………..………7
第四章系统设计………………………………………………………………………9
4.1系统封面………………………………………………………………………..9
4.2点菜页面:
9
第五章功能演示…………………………………………………………………….10
5.1模块展示10
5.2各种功能的实现:
11
第六章各个程序的命令代码说明………………………………………………….18
6.1封面的代码…………………………………………………………………….18
6.2.说明页代码20
6.3.命令代码:
23
第七章总结………………………………………………………………………….25
7.1总结…………………………………………………………………………….25
7.2设计中遇到的困难和难题…………………………………………………….26
第八章感谢词及参考文献………………………………………………………….27
第一章选题的意义
1.1自我介绍
班级:
机1001-4班
学号:
20100779
姓名:
陈洁宜
专业:
机械设计制造及其自动化
1.2选择题目的名称
饭菜点菜系统
1.3选择题目的原因
通过该题目的设计,使学生掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
该题目实用性强,如果做得好,对饭店点菜系统将会十分的方便和快捷,也为了锻炼自己的能力,想要尝试一下.
1.4.本次课程设计任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
1.编制一个饭店点菜系统程序。
2.要求:
(系统开发的总任务是实现更加便捷、合理的点菜方式,方便顾客,服务顾客。
)
本系统主要由四部分组成:
菜式浏览;点菜;顾客留言;抽奖。
同时还包括登录界面、主窗体以及留言记录等。
各部分的主要功能如下:
●菜式浏览功能:
能分类浏览饭店的所有菜式、采样及价格;
●点菜功能:
进行点菜操作后能预览点菜结果,并可对其进一步修改;
●留言板功能:
记录顾客的意见和建议,并具有浏览功能;
●抽奖功能:
当顾客的消费达到指定金额时,可分档抽取小奖品。
1.5完成此题进度安排
1.第1天:
选题、查阅资料;
2.第2天:
确定设计方案;
3.第3-8天:
方案的实现、调试与验证。
1.6收集的参考书籍、文献网络等相关资料
1.《VisualBasic6.0编程案例精解》,张路平,电子工业出版社
2.《VisualBasic程序设计》王学军,中国铁道出版社
3.MSDN
4.《VisualBasic+Access数据库项目开发实践》,周国民,中国铁道出版社
第二章准备工作
此部分工作量相对较大,难度系数较高,主要是在网上找些菜品。
为下一步的工作做先期准备。
第三章系统功能需求分析
3.1设计思想
饭店点菜系统是为了更好的为顾客服务而设计的实用型系统。
针对现今饭店点菜更多的还是停留在纸质记录上,我们设计了此系统。
能使顾客更方便更直观的去选择自己想要的菜。
同时,还可以给饭店提出意见。
饭店可以更加方便汇总顾客的意见,更加合理的统计每日的饭菜销量,作出最好的计划。
同时系统可以实现抽奖功能。
3.2功能模块
系统开发的总任务是实现更加便捷、合理的点菜方式,方便顾客,服务顾客。
本系统主要由四部分组成:
菜式浏览;点菜;顾客留言;抽奖。
同时还包括登录界面、主窗体以及留言记录等。
3.3流程说明
软件运行后进入铁大酒店的主背景,然后单击进入就进入了酒店的主页。
在主页里有三块主题板,“开始点菜”,“我要留言”和“敬请抽奖”。
单击“开始点菜”进入进餐地点选择的界面,分为大厅和包厢两种,分别单击,进入不同的点菜界面。
在包厢在点菜界面,顾客有菜单、主食、酒水可供选择,同时可以选择其数量。
系统自动计算其消费金额。
点菜结果也在显示在界面上,顾客可以根据自己的意愿进行修改。
在此界面管理者可以修改其菜单资料,进入大厅点菜的就比较简单操作了,是一些简单的菜系,系统根据其消费金额决定其是否进行抽奖。
进入抽奖界面,顾客随机抽奖。
抽奖完毕后顾客选择是否给酒店留下意见和建议。
随后进入留言板界面。
顾客在文本框中输入,也可以查看历史意见记录。
管理者可以在此界面对意见记录进行修改。
同时顾客可以经过系统直接进行留言和抽奖的环节,当所有环节都结束后界面显示“欢迎您再来”,就此退出程序。
模块流程图如下:
··
敬请抽奖
第四章系统设计
4.1系统封面
4.2点菜页面
第五章功能演示
5.1模块展示
本系统共分为四个模块,我负责菜式浏览功能,与伙伴共同完成抽奖功能
5.2各种功能的实现
1.模块一
其亮点是label控件组实现的动态效果
2.模块二
一,大厅内的点菜界面
单击第一个界面进入点菜系统,其界面如下:
3.模块三
敬请抽奖
界面一
界面二
该界面中包括10个label控件,因为label控件的boder-style可以为0即后面可以设为透明将金蛋的整个身体全部显示,以示美观。
另外还有3个label控件(均因美观而用),一个用于提示顾客,一个用于显示奖品,另一个“确定”用于返回界面3。
如界面一所示
进入界面运行时,点击任何一个数字,将会显示顾客所得的奖品,同时所有的数字均变为灰色,因为顾客消费一次只能抽奖一次,变为灰色以后label的enabled属性变为false,即该控件为无效控件,组织顾客进行第二次抽奖。
如界面二所示。
PrivateSubLabel1_Click()
i=1+Int(Rnd*10)
Ifi=1ThenLabel12.Caption="恭喜您获得本店为您准备的手表一块"
Ifi=2ThenLabel12.Caption="恭喜您获得本店为您准备的笔记本电脑一台"
Ifi=3ThenLabel12.Caption="恭喜您获得本店为您准备的毛巾一块"
Ifi=4ThenLabel12.Caption="恭喜您获得本店为您准备的mp4一个"
Ifi=5ThenLabel12.Caption="恭喜您获得本店为您准备的自行车一辆"
Ifi=6ThenLabel12.Caption="恭喜您获得本店为您准备的本店特色菜一份"
Ifi=7ThenLabel12.Caption="恭喜您获得本店为您准备的手机一部"
Ifi=8ThenLabel12.Caption="恭喜您获得本店为您准备的本次消费八折优惠"
Ifi=9ThenLabel12.Caption="恭喜您获得本店为您准备的精美茶具一套"
Ifi=10ThenLabel12.Caption="恭喜您获得本店为您准备的情侣手链一对"
随机事件当单击金蛋时将会随机产生一种奖品显示在label12中(为了防止顾客将金蛋上代表的奖品记住,给饭店带来巨大损失,故使用随机事件)
Label1.Enabled=False
Label2.Enabled=False
Label3.Enabled=False
Label4.Enabled=False
Label5.Enabled=False
Label6.Enabled=False
Label7.Enabled=False
Label8.Enabled=False
Label9.Enabled=False
Label10.Enabled=False
当点击任意金蛋时所有金蛋上的数字将变为灰色即label的enabled属性变为false以防止顾客进行第二次抽奖
EndSub
PrivateSubLabel10_Click()
i=1+Int(Rnd*10)
Ifi=1ThenLabel12.Caption="恭喜您获得本店为您准备的手表一块"
Ifi=2ThenLabel12.Caption="恭喜您获得本店为您准备的笔记本电脑一台"
Ifi=3ThenLabel12.Caption="恭喜您获得本店为您准备的毛巾一块"
Ifi=4ThenLabel12.Caption="恭喜您获得本店为您准备的mp4一个"
Ifi=5ThenLabel12.Caption="恭喜您获得本店为您准备的自行车一辆"
Ifi=6ThenLabel12.Caption="恭喜您获得本店为您准备的本店特色菜一份"
Ifi=7ThenLabel12.Caption="恭喜您获得本店为您准备的手机一部"
Ifi=8ThenLabel12.Caption="恭喜您获得本店为您准备的本次消费八折优惠"
Ifi=9ThenLabel12.Caption="恭喜您获得本店为您准备的精美茶具一套"
Ifi=10ThenLabel12.Caption="恭喜您获得本店为您准备的情侣手链一对"
随机事件当单击金蛋时将会随机产生一种奖品显示在label12中(为了防止顾客将金蛋代表的奖品记住,给饭店带来巨大损失,故使用随机事件)
Label1.Enabled=False
Label2.Enabled=False
Label3.Enabled=False
Label4.Enabled=False
Label5.Enabled=False
Label6.Enabled=False
Label7.Enabled=False
Label8.Enabled=False
Label9.Enabled=False
Label10.Enabled=False
当点击任意金蛋时所有金蛋上的数字将变为灰色即label的enabled属性变为false以防止顾客进行第二次抽奖
EndSub
其他的label2到label10都类似于label1de运行过程。
PrivateSubLabel13_Click()
DimaAsInteger
a=MsgBox("您要留言吗?
",vbYesNo+vbQuestion,"提示!
")
Ifa=vbYesThen
Form6.Show:
Form5.Hide:
Form9.Hide
Else
Form3.Show:
Form4.Hide:
Form9.Hide
EndIf
点击进入时将会出现一个msgbox提示“您是否还要留言”如果留言form5显示,form6隐藏如果不留言form7显示form5隐藏
EndSub
Form9(进入抽奖系统界面)
PrivateSubLabel2_Click()
Form5.Show
EndSub
点击label2的进入时form5显示
给界面添加一张背景图片,俩个label控件和一个image控件。
第六章各种程序的命令代码说明
6.1封面代码
界面包括2个label控件,其中有1个控件组label(0)--label(7),
(1)label控件的动态效果
PrivateSubTimer1_Timer()‘timer1的timer事件
DimiAsInteger
b=Label1(0).ForeColor
Fori=0To7
Label1(i).ForeColor=Label1(i+1).ForeColor
Next
EndSub
其亮点是label控件组实现的动态效果
6.2说明页代码
包括1个sstab选项卡控件、4个adodc控件、4个datagrid控件、1个image框、5个label控件、5个text文本框。
其中sstab选项卡控件、adodc控件、datagrid控件需要通过工程---部件自己添加。
其实现功能有:
1、单击不同选项卡,可分别进入菜单、酒水、主食资料,并进行选择、添加、删除。
同时,在文本框中显示名称,单价,数量,并计算金额与总价,在右侧的image框架中显示图片。
而且将所选菜系显示在datagrid4中。
以菜单选项卡为例。
(1)点菜
PrivateSubCommand1_Click()‘点菜
DimsAsInteger
Text1.Text=Adodc1.Recordset.Fields
(1)‘文本框显示当前点菜结果
Text2.Text=Adodc1.Recordset.Fields
(2)
Adodc4.Recordset.AddNew
Adodc4.Recordset.Fields(0)=Text1.Text‘显示点菜记录
Adodc4.Recordset.Fields
(1)=Text2.Text
EndSub
(2)删除所选菜系,并再次计算价格
PrivateSubCommand4_Click()
Text1.Text=Adodc4.Recordset.Fields(0)‘文本框显示当前项
Text2.Text=Adodc4.Recordset.Fields
(1)
Text3.Text=Adodc4.Recordset.Fields
(2)
a=MsgBox("是否删除该项?
",vbYesNo,"信息提示!
")‘msgbox提醒
Ifa=vbYesThen
Text4.Text=Val(Text2.Text)*Val(Text3.Text)‘计算当前项金额
Text5.Text=Val(Text5.Text)-Val(Text4.Text)‘计算删除后的金额
Adodc4.Recordset.Delete‘删除
EndIf
EndSub
(3)加载图片
Image1.Picture=LoadPicture(App.Path&"\新建文件夹\花江狗肉.jpg")
其他加载图片过程类似
(4)显示金额并计算总价
PrivateSubText3_Change()
DimaAsInteger,bAsInteger,cAsInteger
a=Val(Text3.Text)‘记录点菜数量
b=Val(Text2.Text)‘当前菜系的单价
c=b*a
Text4.Text=c‘显示当前点菜价格
Text5.Text=Val(Text5.Text)+c‘计算总金额
Adodc4.Recordset.Fields
(2)=Text3.Text
Adodc4.Recordset.Fields(3)=Text4.Text
EndSub
2、如果选择好所需,根据text5中的合计的大小分别进入不同的抽奖系统,或进入留言板进行留言。
PrivateSubCommand5_Click()
IfVal(Text5.Text)>500AndVal(Text5.Text)<800Then
Form2.Hide:
Form4.Show
ElseIfVal(Text5.Text)>=800Then
Form9.Show:
Form2.Hide
Else
Form2.Hide:
Form6.Show
EndIf
EndSub
3、双击窗体添加菜单按钮显示,单击该按钮,进入对菜单的修改界面。
利用list框进行菜品出的添加
6.3命令代码
其实现功能有:
4、单击不同选项卡,可分别进入菜单、酒水、主食资料,并进行选择、添加、删除。
同时,在文本框中显示名称,单价,数量,并计算金额与总价,在右侧的image框架中显示图片。
而且将所选菜系显示在datagrid4中。
以菜单选项卡为例。
(1)点菜
PrivateSubCommand1_Click()‘点菜
DimsAsInteger
Text1.Text=Adodc1.Recordset.Fields
(1)‘文本框显示当前点菜结果
Text2.Text=Adodc1.Recordset.Fields
(2)
Adodc4.Recordset.AddNew
Adodc4.Recordset.Fields(0)=Text1.Text‘显示点菜记录
Adodc4.Recordset.Fields
(1)=Text2.Text
EndSub
(2)删除所选菜系,并再次计算价格
PrivateSubCommand4_Click()
Text1.Text=Adodc4.Recordset.Fields(0)‘文本框显示当前项
Text2.Text=Adodc4.Recordset.Fields
(1)
Text3.Text=Adodc4.Recordset.Fields
(2)
a=MsgBox("是否删除该项?
",vbYesNo,"信息提示!
")‘msgbox提醒
Ifa=vbYesThen
Text4.Text=Val(Text2.Text)*Val(Text3.Text)‘计算当前项金额
Text5.Text=Val(Text5.Text)-Val(Text4.Text)‘计算删除后的金额
Adodc4.Recordset.Delete‘删除
EndIf
EndSub
(3)加载图片
Image1.Picture=LoadPicture(App.Path&"\新建文件夹\花江狗肉.jpg")
其他加载图片过程类似
(4)显示金额并计算总价
PrivateSubText3_Change()
DimaAsInteger,bAsInteger,cAsInteger
a=Val(Text3.Text)‘记录点菜数量
b=Val(Text2.Text)‘当前菜系的单价
c=b*a
Text4.Text=c‘显示当前点菜价格
Text5.Text=Val(Text5.Text)+c‘计算总金额
Adodc4.Recordset.Fields
(2)=Text3.Text
Adodc4.Recordset.Fields(3)=Text4.Text
EndSub
5、如果选择好所需,根据text5中的合计的大小分别进入不同的抽奖系统,或进入留言板进行留言。
PrivateSubCommand5_Click()
IfVal(Text5.Text)>500AndVal(Text5.Text)<800Then
Form2.Hide:
Form4.Show
ElseIfVal(Text5.Text)>=800Then
Form9.Show:
Form2.Hide
Else
Form2.Hide:
Form6.Show
EndIf
EndSub
双击窗体添加菜单按钮显示,单击该按钮,进入对菜单的修改界面。
利用list框进行菜品出的添加
第七章总结
7.1.总结
.存在的问题及不足
1.点菜时每次都必须自己手动输入点菜数量,才可以计算价格,希望默认text3文本框为空时,数量为1,但始终没能实现,很遗憾。
2.大厅点菜中的计算金额没能做好,以后要不断改进和完善。
3.在留言板中,顾客点击其时有可能修改数据库中的内容。
没能记录历史留言的过程。
7.2设计中遇到的困难和难题
为期一周多的VB语言程序设计很快就结束了,在这段时间里我们学到了许许多多有益的东西,同时锻炼了自己动手操作能力,学会了在学习过程中发现,分析并解决实际问题,学会了自主学习,自我提高和自我完善,学以致用。
总之,受益匪浅。
我们做的程序是饭店点菜系统,虽然比较简单,但在实际设计的过程中遇到了许多的问题,比如装载背景图片、使用数据库、链接数据库、计算消费总额、运行抽奖系统等等。
特别是随机抽奖的的问题,修改、调试了很多次,才确定了其正确的编写方法。
设计之前由于数据库知识的空白,使得我们毫无头绪,无从下手,只是盲目的按照课本和参考资料进行设计和编程,没有开动脑筋,也没有仔细研究,使得我们的程序总是不能进行得很顺利。
那时候我们就开始意识到不能盲目的照搬,要有自己的思想思路。
于是我们认真研究课本内容,注重上机的实验操作,逐步有了数据库的思想和思路,并且
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课程设计 报告