课程设计报告书vb点菜系统_第1页
课程设计报告书vb点菜系统_第2页
课程设计报告书vb点菜系统_第3页
课程设计报告书vb点菜系统_第4页
课程设计报告书vb点菜系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单单 位位 分院分院( (系系) ) 专专 业业 学学 号号 学生姓名学生姓名 指导教师指导教师 完成日期完成日期 20112011 年年 8 8 月月 3131 日日 基于.饭店点菜系统设计 摘 要 进行点菜是饭店为顾客服务的重要环节之一。传统的点菜环节由于是手工 操作,工作量大且容易出错。随着计算机和网络技术的迅速发展,越来越多的 饭店、酒店都拥有自己的点菜系统,制作一个方便、快捷的点菜系统能使点菜 环节显得更加美观且便于操作。 饭店点菜系统技术基础是 vb6.0,它有许多优点,例如:“编写一次、随 处运行”的特性、方便存取数据的数据库, 使用者只需在窗体上进行操作而不 用关心程序代码等等

2、。饭店点菜系统提供给顾客一个用来满足高可用性、高可 靠性以及可扩展性的应用需求的软件,给饭店点菜提供了良好的机制、使饭店 的工作流程更加顺利。 本文基于 vb6.0,采用多窗体结构, 设计并实现了顾客在饭店消费时的点 菜、结账、抽奖、留言及工作人员管理等多项功能。 本文首先介绍了软件设计涉及的相关技术,围绕 vb6.0 的相关技术进行软 件的解释。其次,介绍了饭店点菜系统的总体分析与设计,包括需求分析、功 能模块分析和数据库设计。最后,对于主要功能进行了实现,并作了详细描述, 主要采用图片与代码结合的方式详细地叙述了系统功能的实现。 关键词:文件、数据库 、控件使用、图片载入 目录 1.1.选

3、题的意义选题的意义. 2.系统功能分析。系统功能分析。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 2.1 系统概述。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 2.2 系统的组成及各模块的功能. 2 .3 系统运行环境。 。 。 。 。 。 。 。 。 。 。 。 。 。

4、 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 。 3 3系统设计系统设计. 3.1 总体结构设计. 3.2 数据库设计. 4 4系统实现系统实现. 4.1 点菜系统的设计与实现. 4.2 管理系统模块的设计与实现. 5 5总结总结. 5.1 总结. 5.2 致谢词. 5.3 存在的主要问题. 参考文献参考文献. 第第 1 1 章章 选题的意义选题的意义 能够使饭店的点菜环节由传统的纯人工操作变为方便、快捷的计算机操作对于 减少饭店的人力调配、减少操作流程、

5、提高工作效率具有重要意义,将点菜环 节依附于计算机的操作体现了高效、安全、快捷的高科技成果。 拥有一个功能完善的点菜系统能够显示出饭店的综合实力,使其相对于其 他采用人工点菜的饭店更具竞争力。顾客对系统操作的便捷性、高效性、实用 性能够比较容易接受和认可,这对于饭店招揽回头客、打造良好声誉也十分有 意义。 第 2 章 系统功能需求分析 2.1 系统概述 本系统针对点菜的具体流程,其主要功能有: 菜式浏览功能:能分类浏览饭店的所有菜式、采样及价格; 点菜功能:进行点菜操作后能预览点菜结果,并可对其进一步修改; 留言板功能:记录顾客的意见和建议,并具有浏览功能; 抽奖功能:当顾客的消费达到指定金额

6、时,可分档抽取小奖品 增加菜式功能:饭店管理员可以增加菜单中的菜式将其存储在数据库中 2.2 系统的组成及各模块的功能错误!未定义书签。错误!未定义书签。 本系统主要包括的界面有:运行界面、点菜界面、抽奖界面、留言界面及 管理员登录界面,各部分的主要功能有:运行界面:包括进入系统、管理员登 录和退出系统;点菜界面:能够分门别类地点菜;抽奖界面:当用户消费达到一 定金额时可以参与抽奖;留言界面:将顾客的意见及建议写下来反馈给管理员; 管理员登录界面:输入密码后可以查看用户的留言、对菜单进行补充即增加菜 式到数据库中。 2.3 系统的运行环境 1 1硬件要求硬件要求 在安装 vb 6.0 时要注意

