VB课程设计论文 饭店菜式管理系统.docx

上传人:b****7 文档编号:9214866 上传时间:2023-02-03 格式:DOCX 页数:35 大小:2.28MB
下载 相关 举报
VB课程设计论文 饭店菜式管理系统.docx_第1页
第1页 / 共35页
VB课程设计论文 饭店菜式管理系统.docx_第2页
第2页 / 共35页
VB课程设计论文 饭店菜式管理系统.docx_第3页
第3页 / 共35页
VB课程设计论文 饭店菜式管理系统.docx_第4页
第4页 / 共35页
VB课程设计论文 饭店菜式管理系统.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

VB课程设计论文 饭店菜式管理系统.docx

《VB课程设计论文 饭店菜式管理系统.docx》由会员分享,可在线阅读,更多相关《VB课程设计论文 饭店菜式管理系统.docx(35页珍藏版)》请在冰豆网上搜索。

VB课程设计论文 饭店菜式管理系统.docx

VB课程设计论文饭店菜式管理系统

成绩

南京工程学院

课程设计说明书(论文)

 

题目饭店菜式管理系统

课程名称VB语言程序课程设计

院(系、部、中心)

专业

班级

学生姓名

学号

设计地点

指导教师

 

设计起止时间:

南京工程学院

课程设计任务书

题目饭店菜式管理系统

 

课程名称VB语言程序课程设计

院(系、部、中心)

专业

班级

起止日期

指导教师

1.课程设计应达到的目的

本课程设计是在学生学习完《VB语言程序设计基础》课程后进行的一次全面的综合练习。

通过本次课程设计进一步巩固和加深对VB语言程序设计课程的基本知识的理解,掌握VB语言程序编写和调试的基本技能,了解有关程序设计程序开发的思路方法,提高利用软件程序解决实际问题的能力。

2.课程设计题目及要求

本课题要求用VB设计一个点菜管理系统管理饭店菜式,每个菜式的信息包括菜名、类系(四大菜系中属哪一种)、主要原料、价格、折扣。

该系统的主要功能有:

1、菜式管理:

●建立菜式信息记录;

●增删菜式记录;

2、菜式浏览:

●可选择浏览菜式的哪一个或几个属性;

●分菜系浏览饭店的菜式;

●根据菜名或价格浏览菜式;

3、点菜功能:

●点菜操作;

●预览点菜结果;

●增删菜式;

●生成账单;

4、可以适当扩充系统功能。

要求:

1、要求界面为多重窗体形式,可通过菜单和图形界面进行操作。

2、各种操作结果在界面有显示。

3、有一定的错误提示功能,如菜式折扣一定小于100%,输入错误有提示信息。

4、系统要求设计合理,逻辑性强,界面设计要求友好美观,操作方便,有足够的提示信息。

3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕

(1)对用户要求进行充分需求分析,要求系统功能合理,符合使用习惯;

(2)系统设计实用可靠;

(3)要求系统采用模块化结构化程序设计方法,易于移植;

(4)程序书写格式规范,注释详尽,易于维护;

(5)按照课程设计说明书的格式规范撰写课程设计说明书,正文部分包括:

①功能描述:

对系统要实现的功能进行简明扼要的描述。

②概要设计:

根据功能描述,建立系统的体系结构,即将整个系统分解成若干子功能模块,并用框图表示各功能模块之间的衔接关系,并简要说明各模块的功能和流程图。

③详细设计:

详细说明各功能模块的实现过程,源码等。

④效果及存在问题:

说明系统的运行效果(附上运行界面图片)、存在哪些不足以及预期的解决办法。

⑤心得体会:

谈谈自己在课程设计过程中的心得体会。

(6)课程设计说明书用A4纸统一打印,按《电力学院课程设计说明书规范》统一要求书写并装订。

(7)课程设计的程序上交,文件夹名称为学生姓名及学号的组合。

(8)答辩:

