饭店点菜系统-vb课程设计报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

饭店点菜系统课程设计报告指导老师:作者:学号:班级:完成日期:2011年7月6日摘要本系统是顾客与饭店沟通的桥梁,顾客可以通过它实现对菜品酒水的浏览,集点菜、退菜、留言、抽奖于一体的vb多窗体应用程序。本系统较多考虑人性化设计,操作简单方便,语言风趣,适时提醒,使商家用得放心,顾客使得舒心。关键词Vb饭店点菜系统窗体留言板目录封面……………………………………………………………………………1摘要……………………………………………………………………………21.选题的意义……………………………………………………………41.1选择该题目的原因……………………………………………………42.1完成此题目用到的数据结构和知识点………………………………42.系统功能需求分析………………………………………………42.1系统概述………………………………………………………………42.2系统的组成及各模块的功能…………………………………………42.3系统的运行环境………………………………………………………73.系统设计………………………………………………………………73.1总体结构设计…………………………………………………………74.系统设计:(要包括设计界面、核心代码及说明)………………84.1留言板的设计与实现…………………………………………………84.2留言板的事件与代码…………………………………………………85.总结与存在的问题………………………………………………105.1总结……………………………………………………………………105.2存在的主要问题………………………………………………………116.参考文献…………………………………………………………………117.附录…………………………………………………………………………111.选题的意义1.1选该题目的原因通过该题目的设计,使我们掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。主顾可以分类浏览饭馆的所有菜肴、采集样品及价格并举行点菜,操作后能预览点菜成果,并可对于其进一步修改;留言板可以、兴许记载主顾的评价和意见,并具备浏览功效。1.2完成该此题用到数据结构和知识点用了文件的一些基本操作,如打开、访问、读写等操作以及EOF函数等,还有到了timer控件,利用timer控件完成滚动字幕,也用到了用到了picturebox以及用picturebox加载图片,用到还有加载图片时用到的相对路径app.path等。2.系统功能需求分析2.1系统概述系统可以分类浏览饭店的所有菜式、酒水图片及价格;进行点菜操作后能预览点菜结果,并可对其进一步修改如退菜等。当顾客的消费达到指定金额时,可以参与抽奖活动,顾客可以直接留言,系统具有记录顾客的意见和建议并具有浏览功能。由于饭店现代管理的加强与流行,人们对工作效率的重视,将会使《饭店点菜系统》具有更广泛应用前景。2.2系统的组成以及各模块的功能《饭店点菜系统》由5个vb窗体组成,分别是:图一为系统登录界面,其中包括了指导老师以及设计者的姓名等内容,用户点击进入按钮,即可进入进入主界面,如下图:图一图二为系统主界面,点击按钮可以进入相应界面。图三为点菜界面,顾客可以通过该窗体浏览菜式、酒水及其价格,可以进行点菜、退菜、查看当前消费等。图二图三图四图四为留言板窗体,顾客可以在这里留言,提意见。并可以看到其他顾客的留言。点击按钮可以进入相应界面。图五为抽奖窗体,当顾客消费满饭店规定的一定金额后可以进行抽奖。2.3系统运行的环境2.3.1系统使用环境操作系统:windows2000/XP系统支持:visualbasic6.0及以上版本支持库硬件环境:·处理器:intelpentium166MX及更高。·硬盘:剩余使用空间1GB以上。·内存:32MB以上。·显卡:SVGA显示适配器、2.3.2系统开发环境020406080100第一季度第三季度东部西部北部·操作系统:windows2000/XP·系统支持:visualbasic6.03系统设计3.1总体结构设计:4.系统实现:4.1留言板的设计与实现点菜窗体上有两个文本框(txetbox),三个timer控件,一个列表框(listbox),两个picturebox,四个命令按钮(command),两个标签(label)其中有都在系统运行时不可见。如下图所示:饭店点菜系统登录界面点菜留言结账抽奖两个文本框分别是用来让顾客输入留言内容和签名的,确定留言时都不能为空。两个标签分别是显示滚动字幕和当前时间的,窗体加载了,字幕自动滚动,右上角图片框中的小松鼠报时自动显示当前时间。命令按钮分别是清除留言、留言、首页、goodbye(推出程序),当点击按钮是触发相应事件。一个列表框是用来显示以前顾客留言的,两个图片框是用来加载背景图片的。4.2留言板的事件与代码窗体载入时实现滚动字幕与显示当前时间的代码:Timer事件PrivateSubTimer1_Timer()Iflabel1.Left+label1.Width0Then如果标签距离窗体左边距离加上自身宽度大于零标签向左移动label1.Movelabel1.Left–50每50毫秒移动一次Elselabel1.Left=Form1.ScaleWidth'当标签距离窗体左边的距离与其自身的宽度之和小于等于0时,那么标签距窗体左边的距离就等于窗体的宽度EndIfEndSubPrivateSubTimer3_Timer()Label2.Caption=小老鼠报时:&Now在label2中显示小老鼠报时:与当前时间EndSub窗体载入时实现列表框中显示以前顾客留言的程序代码:PrivateSubForm_Load()OpenApp.Path&\data\留言.datForInputAs#1打开文件WhileNotEOF(1)LineInput#1,aList1.AddItema系统读取文件夹中所有留言,并将其显示在留言板中WendClose#1关闭文件label1.Left=Form1.ScaleWidthEndSubCommand1的click事件代码:PrivateSubCommand1_Click()IfText1.Text=ThenMsgBox留言不能为空!,vbOKOnly+vbExclamation,注意留言为空时,弹出对话框,提醒顾客留言Text1.SetFocustext1得到焦点EndIfIfText2.Text=ThenMsgBox签名不能为空!,vbOKOnly+vbExclamation,注意'签名为空时,弹出对话框,提醒顾客签名Text2.SetFocustext2得到焦点EndIfIfText1.TextAndText2.TextThenList1.AddItemText2.Text&说:&Text1.Text&&Now在list2里显示留言内容OpenApp.Path&\data\留言.datForAppendAs#1打开文件Write#1,Text2.Text&说:&Text1.Text&&Now把留言内容写入到文件夹内Close#1Text1.Text='清空留言和签名Text2.Text=EndIfEndSubCommand4的Click事件代码:PrivateSubCommand4_Click()OpenApp.Path&\data\留言.datForOutputAs#1Write#1,'点击清楚时,保存在文件中的所有留言被清空Close#1DimaAsStringList1.Clear列表框显示内容被清除EndSub5.总结与存在的问题5.1总结“纸上得来终觉浅,绝知此事要躬行”,在短暂的实习过程中,我深深地感觉到自己所学知识的肤浅和在实际运用中的专业知识的匮乏.一旦接触到实际,才发现自己知道的是多么少,这时才真正领悟到“学无止境”的含义。通过实习应能在实际中理解所学的专业知识,并将之与实际应用结合起来,通过程序设计,增加同学们对vb知识认识,建立起必要的创新概念,加深我对vb的理解,同时也可未来的发展趋势有一定的了解,培养同学们对计算机的热爱。5.2存在的主要问题在程序设计过程中主要对文件相关函数的运用掌握不好,对合理的布局窗体缺乏经验。6.参考文献Visualbasic程序设计(学军李静)主编中国铁道出版社Visualbasic.net程序设计教程陈语林主编中国水利水电出版社MsdnVisualBasic6.0编程案例精解》,张路平,电子工业出版社网络登陆界面(封皮)的代码如下:PrivateSubCommand1_Click()Form1.Hide'form1界面隐藏Form2.Show'form2界面显示EndSub7.2主界面的代码如下:PrivateSubCommand1_Click()Form2.Hide'form2窗体隐藏form3.Show'form3窗体显示EndSubPrivateSubCommand3_Click()Form2.Hide'form2窗体隐藏Form5.Show'form5窗体显示EndSubPrivateSubForm_Load()Timer1.Interval=300'每300毫秒触发一次timer事件Picture2.Picture=LoadPicture(App.Path&\菜谱\浙菜\杭州卤豆腐.jpg)'picture2加载“杭州卤豆腐”图片Picture3.Picture=LoadPicture(App.Path&\菜谱\川菜\麻辣花椒鸡.jpg)'picture3加载“麻辣花椒鸡”图片Picture4.Picture=LoadPicture(App.Path&\菜谱\徽菜\玉兔海参.JPG)'picture4加载“玉兔海参”图片Picture5.Picture=LoadPicture(App.Path&\菜谱\粤菜\冻金钟鸡.JPG)'picture5加载“冻金钟鸡”图片EndSubPrivateSubTimer1_Timer()Label1.Caption=Mid(Label1.Caption,2,Len(Label1.Caption)-1)+Left(Label1.Caption,1)'label1的标题=从label1标题的第二个字开始,取到最后+label1标题左边第一个字DimrAsByte,gAsByte,bAsByte'定义人rgb都为字节型Randomize'初始化每次的随机数r=Int(Rnd*256)'r从0~225之间随即取一个数g=Int(Rnd*256)'g从0~225之间随即取一个数b=Int(Rnd*256)'b从0~225之间随即取一个数Label1.ForeColor=RGB(r,g,b)'label1的前景色就是vb里的RGB(r,g,b)EndSub7.3点菜界面的代码:PrivateSubCombo1_Click()DimjAsIntegerflag=False'flag初始为FalseFori=0ToList1.ListCount-1i的值是从0到list1中项目个数减1IfList1.List(i)=Combo1.TextThen验List1中是否存在Combo1.Text,如果存在就标记flag为Trueflag=True'flag变为turej=MsgBox(您已经点过,需要再点一次吗,vbOKCancel,温馨提示)'弹出msgbox框Ifj=1ThenList1.AddItemCombo1.Text'如果j的返回值是1,则list1中添加组合框1中选中的文本ElseExitFor'否则跳出循环EndIfEndIfNexti'i的步长加1Ifflag=FalseThenList1.AddItemCombo1.Text'如果flag为False则表明不存在,这时就添加Combo1.Text到List1EndIfEndSubPrivateSubCommand1

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功