7、硬盘的剩余空间,下面列出安装 vb 6.0 时所需的硬件 要求。 90mhz 或更高的微处理器。 vga(640480)以上的监视器。 鼠标或其他定点设备(如指令杆、滚动球等)。 cd-rom 或 dvd-rom 驱动器。 32mb 以上内存。 磁盘空间要求如下。 学习版:典型安装 48mb,完全安装 80mb。 专业版:典型安装 48mb,完全安装 80mb。 企业版:典型安装 128mb,完全安装 147mb。 2 2软件要求软件要求 vb 6.0 可以在多个操作系统下运行,如 windows 98、windows 2000、windows 2003、windows xp、windows

8、vista 等。 vb 6.0 需要在 windows 95(或更高版本的操作系统)、windows nt 3.51(或 更高版本的操作系统)上安装。 第 3 章 系统设计 3.1 总体结构设计 考虑到软件的可操作性和实用性,将系统的总体结构设计如下: 运行系统 管理系统退出点菜系统留言系统 查看留言 管理系统 密码验证 增减菜式 菜式浏览 点菜系统 点菜抽奖系统 3.2 数据库设计 数据库的设计主要分为需求分析和设计两个步骤。 首先对所需数据进行分析,点菜系统里涉及到数据库的是菜单,菜单数据 需要的是分类的各种菜的名称、价格、简介及其图片。 其次便是数据库的具体设计了,搜索以上所需数据数据并

9、存入数据库中, 利用 data 控件连接数据库。 4.1 登入模块的设计与实现 运行环境 此系统是在 visual basic 集成开发环境中运行的 vb 具有可视化集成开发环境,以事件驱动、图形用户界面等为特点,在设计时有着 其独特的优越性。它采用了可视化的、面向对象的程序设计方法,大大简化了应用系统的 开发过程,并提高了系统的模块性和紧凑性。vb 中提供了大量的系统开发工具和控件, 利用 ado 结合 sql 技术开发数据库使得操作和管理非常方便,从而使以往费时费力的开 发工作变得轻松自如。 visual basic 中的“visual”一词意为“可视化”的意思,它是指一种开发图形用户界

10、面(gui)的方法。visual basic 是基于 basic 的可视化的程序设计语言,是一种由微软公司 开发的包含协助开发环境的 事件驱动编程语言。从任何标准来说,vb 都是丠界上使用人 数最多的语言不仅是盠赞 vb 的开发者还是抱怨 vb 的开发者的数颃。vb 拥有图形用 户界面(gui)和快速应用程序开发(rad)系统,可以轻易的使用 dao、rdo、ado 连接 数据库,或者轻松的创建 activex 控件。程序员可以轻松的使用 vb 提供的组仠快速建立 一个应用程序。 visual basic 之所以受到广大编程爱好者及专业编程人员的青睐,是因为它具有以下一 些特点: (1)面向对

11、象 vb 采用了面向对象的程序设计思想。它的基本思路是把复杂的程序设计问题分解为 一个个能够完成独立功能的相对简单的对象集合,所谓“对象”就是一个可操作的实体, 如窗体、窗体中的命令按钮、标签、文本框等。面向对象的编程就好像搭积木一样,程序 员可根据程序和界面设计要求,直接在屏幕上“画”出窗口、菜单、按钮等不同类型的对 象,并为每个对象设置属性。 (2)事件驱动 在 windows 环境下,程序是以事件驱动方式运行的,每个对象都能响应多个不同的事 件,每个事件都能驱动一段的代码事件过程,该代码决定了对象的功能。通常称这种 机制为事件驱动。事件可由用户的操作触发,也可以由系统或应用程序触发。例如