未经指导教师许可或无故不到者,缺勤率达50%的学生不能参加答辩。

答辩时,设计者在阐述自己的设计过程和结果,突出设计中遇到的主要问题和解决方法,回答教师提问。

 

4.主要参考文献

1、

 

5.课程设计进度安排

起止日期

工作内容

2010年12月14日

~12月20日

12月21日

12月22日

12月23日

12月24日

需求分析,划分模块,设计数据结构、算法,编写程序

调试程序

调试程序

调试程序

验收考核

6.成绩考核办法

课程设计成绩的组成:

课程总评成绩分项比例表

工作表现

设计成果

考核测评

30%

40%

30%

课程设计成绩评定需综合考虑以下因素:

(1)工作表现:

独立工作能力及设计过程的表现。

占总成绩的30%。

(2)设计成果:

设计说明书(计算书、论文)、图纸、程序、作品等的质量。

占总成绩的40%。

(3)考核测评:

课程设计结束前,指导教师应采用考试或答辩等形式对所指导的学生进行测评。

如采用答辩形式,需填写课程设计答辩记录,测评成绩占总成绩的30%。

(4)有创新的设计可以根据情况适当加分。

教研室审查意见:

教研室主任签字:

年月日

院(系、部、中心)意见:

主管领导签字:

年月日

-、题目要求、目的及分工说明明

1、本次课程设计任务的主要内容和要求(包括原始数据、技术参数、设计要求等)

本课题要求用VB设计一个点菜管理系统管理饭店菜式,每个菜式的信息包括菜名、类系(四大菜系中属哪一种)、主要原料、价格、折扣。

该系统的主要功能有:

(1)菜式管理:

建立菜式信息记录;增删菜式记录;

(2)菜式浏览:

可选择浏览菜式的哪一个或几个属性;分菜系浏览饭店的菜式;根据菜名或价格浏览菜式;

(3)点菜功能:

点菜操作;预览点菜结果;增删菜式;生成账单;

(4)可以适当扩充系统功能。

2、本次课程设计应达到的目的

本课程设计是在学生学习完《VB语言程序设计基础》课程后进行的一次全面的综合练习。

通过本次课程设计进一步巩固和加深对VB语言程序设计课程的基本知识的理解,掌握VB语言程序编写和调试的基本技能,了解有关程序设计程序开发的思路方法,提高利用软件程序解决实际问题的能力。

3、分工说明

(1)课程设计题目:

本次课程设计共3题:

1.饭店菜式管理系统;2.人事管理系统3.学生成绩管理系统。

按点名册顺序循环每人独立做一题。

具体各题课程设计任务书见"课程设计任务书"文件夹。

(2)时间安排:

上机16课时,16周周一1、2、3、4、5、6、7、8节课和周二1、2、3、4、5、6、7、8节课;周三考核答辩;周四、周五材料归档。

(3)课程设计说明书:

装订顺序及格式要求见"File\课程设计说明书\附件2:

课程设计说明书格式规范";其中正文部分内容要求详见各题目的《课程设计任务书》。

(4)学院相关规定:

见"Flie\参考规定"文件夹。

二、功能描述

1.运行首页

  打开饭店点菜系统,进入主界面。

两个按钮可以分别进入点菜系统和退出系统。

2.点菜系统

(1)此页面分为三个板块:

新增菜式;点菜;浏览菜式;返回主页。

(2)在新增菜单中中进行菜式的新增:

分别是新增菜名,菜系,价格,原料以及折扣。

(3)点菜按钮中可以根据顾客个人喜好点菜。

(4)在浏览菜式中可以查看本店菜单,可以分别通过按菜名浏览,按菜系浏览以及按价格浏览。

(5)返回主页按键可以返回到首页

3.点菜列表

(1)在点菜列表中可以通过“点菜”进行点菜以及通过“退菜”按键进行退菜。

(2)窗体右下角则显示“总金额(元)”,方便顾客点菜参考。

