VB 课程设计.docx
- 文档编号:8840046
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:27
- 大小:4.09MB
VB 课程设计.docx
《VB 课程设计.docx》由会员分享,可在线阅读,更多相关《VB 课程设计.docx(27页珍藏版)》请在冰豆网上搜索。
VB课程设计
吉林工程技术师范学院
VB课程设计
设计题目:
酒店点菜系统
专业:
计算机班级:
C1152
学生姓名:
曹睿学号:
33
指导教师:
高汝仪、高岚
2012年6月
信息工程学院
摘要
经过一个学期对《VB程序设计》的学习,同学们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。
做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。
本程序是酒店点菜系统程序,可以更方便酒店管理行业。
关键字:
VB设计、酒店信息、酒店管理、点菜系统、VB主流产品
一.题目分析
(1).登录
打开饭店菜式管理系统程序,进入主界面。
通过输入用户名和密码登录到菜品式管理界面
两个按钮可以分别进入菜式管理系统和退出系统。
(2).菜式管理系统
通过输入用户名和密码进入到了菜式管理界面,点击菜式管理菜单,对菜式进行添加和删除,以及退出程序。
三个按钮可以分别进入到点菜系统、菜式浏览系统以及返回主界面。
(3).点菜系统
通过点击菜式管理系统的点菜按钮进入到点菜系统。
此界面有两个列表框,分别放饭店里所有菜式以及已点的菜,再通过点菜按钮将饭店菜式列表框里的菜点到已点列表框里,通过退菜按钮对已点列表框里的菜进行删除。
在点菜和退菜的同时还对菜式价格进行计算。
点菜完成后进行落单,点击返回管理界面按钮返回管理系统界面。
(4).菜式管理系统
通过点击菜式管理系统的菜式浏览按钮进入到菜式浏览系统。
通过点击按菜名、价格和菜系浏览菜单,对菜式分别进行浏览。
点击返回管理界面按钮返回管理里系统。
.
二.设计概述
(1)各模块之间的关系
登
录
失
败
登录成功
(2)各模块流程图
a:
菜式管理系统
b:
点菜系统
c:
菜式浏览系统
三.详细设计
1.模块窗体
PubliciAsInteger
PublicsumAsSingle
Typecaidan
cmAsString
cxAsString
jgAsInteger
ylAsString
zkAsSingle
EndType
Publics()Ascaidan
Functionchazhao(ByValnAsString)AsInteger
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.酒店菜单登录系统(form1)
PrivateSubCommand1_Click()
Dimmes%
IfText1.Text="jane"AndText2.Text="123456"Then
Form1.Hide
Form2.Show
Else
mes=MsgBox("用户名或密码错误,请重新输入!
")
Text1.Text=""
Text2.Text=""
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
Text2.PasswordChar="*"
EndSub
3.菜式管理系统(form2)
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=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
4.点菜系统(form3)
PrivateSubCommand1_Click()
Forj=0ToList1.ListCount-1
IfList1.Selected(j)Then
List2.AddItemList1.List(j)
sum=sum+s(j+1).jg*s(j+1).zk
EndIf
Nextj
Label1.Caption=sum
EndSub
PrivateSubCommand2_Click()
IfList2.ListIndex>=0Then
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
List2.RemoveItemList2.ListIndex
Label1.Caption=sum
EndIf
Label1.Caption=sum
EndSub
PrivateSubCommand3_Click()
Label5="谢谢使用!
"
EndSub
PrivateSubCommand4_Click()
UnloadForm3
Form2.Show
EndSub
PrivateSubForm_Load()
DimjAsInteger
Forj=1Toi
List1.AddItems(j).cm
Nextj
EndSub
5.菜式浏览系统
PrivateSubcm_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
PrivateSubCommand1_Click()
UnloadForm4
Form3.Show
EndSub
PrivateSubcx_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
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
PrivateSubjg_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
四效果及存在问题:
1.效果:
程序开始运行,进入酒店菜单管理系统登录主界面,输入用户名和密码:
点击“登录”按钮进入菜式管理系统:
点击“菜式管理”菜单里的“新增”,根据提示进行菜式信息输入:
根据提示依次输入新增的菜....
菜式输入完后,点击“菜式浏览”按钮,进入“菜式浏览界面”浏览菜的所有信息:
点击“按菜名浏览”菜单,所有菜的信息就按菜名重新排列:
点击“按菜价浏览”菜单,所有菜的信息就按菜价从低到高重新排列:
点击“按菜系浏览”菜单,所有菜的信息就按菜系重新排列:
点击“返回点菜界面”按钮,进入点菜系统:
选中“菜单”列表框了的某个菜,再点击“点菜=>”按钮,所选中的菜就到了“已点”列表框里了,并且对当前已点菜的价格进行计算:
若不想要“已点”列表框里的某个菜,选中这个菜,再点击“<=退菜”按钮,这个菜就从“已点”列表框里删除掉了,同时这个菜的价钱也减去了:
点击“落单”按钮,生成账单:
点击“返回管理界面”按钮,返回管理系统,若想删除某个菜式,点击“菜式管理”里的“删除”按钮,根据提示进行删除:
查看菜单里面“鸡蛋鸭卷”这个菜的所有信息是否删除:
浏览菜单里和点菜系统里菜单里,“鸡蛋鸭卷”的信息都以删除。
所有功能完成后,最后退回登录系统首页,点击“退出”按钮,退出整个系统。
2.存在问题:
程序编写时没有用到文件,不带保存功能,每次运行程序时,都到重新输入菜式信息,比较麻烦。
应该使用文件,这样会更完善!
五.总结
一个星期的软件课程设计结束了,课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.
经过一周的VB课程设计,我解决实际问题的能力提高了并学会了自主学习,自我提高和自我完善,用已学过VB知识及的自学数据库技术编写程序。
课程设计让我们学习与实践相结合,加深了了我们对书本知识的理解能力,学以致用。
锻炼了我的自主学习能力及创新能力。
在今后的学习中,还要继续加强自主学习与实践的锻炼。
回想学习课程设计的过程中,既有烦恼又有快乐。
从思考题目的时候开始,到程序的编写,上机调试,这中间我们遇到很多困难。
程序设计期间,遇到问题自己思考并积极去解决,也向同学,老师和网络寻求帮助,在编程过程中,我们就遇到了记录数组,各模块之间的调用。
经过集思广益后,我收获很大,不仅解决了问题,还增进了同学之间的友谊。
当解决一个问题时,我都很有成就感;当问题很难解决时,我会回到课本,复习以前学过的知识,再思考问题,直至把问题解决。
在上机调试的过程中,我们还遇到许多类似的问题,最后在我们的共同努力下,通过向老师、同学请教,查参考资料,我们把所有的困难都解决了!
在程序没有问题,所有功能都能操作的情况下,最后我们还要对显示的页面进行设计,要是输出页面清晰明了,这就要求我们对输出的可是进行正确的控制。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
通过这次课程设计,我基本掌握了VB设计的问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧,并且加深理解课堂上学习的内容。
在设计过程中,我逐步提高了程序设计和调试能力,培养了我们解决问题的能力,算法分析能力和,同时我也学到了以后解决问题的时候要认真,仔细,考虑周全而且要有耐力,也看到了团队精神和互帮互助的重要性。
这一点会让我终生受益。
这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在王老师的辛勤指导下,终于游逆而解。
同时,在王老师的身上我学得到很多实用的知识,再次我表示感谢!
同时,对给过我帮助的所有同学和指导老师再次表示忠心的感谢!
六.参考文献
[1]郭仁华,霍东亚,陈印光.VB+Surfer实现地下水降落漏斗变化趋势动态显示[J].山东水利科技,2008(3).
[2]贾宏元,赵光平,孙银川,等.基于SurferAutomation对象技术的等值线自动绘图方法研究与应用[J].计算机系统应用,2006(7).
[3]任磊,陈华根.基于面积统计的Surfer软件等值线等级文件自动生成[J].物探与化探,2009,33(5)595-598.
[4]秦林江.Surfer与MapGIS图件相互转换的几个问题[J].物探与化探,2010,34(5):
677-680.
[5]陈善.重力勘探[M].北京:
地质出版社,1986.
[6]曾华霖.重力场与重力勘探[M].北京:
地质出版社,2005.
七、对该题目和VB设计的意见和建议
1.对该题目的意见和建议
打字程序入门简单,容易下手做,但要完善他还是有一定的难度,我们有很大的创新空间,能发挥每个同学的潜能,而且它是一个非常常见的程序,所以,容易使人理解,编写目的明确。
综上所述,本题木是个很不错的课题
2.对本次设计的意见和建议
本次活动培养我们综合利用VB语言进行程序设计的能力,培养了我们利用系统提供的标准函数和标准控件进行创新设计。
现在虽然要求素质教育,但我们实践的机会还是很少,像这样好的火动更少,所以,搞这种实践活动是非常有必要的
希望学校常搞这种活动
附录
源代码
PubliciAsInteger
PublicsumAsSingle
Typecaidan
cmAsString
cxAsString
jgAsInteger
ylAsString
zkAsSingle
EndType
Publics()Ascaidan
Functionchazhao(ByValnAsString)AsInteger
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
PrivateSubCommand1_Click()
Dimmes%
IfText1.Text="jane"AndText2.Text="123456"Then
Form1.Hide
Form2.Show
Else
mes=MsgBox("用户名或密码错误,请重新输入!
")
Text1.Text=""
Text2.Text=""
EndIf
EndSub
PrivateSubCommand2_Click()
End
EndSub
PrivateSubForm_Load()
Text2.PasswordChar="*"
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=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
PrivateSubCommand1_Click()
Forj=0ToList1.ListCount-1
IfList1.Selected(j)Then
List2.AddItemList1.List(j)
sum=sum+s(j+1).jg*s(j+1).zk
EndIf
Nextj
Label1.Caption=sum
EndSub
PrivateSubCommand2_Click()
IfList2.ListIndex>=0Then
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
List2.RemoveItemList2.ListIndex
Label1.Caption=sum
EndIf
Label1.Caption=sum
EndSub
PrivateSubCommand3_Click()
Label5="谢谢使用!
"
EndSub
PrivateSubCommand4_Click()
UnloadForm3
Form2.Show
EndSub
PrivateSubForm_Load()
DimjAsInteger
Forj=1Toi
List1.AddItems(j).cm
Nextj
EndSub
PrivateSubcm_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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 课程设计