12、,单击 一个命令按钮,就触发了按钮的 click(单击)事件,该事件中的代码就会被执行。若用户未 进行任何操作(未触发事件),则程序就处于等待状态。整个应用程序就是由彼此独立的事 件过程构成。 (3)软件的集成式开发 vb 为编程提供了一个集成开发环境。在这个环境中,编程者可设计界面、编写代码、 调试程序,直至把应用程序编译成可在 windows 中运行的可执行文件,并为它生成安装程 序。vb 的集成开发环境为编程者提供了很大的方便。 (4)结构化的程序设计语言 vb 具有丰富的数据类型,是一种符合结构化程序设计思想的语言,而且简单易学。 此外作为一种程序设计语言,vb 还有许多独到之处。 (

13、5)强大的数据库访问功能 vb 利用数据控件可以访问多种数据库,vb6.0 提供的 ado 控件,不但可以用最少的 代码实现数据库操作和控制,也可以取代 data 控件和 rdo 控件。 (6)支持对象的链接与嵌入技术 vb 的核心是对对象的链接与嵌入(ole)技术的支持,它是访问所有对象的一种方法。 利用 ole 技术,能够开发集声音、图像、动画、字处理、web 等于一体的对象的程序。 (7)网络功能 vb6.0 提供了 dlttml 设计工具。利用这种技术可以动态创建和编辑 web 页面,使用 户在 vb 中开发多功能的网络应用软件。 (8)多个应用程序向导 vb 提供了多种向导,如应用程

14、序向导、安装向导、数据对象向导和数据窗 4.2 点菜系统模块的设计与实现 进入系统(一起做) private sub command1_click() form1.hide form2.show end sub private sub command2_click() form1.hide frmdl.show end sub private sub command3_click() end end sub private sub timer1_timer() if label1.left + label1.width 0 then label1.move label1.left - 50 e

15、lse label1.left = form1.scalewidth end if end sub 顾客选择留言还是点菜 private sub command1_click() form2.hide frmdc.show end sub private sub command2_click() form2.hide frmly.show end sub private sub command3_click() form2.hide frmly.show end sub private sub command4_click() form2.hide form1.show end sub 点击点

16、菜进入点菜(本人做) 代码如下 此功能需连接数据库。 private sub command1_click() data1.recordsource = 点心 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text1.text) end sub private sub command10_click() frmdc.hide form2.show end sub private sub command11_click() image2.picture = loadpicture(a

17、pp.path & text1.text) end sub private sub command2_click() data1.recordsource = 凉菜 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text1.text) (此为图片载入方式,为相对路径) end sub private sub command3_click() data1.recordsource = 汤 data1.refresh data1.recordset.movefirst image2.p

18、icture = loadpicture(app.path & text1.text) end sub private sub command4_click() data1.recordsource = 热菜 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text1.text) end sub private sub command5_click() data1.recordsource = 主食 data1.refresh data1.recordset.movefirst im

19、age2.picture = loadpicture(app.path & text1.text) end sub private sub command6_click() data1.recordsource = 茶酒饮品 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text1.text) end sub private sub command7_click() dim k as integer if list1.listcount = 0 then msgbox 您还没有选菜