(3)点击“落单”按钮出现提示信息“感谢您的使用!

”。

(4)点击“返回点菜菜单”则返回到上一个点菜窗体。

4.菜式浏览

在浏览菜式中可以查看本店菜单,可以分别通过按菜名浏览,按菜系浏览以及按价格浏览。

三.概要设计(模块流程图)

1.主程序

 

2.窗体1-首页

 

3.窗体2-点菜

四、详细设计

1.创建数组模块:

PubliciAsInteger定义变量i为整型

PublicsumAsSingle定义变量sum为单精度

Typecaidan定义caidan结构体

cmAsString定义菜名为字符型

cxAsString定义菜系为字符型

jgAsInteger定义价格为整型

ylAsString定义原料为字符型

zkAsSingle定义折扣为单精度

EndType

Publics()Ascaidan声明数组s()为结构体caidan

Functionchazhao(ByValnAsString)AsInteger定义chazhao函数

DimjAsInteger

Forj=1Toi

Ifn=s(j).cmThenchazhao=j查询条件:

菜名

Ifn=s(j).cxThenchazhao=j查询条件:

菜系

Ifn=Str(s(j).jg)Thenchazhao=j查询条件:

价格

Ifn=s(j).ylThenchazhao=j查询条件:

原料

Ifn=Str(s(j).zk)Thenchazhao=j查询条件:

折扣

Nextj

EndFunction

2.窗体1—酒店首页

PrivateSubCommand1_Click()

Form1.Hidecommand1-“点击进入”按键

form2.Show窗体1和2之间的切换

EndSub

PrivateSubCommand2_Click()command2-“退出”按键

UnloadMe退出程序

EndSub

PrivateSubTimer1_Timer()设置一个计时器

IfLabel1.Left+Label1.Width>0Then标题“欢迎光临南工程大酒店”从

Label1.MoveLabel1.Left-88右往左滑动

Else

Label1.Left=Form1.ScaleWidth标题移动的条件

EndIf

EndSub

3.窗体2—点菜系统

PrivateSubCommand1_Click()

form2.Hide窗体2和3之间的切换

Form3.Show

EndSub

PrivateSubCommand2_Click()

form2.Hide

Form4.Show窗体2和4之间的切换

EndSub

PrivateSubCommand3_Click()

form2.Hide窗体2和1之间的切换

Form1.Show

EndSub

PrivateSubmnufileadd_Click()定义“新增”按键

ReDimPreserves(1To(i+1))Ascaidan

i=i+1

s(i).cm=InputBox("请输入菜名","新增")输入新增的菜名

s(i).cx=InputBox("请输入菜系","新增")输入新增的菜系

s(i).jg=InputBox("请输入价格","新增")输入新增的价格

s(i).yl=InputBox("请输入原料","新增")输入新增的原料

s(i).zk=InputBox("请输入折扣","新增")输入新增的折扣

EndSub

PrivateSubmnufiledel_Click()

DimjAsInteger

DimkAsInteger定义“删除”按键

DimnAsString

n=InputBox("请输入需要删除的菜名","删除")

j=chazhao(n)

Fork=jToi-1

s(k)=s(k+1)进行查找,符合条件则进行删除

Nextk

i=i-1

EndSub

PrivateSubmnufileqiute_Click()

End退出按键

EndSub

PublicFunctionchazhao(ByValnAsString)AsInteger

DimjAsInteger

Forj=1Toi

Ifn=s(j).cmThenchazhao=jIfn=s(j).cxThenchazhao=j

Ifn=Str(s(j).jg)Thenchazhao=jIfn=s(j).ylThenchazhao=j

Ifn=Str(s(j).zk)Thenchazhao=j

Nextj

EndFunction

4.点菜列表

PrivateSubCommand1_Click()“点菜”按键

Forj=0ToList1.ListCount-1

IfList1.Selected(j)Then如果单击“点菜”按键

List2.AddItemList1.List(j)list1中的相应项则出现在list2中

sum=sum+s(j+1).jg*s(j+1).zk总金额增加

EndIf

Nextj

Label1.Caption=sumlabel1显示总金额

EndSub

PrivateSubCommand2_Click()

Forj=0ToList2.ListCount-1如果单击“点菜”按键

IfList2.Selected(j)Then

n=List2.List(j)总金额增加

EndIf

Nextj

j=chazhao(n)

sum=sum-s(j).jg*s(j).zk

Label1.Caption=sum

List2.RemoveItemList2.ListIndexlist2中的相应项则删除

EndSub

PrivateSubCommand3_Click()

x=MsgBox("感谢您的使用")

EndSub

PrivateSubCommand4_Click()

Form3.Hide

form2.Show窗体3和2之间进行切换

EndSub

PrivateSubForm_Load()

DimjAsInteger

Forj=1Toi

List1.AddItems(j).cm

Nextj

EndSub

5.窗体4—菜式浏览

PrivateSubCommand1_Click()

Form4.Hide窗体4和2之间进行切换

form2.Show

EndSub

PrivateSubForm_Load()

Show

PrintChr(13),Chr(13),Chr(13),Chr(13),Chr(13)打印换行

Forj=1Toi

Prints(j).cm,s(j).cx,s(j).jg,s(j).yl,s(j).zk打印菜名,菜系,价格

Nextj原料以及折扣

EndSub

PrivateSubLabel1_Click()

Forj=1Toi-1单价“菜名”则按菜名汉语拼音

Fork=iToj+1Step-1的先后次序来排序

Ifs(k).cm

m=s(k).cm:

s(k).cm=s(k-1).cm:

s(k-1).cm=m

m=s(k).cx:

s(k).cx=s(k-1).cx:

s(k-1).cx=m

m=s(k).jg:

s(k).jg=s(k-1).jg:

s(k-1).jg=m

m=s(k).yl:

s(k).yl=s(k-1).yl:

s(k-1).yl=m

m=s(k).zk:

s(k).zk=s(k-1).zk:

s(k-1).zk=m

EndIf

Nextk

Nextj

Cls清屏

PrintChr(13),Chr(13),Chr(13),Chr(13),Chr(13)

Forj=1Toi

Prints(j).cm,s(j).cx,s(j).jg,s(j).yl,s(j).zk

Nextj

EndSub

PrivateSubLabel2_Click()

Forj=1Toi-1单价“菜系”则按菜名汉语拼音

Fork=iToj+1Step-1的先后次序来排序

Ifs(k).cx

m=s(k).cm:

s(k).cm=s(k-1).cm:

s(k-1).cm=m

m=s(k).cx:

s(k).cx=s(k-1).cx:

s(k-1).cx=m

m=s(k).jg:

s(k).jg=s(k-1).jg:

s(k-1).jg=m

m=s(k).yl:

s(k).yl=s(k-1).yl:

s(k-1).yl=m

m=s(k).zk:

s(k).zk=s(k-1).zk:

s(k-1).zk=m

EndIf

Nextk

Nextj

Cls

PrintChr(13),Chr(13),Chr(13),Chr(13),Chr(13)

Forj=1Toi

Prints(j).cm,s(j).cx,s(j).jg,s(j).yl,s(j).zk

Nextj

EndSub

PrivateSubLabel3_Click()

Forj=1Toi-1单价“原料”则按菜名汉语拼音

Fork=iToj+1Step-1的先后次序来排序

Ifs(k).yl

m=s(k).cm:

s(k).cm=s(k-1).cm:

s(k-1).cm=m

m=s(k).cx:

s(k).cx=s(k-1).cx:

s(k-1).cx=m

m=s(k).jg:

s(k).jg=s(k-1).jg:

s(k-1).jg=m

m=s(k).yl:

s(k).yl=s(k-1).yl:

s(k-1).yl=m

m=s(k).zk:

s(k).zk=s(k-1).zk:

s(k-1).zk=m

EndIf

Nextk

Nextj

Cls

PrintChr(13),Chr(13),Chr(13),Chr(13),Chr(13)

Forj=1Toi

Prints(j).cm,s(j).cx,s(j).jg,s(j).yl,s(j).zk

Nextj

EndSub

PrivateSubLabel4_Click()

Forj=1Toi-1

Fork=iToj+1Step-1单价“价格”则按价格的

Ifs(k).jg

m=s(k).cm:

s(k).cm=s(k-1).cm:

s(k-1).cm=m

m=s(k).cx:

s(k).cx=s(k-1).cx:

s(k-1).cx=m

m=s(k).jg:

s(k).jg=s(k-1).jg:

s(k-1).jg=m

m=s(k).yl:

s(k).yl=s(k-1).yl:

s(k-1).yl=m

m=s(k).zk:

s(k).zk=s(k-1).zk:

s(k-1).zk=m

EndIf

Nextk

Nextj

Cls

PrintChr(13),Chr(13),Chr(13),Chr(13),Chr(13)

Forj=1Toi

Prints(j).cm,s(j).cx,s(j).jg,s(j).yl,s(j).zk

Nextj

EndSub

PrivateSubLabel5_Click()

Forj=1Toi–1单击“折扣”则按折扣的大小顺序来显示

Fork=iToj+1Step-1

Ifs(k).zk

m=s(k).cm:

s(k).cm=s(k-1).cm:

s(k-1).cm=m

m=s(k).cx:

s(k).cx=s(k-1).cx:

s(k-1).cx=m

m=s(k).jg:

s(k).jg=s(k-1).jg:

s(k-1).jg=m

m=s(k).yl:

s(k).yl=s(k-1).yl:

s(k-1).yl=m

m=s(k).zk:

s(k).zk=s(k-1).zk:

s(k-1).zk=m

EndIf

Nextk

Nextj清屏

Cls

PrintChr(13),Chr(13),Chr(13),Chr(13),Chr(13)

Forj=1Toi

Prints(j).cm,s(j).cx,s(j).jg,s(j).yl,s(j).zk

Nextj

EndSub

五、调试报告(程序运行结果截屏)

1.运行首页

(1)单击“点击进入”

(2)单击“退出”则退出程序

2.点菜窗体

(1)文件

A.新增

B.删除

C.退出

退出程序

(2)“浏览菜式”

(3)“点菜”

A.点菜

B.退菜

C.落单

D.总金额

E.返回点菜菜单

3.“浏览菜式”窗体

(1)“按菜名浏览”

(2)“按菜系浏览”

(3)“按价格浏览”

六、改进意见及收获体会

课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要节,是对学生实际工作能力的具体训练和考察过程。

回顾起此次课程设计,至今我仍感慨颇多,的确从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的识,而且学到了很多在书本上所没有学到过的知识。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这虽然不是第一次做,但是这次的VB程序设计程设计比一年级的c语言课程设计和三年级学的软件技术基础难度大很多,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

刚开始在网上搜寻了一下关于饭店菜式管理的VB程序,发现几乎所有都是需要数据库来制作的,要么就是需要文件的知识。

但是这些我们都没有学习过,虽然之前稍稍学习了一点文件的知识,但是解决课程设计是远远不够的,王老师提示我们不要用文件或者数据库进行设计,而是要用记录数组进行课程设计。

于是我找出了以前做过的实验,就是那个职工信息管理系统的实验来复习下记录数组的知识。

要利用记录数组来做,就必须先建立一个数据结构。

之前学过窗体之间的切换。

利用unloadform或者form.Hide。

以前感觉这两者之间应该没有太大的区别,但是在进行新增菜式结束后,我浏览了菜式,之后再继续新增菜式,新增的菜式没有相应的添加在菜单之中,没有动态刷新,于是我检查程序

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

当前位置:首页 > 工作范文 > 行政公文

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

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