20、呢!, , 请选菜! end if if val(label8.caption) = 100 then (当满足此条件 自动切换到抽奖系统) frmdc.hide frmcj.show end if end sub private sub command8_click() dim sum as integer list1.additem label4.caption list2.additem label5.caption sum = 0 for i = 1 to list2.listcount sum = sum + val(list2.list(i - 1) next i label8.c

21、aption = sum end sub private sub command9_click() if list1.listindex -1 then y = list1.listindex list1.removeitem y list2.removeitem y end if sum = 0 for i = 1 to list2.listcount sum = sum + val(list2.list(i - 1) next i label8.caption = sum end sub 抽奖系统 代码如下 private sub command1_click() dim s as str

22、ing command1.visible = true timer1.enabled = false label2.visible = false s = val(text1.text) if s = 5 then label3.caption = 恭喜您!您获得留念项链一条,请到总服 务台兑奖!欢迎您下次光临! label3.forecolor = rgb(50, 50, 50) elseif s = 10 then label3.caption = 恭喜您!您将获得留念戒指一条,请到总 服务台兑奖!欢迎您下次光临! label3.forecolor = rgb(255, 50, 255)

23、elseif s = 30 then label3.caption = 恭喜您!您将获得应援棒一枚,请到总服 务台兑奖!欢迎您下次光临! label3.forecolor = rgb(55, 255, 255) elseif s = 90 then label3.caption = 恭喜您!您将获得会服一件,请到总服务 台兑奖!欢迎您下次光临! label3.forecolor = rgb(205, 55, 50) else label3.caption = 恭喜您!您将获得手机挂件一个,请到总 服务台兑奖!欢迎您下次光临! label3.forecolor = rgb(25, 25, 25)

24、 end if end sub private sub command2_click() form1.show frmcj.hide end sub private sub timer1_timer() timer1.interval = 100 text1.text = int(rnd * 100 + 1) end sub private sub text1_change() image2.picture = loadpicture(app.path & text1.text) end sub 登录和管理系统 private sub command1_click() if text1.tex

25、t 2010 then i = msgbox(密码错误, vbretrycancel + vbexclamation, 输入密码) if i 4 then end else text1.text = text1.setfocus end if else frmdl.hide frmgl.show end if end sub private sub command2_click() frmdl.hide form1.show end sub private sub form_load() text1.passwordchar = * end sub 窗体切换 private sub comma

26、nd1_click() frmgl.hide frmckly.show end sub private sub command2_click() frmgl.hide frmzj.show end sub private sub command3_click() frmgl.hide form1.show end sub 增减菜式和查看留言(本人做) private sub command1_click() data1.recordsource = 点心 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(a

27、pp.path & text4.text) end sub private sub command10_click() command1.enabled = false 使其他按钮不可 用 command2.enabled = false command3.enabled = false command4.enabled = false command5.enabled = false command6.enabled = false command8.caption = 修改 command7.caption = 添加 command10.enabled = false data1.upda

28、tecontrols data1.recordset.bookmark = mbookmark end sub private sub command11_click() frmzj.hide frmgl.show end sub private sub command2_click() data1.recordsource = 主食 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text4.text) end sub private sub command3_click() da

29、ta1.recordsource = 凉菜 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text4.text) end sub private sub command4_click() data1.recordsource = 热菜 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text4.text) end sub private sub command5_clic

30、k() data1.recordsource = 汤 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text4.text) end sub private sub command6_click() data1.recordsource = 茶酒饮品 data1.refresh data1.recordset.movefirst image2.picture = loadpicture(app.path & text4.text) end sub private sub comman

31、d7_click() command1.enabled = false 使其他按钮不可用 command2.enabled = false command3.enabled = false command4.enabled = false command5.enabled = false command6.enabled = false if command7.caption = 添加 then command7.caption = 确认 mbookmark = data1.recordset.bookmark data1.recordset.addnew text1.setfocus els

32、e if text1.text = or text2.text = or text3.text = or text4.text = then msgbox 字段不能为空 exit sub end if command7.caption = 添加 data1.recordset.update end if end sub private sub command8_click() command1.enabled = false 使其他按钮不可用 command2.enabled = false command3.enabled = false command4.enabled = false c

33、ommand5.enabled = false command6.enabled = false if command8.caption = 修改 then command8.caption = 确认 mbookmark = data1.recordset.bookmark data1.recordset.edit text1.setfocus else command8.caption = 修改 data1.recordset.update end if end sub private sub command9_click() command1.enabled = false 使其他按钮不可用 command2.enabled = false command3.enabled = false command4.enabled = false command5.enabled = false command6.enabled = false dim m as integer m = msgbox(是否删除当前记录?, 4 + 32 + 256, 信息 提示) if m = vbyes then data1.rec

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论