版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能点餐系统设计分类号:TP31编号:BY15595912/13/224-0901沈阳化工大学本科毕业论文题目:智能点餐系统设计院系:信息工程学院专业:电子信息科学与技术班级:0901学生姓名:王旭东指导教师:葛晓宇论文提交日期:2013年6月21日论文答辩日期:2013年6月21日沈阳化工大学学士学位论文摘要摘要现代社会正在进入信息社会,蓬勃发展的餐饮业作为第三产业的重要组成部分,在国民经济中的地位日益突出,同时,快节奏的生活,要求餐饮业跟上时代的步伐,提供高质量、快速的服务。为了促进餐饮业的现代化,提高我国餐饮业的竞争力,急切需要真正适合餐厅实际需要的餐饮管理系统。本文运用计算机系统来实现
2、餐饮企业工作流的信息化管理,采用面向对象的开发方法以及C+胡言,使用VisualC+6.0中文版开发。后台的数据库系统设计采用的是Microsoft的Access数据库系统,通过ADO©:据库开发技术,直接对Access数据库进行操作。实现了客户点餐、厨师配餐、收银管理、系统设置四大功能,解决餐饮企业中客户点餐速度慢、服务员登记不清晰、厨师配餐漏配、菜谱更新不及时且不直观、会员管理混乱的现象。根据餐饮行业的特点和该企业的实际情况,该系统应该以餐饮业务为基础,突出前台管理,从专业角度出发,提供科学有效的管理模式,点菜方面采取表单加数据的方式使用户能直观地管理数据信息,并能有效的管理每个
3、台号所点的酒菜。点菜收银、营业分析、库房管理的有机结合,可以为酒店经营方面提供依据,为酒店餐馆的发展提供重要保证。关键词:数据库,面向对象,C+,ADO,点餐,I沈阳化工大学学士学位论文AbstractAbstractModernsocietyisenteringtheinformationsociety,thevigorousdevelopmentofthecateringindustryasanimportantpartofthetertiaryindustry,inthenationaleconomyhasbecomeincreasinglyprominent,atthesametime
4、,thefastpaceoflife,forthecateringindustrytokeeppacewiththetimes,toprovidehighquality,fastservice.Inordertopromotethecateringindustrymodernization,improvethecompetitivenessofChina'scateringindustry,cateringmanagementsystemisurgentlyneededfortheactualneedsoftherealrestaurant.Informationmanagementb
5、ytheuseofacomputersystemtorealizethecateringenterpriseworkflow,isdevelopedbyobject-orientedmethodandC+language,useVisualC+6Chineseversion.ThedesignofabackgrounddatabasesystemistheAccessMicrosoftdatabasesystem,usingADOdatabasedevelopmenttechnology,directoperationofAccessdatabase.Thecustomerordering,c
6、ookfood,cashiermanagement,systemsettingsfourbigfunctions,solvethediningenterprisecustomerorderingspeedisslow,thewaiterregistrationisnotclear,thechefcatering,menuupdatingleakagethanandnotintuitive,membermanagementconfusion.Accordingtothecharacteristicsofthecateringindustryandtheactualsituationoftheen
7、terprise,thesystemshouldbebasedonthefoodandbeveragebusiness,outstandingmanagement,fromaprofessionalpointofview,scientificandII沈阳化工大学学士学位论文Abstracteffectivemanagementmode,taketheformdatainawayalacarteuserscandirectlymanagethedatainformation,andtheeffectivemanagementofeachstationpointfoodanddrink.Theo
8、rganiccombinationofalacartecashier,businessanalysis,warehousemanagement,canprovideabasisforthehotelbusiness,provideimportantguaranteeforthedevelopmentofhotelrestaurant.Keywords:database,object-oriented,C+,ADO,meal.III沈阳化工大学学士学位论文目录目录第一章绪论11.1引言11.2研究目的和意义11.2.1 智能点餐系统的目的11.2.2 智能点餐系统的意义2第二章智能点餐系统的分析
9、32.1智能点餐系统的需求分析32.1.1 目前餐饮企业工作流程42.1.2 智能点餐系统调研32.2智能点餐系统的功能模块的划分52.2.1 系统功能分析52.2.2 查询/统计52.2.3 数据报表52.2.4 智能点餐系统设计6第三章智能点餐系统的数据库设计73.1智能点餐系统数据库概念设计73.2智能点餐系统数据库逻辑结构设计93.3智能点餐系统数据库的创建113.4智能点餐系统数据库的连接123.5智能点餐系统数据库的修改13第四章智能点餐系统设计154.1 系统设计154.1.1 智能点餐系统功能图设计15IV目录4.1.2智能点餐系统类库设计174.2智能点餐系统流程图184.3
10、智能点餐系统主界面创建191.1.1 窗口界面开发.204.3.2登录系统功能开发214.4 前台管理模块设计.214.4.1前台点菜功能开发214.4.1 加减菜功能开发23V沈阳化工大学学士学位论文目录4.4.2 顾客结账功能开发244.4.3 本日结算功能开发244.5 后台管理模块设计.254.5.1 进货商品信息管理功能开发254.5.2 商品进货功能开发264.5.3 菜品信息管理功能开发284.5.4 员工注册功能开发294.6 财务统计模块设计.304.6.1 进货查询功能开发304.6.2 日营业额统计查询功能开发314.6.3 月营业额查询统计功能开发334.7系统管理模块
11、设计.344.7.1 用户权限管理功能开发344.7.2 数据库管理功能开发35第五章总结与展望37致谢38参考文献39VI沈阳化工大学学士学位论文第一章绪论第一章绪论1.1引言俗话说:“民以食为天”。随着人民生活水平的提高,餐饮业在服务行业中的地位越来越重要,能够从激烈的竞争中脱颖而出,已经成为每位餐饮经营者所追求的目标。经过多年的发展,餐饮管理已经逐渐由人工管理进入到重视规范、科学管理的阶段。众所周知,在科学管理的具体实现方法中,最有效的工具就是应用管理软件进行管理。与此同时,我国餐饮业发展的质量和内涵也发生了重大变化。行业的经营领域和市场空间不断拓宽,经营档次和企业管理水平不断提高,经营
12、业态日趋丰富,投资主体和消费需求多元化特点更加突出,网点数量和人员队伍继续扩大;餐饮市场更加繁荣,消费的个性化和特色化的趋势明显,追求健康营养和连锁规模发展成为主题。集1,2团化、品牌化、产业化和国际化的发展步伐加快,餐饮现代化的进程不断推进。1.2研究目的和意义1.2.1智能点餐系统的目的在这个“食文化”高度发达的国度里,餐饮业毋庸置疑地成为第一大传统产业。然而,正是这历史悠久、规模庞大的产业,却也是信息化程度最慢和最低的产业之一。至今为止,绝大多数餐饮企业的经营方式仍然停留在“一张纸、一支笔、经理喊破嗓、员工跑断腿”的境地;而会计工作,也仍然是以一支笔或一个算盘,或最好的情况下一个计算器进
13、行加减乘除,其本质仍然是以人脑计算为基础,不但工作量巨大,而且极易出错。笔者曾经见过生意极好的大排档,服务员进进出出地飞奔于户外桌台、大堂吧台和厨房之间,而经理则用计算器算得满头大汗的场景,蔚为壮观。且不说这种日复一日的重复、单调的劳动意义何在,单就消费计算方面的出错而引发的与客户之间的矛盾纠纷,就不可胜计。其实在人类文明已经进入电子信息的时代,绝大多数重复、单调、可程式化的工作都已经可以交由计算机来完成。面对复杂和庞大的计算任务,计算机在效率和准确1沈阳化工大学学士学位论文第一章绪论度方面是人脑所不能望其项背的。作为传统产业的餐饮业,同其他很多传统产业一样,同样可以引入信息化改造。餐饮业的信
14、息化改造内容,主要有:由传统的笔和纸点餐,改用电子点餐;由传统的人工计算、统计、管理,改用电脑进行计算、统计和管理;将现代的电子技术、无线技术、计算机技术和网络技术引入到餐饮行业中来,替代部分人工操作,加快餐饮企业的运转效率,提升餐饮企业的管理水平,使餐饮企业运作更规范、更科学、更高效。在餐饮企业的信息化改造当中,无线点餐(点菜)系统,成为其核心内容,也3,4是餐饮企业进行信息化改造的必由之路。因此本论文研究的目的在于通过餐饮企业的信息化改造暨利用无线技术,替代传统的纸和笔进行电子点餐(点菜)操作,实现远距离地进行信息即时传递。当然,无线点餐(点菜)系统不只是可以进行点餐操作,同时通过配套的餐
15、饮管理软件,还可以实现强大的统计和管理功能,使餐饮企业真正实现信息化。1.2.2智能点餐系统的意义智能点餐系统能够有效地的提升餐饮企业的档次和管理水平,做到科学管理、科高效运转、降低成本,进行信息化是必由之路。而采用无线点餐(点菜)系学决卒策、统取代传统的手工点餐,采用餐饮管理软件取代传统的人工统计和粗放型管理又是信息化当中的核心内容。餐饮企业引进一套无线点餐(点菜)系统,成本大约在一万元左右(视配置情况而不同),大约相当于一个服务员一年的工资,但带来的便利性和管理水平的升级则是无与伦比的。无线点餐(点菜)系统所带来的运营效率的大幅度提高和人力成本的节约,远超其投资成本,对于餐饮企业信息化,可
16、以说是不二的选择。2沈阳化工大学学士学位论文第二章智能点餐系统的分析第二章智能点餐系统的分析3.1 智能点餐系统的需求分析2.1.1智能点餐系统调研随着餐饮行业的迅速发展,现在的人工管理方式已经不能完全胜任。广大餐饮业经营者已经意识到使用计算机信息技术的重要性,决定采用计算机管理系统来管理餐饮。根据餐饮行业的特点和该企业的实际情况,该系统应该以餐饮业务为基础,突出前台管理,从专业角度出发,提供科学有效的管理模式,点菜方面采取表单加数据的方式使用户能直观地管理数据信息,并能有效的管理每个台号所点的酒菜。点菜收银管理可实现点菜、结账、清台。进货管理可记录商品入库的情况。点菜收银、营业分析、库房管理
17、的有机结合,可以为酒店经营方面提供依据,为酒店餐馆的发展提供重5,8要保证。通过对餐馆日常业务的调查,针对管理业务流程得到下面的业务需求。1) 系统应该包含餐馆服务的基本信息。如餐位信息,菜品酒水信息,员工信息,进货商品信息等。2) 系统应该具有进货管理及查询统计功能。通过该系统可以随时对进货原料进行登记,统计和查询。3) 系统应该具有记录客户就餐信息功能。通过该系统实时记录客户的餐位,所消费的菜品,饮料等。4) 系统应该具有财务结算功能,当客户就餐完毕,通过餐位得到客户消费明细及应负金额,从而实现结算。5) 系统应该具有统计查询功能,通过系统能够方便的进行查询进货信息,按照日,月统计营销收入
18、。6) 系统应该具有严格的权限管理,值班操作员,主管和经理根据角色的不同,拥有不同的操作权限。7) 系统具有一定的安全性,通过系统能过方便的进行实时系统数据的备份和复原。3沈阳化工大学学士学位论文第二章智能点餐系统的分析止匕外,智能点餐系统要求具有开放性,可运行在主流的windows操作系统平台上,便于以后的系统的升级。要求操作界面美观大方,布局合理,功能完善,容易操作。2.1.2目前餐饮企业工作流程目前的中小餐饮企业采用最多的手工记账形式,其业务流程如图2.1所示服务员登记客人点餐厨师加工处理收银台服务员登记客人点餐图2.1手工业务流程分析流程图简介:顾客到达餐厅有引领员引导到座位后,承上菜
19、谱并登记客人所点食品,完毕后唱菜谱并由客人确认,征得客人同意后交给后台厨师及配餐人员,配餐人员根据大厅服务员提交的菜谱为客人配齐所有饮料、酒水、甜点等食物,厨师根据大厅服务员提供的菜谱按照先凉后热的顺序快速加工出美味可口的食物交友送餐人员及时送到指定的餐桌。客人用餐完毕后有服务员或者客户到收银处办理结算手续,客人如有会员卡的话,收银员应给予相应的优惠,结算完毕后有引领员送客人出餐厅,这样的工作方式当客流量增加的时候,必然会出现争抢菜谱,上错菜,漏上菜、忘记上菜以及计算失误等现象,轻则引起客户的不满,重则引起纠纷,因此有必要采用新的工作模式,来避免上述情况的发生。4沈阳化工大学学士学位论文第二章
20、智能点餐系统的分析2.2智能点餐系统的功能模块的划分2.2.1 系统功能分析系统共分为值班员,主管和经理三种用户权限,其级别由低到高,其中值班员只具有前台管理的功能,而主管在值班员权限的基础上增加了部分后台管理,如进货,注册员工和财务查询功能,而经理则具有系统操作的所有权限,各个角色的具体功能如下:值班员权限具有的具体功能如下:为顾客开台点菜、为点菜顾客增减菜、顾客买单、本日收入查询。主管权限在值班员权限的基础上,增加了如下功能:原料进货、注册员工(默认值班权限)、日收入财务查询、月收入财务查询、进货记录查询。经理权限在主管权限的基础上增加了如下功能:进货原理信息设置(进货商品名称,单价)、菜
21、品信息设置(菜品名称,单价)、数据库管理(初始化,备份,还原)、设置注册用户权限。2.2.2 查询/统计智能点餐系统的查询主要包括顾客点单查询,可根据桌台编号、点单编号及顾客编号中的任一条件实现顾客的点单查询;桌台信息查询;菜谱信息查询;退菜信息查询等。统计主要包括日营业统计及月营业统计。2.2.3 数据报表主要是为了实现对一些重要的信息进行打印,主要包括顾客的消费账单、日营业报表及月营业报表的打印等。方便顾客及餐厅管理者对相关数据的了解,使消费过程更加透明化,可视化,充分的体现了本系统的人性化设计。5沈阳化工大学学士学位论文第二章智能点餐系统的分析2.2.4智能点餐系统设计智能点餐系统主要是
22、对餐厅的顾客点单信息及菜谱信息进行有效的管理,利用本系统实现顾客从点单到结账的一条龙服务。系统开发设计的思想:系统安全性设计:在服务器端程序中,系统可根据不同用户的身份来自动屏蔽一些操作,比如菜谱管理、用户权限管理等功能。这些功能只有管理员身份的用户进入系统时才能使用,提高了系统的安全保障,阻止了用户的越权操作。系统在设计时,对于一些特殊操作,比如一些删除或修改等,提供了许多操作提示信息对话框,提示用户的操作,如发现刚才的操作有误,可及时取消,提高了人机交互能力。系统模块化设计:系统功能实现使用结构化设计方法,将系统功能由整模块划分成若干个十分明确和简单的小模块。此种设计,不仅实现系统的层次与
23、整体性,而且用户根据各小模块的明确提示,可以方便顺利的进入各功能操作。自动化与智能化设计:营业员进入系统时,系统主界面的状态栏中自动显示:姓名、当前时间及用户身份。为保证系统数据的唯一性与有序性,账单编号及点单编号等各种唯一性标识都由系统自动生成。系统自动化功能减少了由于手工操作带来的出错情况,提高了工作效率,实现了信息化、系统化、自动化、智能化操作管理。沈阳化工大学学士学位论文第三章智能点餐系统的数据库设计第三章智能点餐系统的数据库设计考虑到系统的数据量较少,且为单机使用的特点,为了方便项目开发和维护,这9,10里后台的数据库系统设计采用的是MicrosoftAccess数据库系统.3.1智
24、能点餐系统数据库概念设计通过前面对餐饮管理系统的功能分析,系统的对象实体可归纳为登录用户实体,餐位实体,菜单实体,账单实体,日收入报表实体,进货商品信息实体和商品进货实体。登录用户实体用于记录登录用户及其权限信息,其实体的E-R图如图3.1所示:登或用其K图3.1登录实体7沈阳化工大学学士学位论文第三章智能点餐系统的数据库设计账单实体用于记录顾客的餐位、点菜及消费价格信息,其实体的E-R如图3.4所示:图3.4账单实体E-R如图3.5所示:日收入报表实体用于记录每日的所有收入信息,其实体的日收入展表奖停图3.5日收入实体沈阳化工大学学士学位论文第三章智能点餐系统的数据库设计进货商品信息实体用于
25、记录进货商品的名称、价格信息,其实体的E-R图如图商品进货实体用于记录商品的进货采购信息,其实体的E-R图如图3.7所示:图3.7商品进货实体3.2智能点餐系统数据库逻辑结构设计根据前面设计好的各实体E-R图,就可以创建相关的数据库的逻辑结构,下面主要介绍一下系统包含的主要表。Logininfo表对应于登录用户实体,用于记录系统登录用户的信息,其逻辑结构如表3.1:9沈阳化工大学学士学位论文第三章智能点餐系统的数据库设计表3.1LoginInfo表字段描述字段名描述类型说明ID登录用户ID长整型自动编号,递增,主键,索引,无重复Uname用户名文本无索引Upasswd用户密码文本无索引powe
26、r权限代码长整型默认值为0,无索引TableInfo表对应于餐位实体,用于记录就餐座位的信息,其逻辑结构如表3.2:表3.2TableInfo表字段描述字段名描述类型说明ID餐位ID长整型自动编号,递增,主键,索引,无重复桌号拥有的桌号长整型索引,无重复使用情况是否被使用长整型默认值为0,取值0,表示空闲,取值1,表示使用中FoodInfo表对应于菜单实体,用于记录餐馆提供的菜品信息,其逻辑结构如表3.3:表3.3FoodInfo表字段描述字段名描述类型说明ID菜品ID长整型自动编号,递增,主键,索引,无重复菜名菜品名称文本无索引菜价菜品价格单精度无索引BillInfo表对应于账单实体,用于记
27、录顾客的消费明细信息,其逻辑结构如表3.4:表3.4BillInfo表字段描述字段名描述类型说明ID菜品ID长整型自动编号,递增,主键,索引,无重复桌号就餐桌号长整型无索引,默认值为0.菜名点菜名称文本无索引数量菜品份数长整型无索引,默认值为0.消费该菜品消费金额双精度其值为菜品单价乘以份数,无索引,默认值为0.IncomeInfo表对应于日收入报表实体,用于记录每日的财务收入状况,其逻辑结构如表3.5:表3.5IncomeInfo表字段描述字段名描述类型说明ID日收入ID长整型自动编号,递增,主键,索引,无重复日收入日收入总额双精度无索引,默认值为0.时间日期文本、无索引Materialln
28、fo表对应进货商品信息实体,用于记录进货商品的基本信息,其逻辑结构如表3.6:10沈阳化工大学学士学位论文第三章智能点餐系统的数据库设计表3.6Materiallnfo表字段描述字段名描述类型说明ID商品ID长整型自动编号,递增,主键,索引,无重复商品名进货商品文本无索引商品单价商品单价双精度无索引,默认值为0.MaterialStock表对应于商品进货实体,用于记录商品的进货采购信息,其逻辑结构如表3.7:表3.7MaterialStock表字段描述字段名描述类型说明ID进货记录ID长整型自动编号,递增,主键,索引,无重复进货时间进货具体日期文本无索引商品名进货商品名称文本无索引商品数量进货
29、商品数量长整型无索引,默认值为0.商品价格进货商品总花费双精度其值为商品数量乘以商品单价,无索引,默认值为0.3.3 智能点餐系统数据库的创建根据上述所描述的实体E-R图进行数据表的创建,下面以创建菜式信息表在字段名称中分别输入ID、菜名、菜价,在将数据类型分别设置为自动编号文本、数字,并且将ID字段设置为主键,如图3.9所示:11沈阳化工大学学士学位论文第三章智能点餐系统的数据库设计设置完毕后选择保存命令,将弹出窗口并提示用户输入新建表的名称,其余表的创建方法基本一致。各表设计完毕后就可以创建数据库,在Access2000中,首先创建数据库,数据库名为“FoodBevMag,而后就可以在该数
30、据库中创建各表,如图3.10所示,创建完毕,即得到数据库文件“FoodBevMag.mdb。Tt-ri -. .jim1 "no-m i- L4 »i» , i: 西 J01Q-Q1-17 21 3 Kg-g :2 -<n;i 件亍 i* Z3 iJ013-03-£5 -I,= %工x寸方时幼一一片利甘十+|图3.10数据库文件3.4 智能点餐系统数据库的连接系统通过使用ADOft接操作Access数据库文件,在系统程序启动时,就实现连13,15接数据库。连接数据库操作是在系统应用类CMyApp勺InitInstance函数中实现16,17的,代码
31、如下:BOOLCMyApp:InitInstance()沈阳化工大学学士学位论文第三章智能点餐系统的数据库设计AfxEnableControlContainer();:CoInitialize(NULL);InitializeSkin(_T("XPCorona.ssk");HRESULThr;tryhr=m_pCon.CreateInstance("ADODB.Connection");if(SUCCEEDED(hr)m_pCon->ConnectionTimeout=5;hr=m_pCon->Open("Provider=Micr
32、osoft.Jet.OLEDB.4.0;DataSource=FoodBevMag.mdb","","",adModeUnknown);catch(_com_errore)CStringtemp;temp.Format("连接数据库错误信息:%s",e.ErrorMessage();:MessageBox(NULL,temp,"提示信息",NULL);returnfalse;在try函数中创建Connection对象,而后通过该对象在open函数中实现连接12据库,止匕外,在头文件stdafx.h中需要导
33、入ADO寸象。3.5智能点餐系统数据库的修改下面代码实现了开台点菜操作中对表TableInfo的更新,将点菜顾客所在的桌号状态设置为有人使用,而后将顾客所点菜品相关信息添加到BillInfo表中。Sql="updateTableInfoset使用情况=1where桌号="+m_ZhuoHao+""/设置餐桌已经有人使用theApp.m_pCon->Execute(_bstr_t)Sql,NULL,adCmdText);CStringSql1,recordset0,recordset1,money,TotleValue;doubleTotle=0;f
34、or(inti=0;i<count;i+)recordset0=m_CaidanCheck.GetItemText(i,0);/得到菜名recordset1=m_CaidanCheck.GetItemText(i,1);/得到点菜数量Sql1="select*fromFoodInfowhere菜名='"+recordset0+"'"m_pRs=theApp.m_pCon->Execute(_bstr_t)Sql1,NULL,adCmdText;13沈阳化工大学学士学位论文第三章智能点餐数系统的据库设计money=(char*)
35、(_bstr_t)m_pRs->GetCollect("菜价");/得到菜价Totle=atof(money)*atof(recordset1);/得到总价TotleValue=(char*)(_bstr_t)Totle;Sql1="insertintoBillInfo(桌号,菜名,数量,消费)values("+m_ZhuoHao+",'"+recordset0+"',"+recordset1+","+TotleValue+")"/插入表中新的记录the
36、App.m_pCon->Execute(_bstr_t)Sql1,NULL,adCmdText);CDialog:OnOK();之后对表中信息的改动可以同样使用上面的代码进行改动。14沈阳化工大学学士学位论文第四章智能点餐系统设计第四章智能点餐系统设计本系统是在WindowsXP中文版操作系统环境下,使用VisualC+6.0中文版开18,20发成功的。后台的数据库系统设计采用的是Microsoft的Access数据库系统,通过ADO«C据库开发技术,直接对Access数据库进行操作。系统可以直接在Win2000,WinXP环境下运行,因为系统直接对Access数据库文件进行操
37、作,因此程序运行时,需要将数据库文件“FoodBevMag.mdb与系统的可执行文件“FoodBevMag.exe放在同一目录下。系统预设的经理角色用户名为“gaoxin”,密码为“1234”。4.1系统设计4.1 所示 :4.1.1智能点餐系统功能图设计根据前面的系统功能分析,值班员只具有前台管理的功能权限,如图日收入统计原料更暴A告点菜二图4.1值班员权限图15沈阳化工大学学士学位论文第四章智能点餐系统设计主管除了具有前台管理的功能外,还增加了部分后台管理和财务统计功能,如图4.2所示:图4.2主管权限图经理角色具有前台管理,后台管理,财务统计,用户权限管理和数据库管理功月ia大院tr百窗
38、坦尚rH堂海能,如图4.3所示:'d一-_ L -,-,.科二投际出任k.kT六卫二立番是I这Bit总乎3=J=_',一_k亡3*才国s42代卞国黄百的"弼11gh*一h-一雷tiii;如Am金图4.3经理权限图16沈阳化工大学学士学位论文第四章智能点餐系统设计4.1.2智能点餐系统类库设计管理系统主框架的设计是通过MFCM建向导创建的基于对话框的窗口程序,在21,23对话框程序中添加了菜单栏、工具栏和状态栏。在本系统中,用户的所有操作和结果显示都是通过对话框窗口来实现的,因此系统的类库基本上就是对话框类,系统开发的对话框类如表4.1:表4.1对话框类、及说明类说明C
39、Diancaidlg顾客点菜对话框CCPdlg菜品信息管理对话框CCopydlg备份数据库对话框CJiezhangdlg结账对话框CJinhuodlg进货对话框CJinhuoselect进货查询对话框CKaitaidlg选择座位对话框CLogindlg系统登录对话框CMyDlg系统主窗口对话框CQuanxiandlg权限管理对话框CRcxdlg日收入统计查询对话框CReturndlg还原数据库对话框CSLdlg点菜数量对话框CSpInfo进货商品登记对话框CZcxdlg月收入统计查询对话框CZhucedlg员工注册对话框CAboutDlg关于对话框另外,系统还包含一个派生自CWinAp由勺系统
40、应用类CMyApp17沈阳化工大学学士学位论文第四章智能点餐系统设计4.2智能点餐系统结构图程序启动进入主系统界面后,除了登录和退出系统,其他所有功能均被禁用,只有用户登录系统之后,才根据登录用户的权限激活相应的功能项,根据对系统的调研和系统功能分析,构绘出系统结构图,如图4.4所示:用登录系统户登录退出系统开台点菜前加减菜品台管顾客买单理日收入统计原料进货注册员工后台原料信息管智理能菜品信息点餐日收入查询系财统务月收入查询统计进货记录查询初始化数据库系备份数据库统管还原数据库理设置用户权限图4.4系统结构图18沈阳化工大学学士学位论文第四章智能点餐系统设计4.3智能点餐系统主界面创建程序主窗
41、口作为第一个展示在用户面前的窗口,是用户对程序的第一感觉,在程序中起着非常重要的作用,主窗口应该向用户展示程序常用的功能,使用户对程序有一个初步的认识,主窗口运行结果如图4.5所示:图4.5主界面窗口系统主框架是使用MFCM建向导创建的基于对话框的应用程序,为对话框开发了工具栏、菜单栏和状态栏,只有用户登录后,相关功能才能被激活。菜单栏(包括登陆、前台服务、后台服务等一系列程序所拥有的功能)。工具栏(包括程序比较常用的几个功能,如开台、结账等)。状态栏(包括系统的名称、当前时间及用户登录信息等)019沈阳化工大学学士学位论文第四章智能点餐系统设计1.1.1 窗口界面开发系统创建的是基于对话框的
42、应用程序,因此系统的主界面是一个对话框窗口,对话框窗口添加了菜单项、工具栏和状态栏工具栏和状态栏的创建是在对话框的初始化函数OnInitDialog中实现的,具体代码如下:FoodBevManage.cppm_Imagelist.Create(32,32,ILC_COLOR24|ILC_MASK,1,1);m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_login);->LoadIcon(IDI_ICON_open);m_Imagelist.Add(AfxGetApp()m_Imagelist.Add(AfxGetApp()->L
43、oadIcon(IDI_ICON_add);m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_pay);m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_rishouru);m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_reg);m_Imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON_cancel);m_Toolbar.Create(this);m_Toolbar.SetButtons(toolba
44、rArray,7);m_Toolbar.SetButtonText(0,"系统登录");m_Toolbar.SetButtonText(1,"开台点菜");m_Toolbar.SetButtonText(2,"加减菜");m_Toolbar.SetButtonText(3,"顾客买单");m_Toolbar.SetButtonText(4,"本日收入");m_Toolbar.SetButtonText(5,"员工注册");m_Toolbar.SetButtonText(6,&
45、quot;退出系统");m_Toolbar.GetToolBarCtrl().SetButtonWidth(60,120);m_Toolbar.GetToolBarCtrl().SetImageList(&m_Imagelist);片m_Toolbar.SetSizes(CSize(70,60),CSize(28,40);m_Statusbar.Create(this);m_Statusbar.SetIndicators(statusArray,3);m_Statusbar.SetPaneInfo(0,statusArray0,0,200);m_Statusbar.SetPa
46、neInfo(1,statusArray1,0,150);m_Statusbar.SetPaneInfo(2,statusArray2,0,500);m_Statusbar.SetPaneText(2,"当前日期:"+TimeString);m_Statusbar.SetPaneText(0,"沈阳化工大学餐厅管理系统");函数的m_Imagelist.*代码行实为工具栏创建图像列表,之后的m_Toolbar.*代码行实现动态创建工具栏,m_Statusbar.*代码行实现了动态创建动态栏,通过20沈阳化工大学学士学位论文第四章智能点餐系统设计Repos
47、itionBars函数实现显示创建的工具栏和状态栏,后面的代码行实现禁用除了用户登录菜单项外的所有菜单项和相关的工具按钮。1.1.2 登录系统功能开发在本系统中,登录模块的功能是判定用户是否是合法用户以及根据登录用户的权限开放相应的模块,是保障系统安全的第一道关卡。在登录模块中,为了避免个别人恶意猜测他人的账号和密码,在系统中添加了密码错误数量限制,如果密码输入错误次数超过3次,整个程序就会退出。为了实现以上功能,需要在登录类中添加一个全局变量计算输入密码错误次数,因为本系统登录是调用的是模块对话框,所以在关闭时就必须先关闭当前的登录框,再关闭程序主界面。在登录类的OK按钮代码中加入对次数的判
48、断,如果次数等于3就调用本窗口的退出事件,再在主界面中的“登录”按钮代码中对错误次数进行判断,如果次数等于3就调用主窗口的退出事件。程序启动后,用户执行“用户登录”->“登录系统”菜单命令(或者单击“系统登录”工具按钮),即“用户登录”窗口,在窗口中输入用户名和密码,单击“登录”按钮,系统根据用户的权限激活相关的系统功能。4.4 前台管理模块设计系统的前台管理模块主要包括开台、点菜、增、减菜品、顾客结账和本日结算四个子功能模块。4.4.1 前台点菜功能开发开台是餐饮系统中前台的第一个服务,顾客前来就餐第一步就是开台,开台模块应该直观的为用户展示当前空桌的情况,提高用户工作的效率。开台模块
49、运行结果如图4.6:21沈阳化工大学学士学位论文第四章智能点餐系统设计陵客去择的真号:13Wt 取消图4.6开台在此模块中主要涉及到对列表控件的使用以及如何将数据表中的数据导入到列表控件中,在营业员为顾客进行选桌服务时,可以再桌台信息表中双击要开台的桌台,即可将此桌台的桌号信息添加到“选择桌号”文本框中,大大的方便了使用者。当有顾客进入餐馆就餐时,服务员首先要做的就是引导顾客选定就餐位置,并提供菜单点菜,而开台点菜功能模块实现的功能就是记录顾客就餐的桌号和所点菜品信息,下面就是开台和点菜操作分别具体介绍其实现过程。开台操作(记录桌号),在智能点餐系统中执行“操作管理”->“前台管理”-&
50、gt;“开台点菜”菜单项(或单击“开台点菜”工具栏按钮),系统会弹出“选择座位”窗口。在窗口初始创建时,右侧的列表控件中,列出了餐馆所有的桌号及使用情况。该功能是在对话框CKaitaidlg的初始化函数OnInitDialog中实现的。Kaitaidlg.cpp。点菜操作(记录所点菜品的信息),点菜模块和开台模块密不可分,在为顾客开台后自动弹出点菜窗口为顾客点菜。点菜模块运行结果如图4.7所示:点菜票号:啤酒.可乐檐睹排骨 油闷大虾 蚂蚊上树回锅肉水煮鱼拍黄瓜 眠辣土豆姓纤星二锅头菜名 数量也-I书 酒蚁醋 啤妈糖图4.7点菜22沈阳化工大学学士学位论文第四章智能点餐系统设计在点菜,模块中主要
51、应用了俩列表控件之间的数据专递技术,即将顾客所需要的菜式从菜单中选择并将其添加到顾客的账单列表中,在传递的过程中,菜单列表是不能被修改的,账单列表要再每加进去一样菜式就必须增加一行数据,而在逆向传递账单时账单列表的数据要相应的减少但菜单列表中不变。菜单列表应该采取直接从数据库中读取的方式,以防人为地恶意修改,在单击“确定”按钮前所有的数据应该都只在列表控件中进行传递而不写入数据库,保证数据库的安全性。开台后,将弹出点菜窗口。在窗口初始创建时,左侧列表控件中列出了当前的菜单,而右侧的列表控件则用于记录用户所点菜品及份数信息,该功能是在对话框类CDiancaidlg的初始化函数OnInitDial
52、og中实现的。Diancaidlg.cpp。“CStringSql="select*fromFoodInfo"”实现了从列表FoodInfo表中查询所有的菜单记录。要实现点菜操作,只需在菜单列表控件中,选中用户所点菜品,单击“”按钮,系统会弹出“点菜数量”窗口。在编辑框中出入份数,单击“确定”按钮,客户所点的菜品及数量信息就被添加到右侧的点菜列表中。函数在Sql中实现更新TableInfo表中的记录,将点菜顾客的所在桌号状态设置为有人使用,而后依次将顾客所点菜品相关信息添加到BillInfo表中。至此,开台点菜操作开发完毕。4.4.2 加减菜功能开发顾客开台点菜完毕后,在就
53、餐过程中,可以随时进行加菜、减菜操作。此时,只需要在系统中执行“操作管理”->“前台管理”->“加菜减菜”菜单命令(或单击“加减菜”工具栏按钮),系统会弹出“加减菜”窗口,如图4.8所示:取消 |需要想务的桌号;时栗落一住饼生啤酒可乐糖醋推等播商关好蚂蚁上例便根由存者目拍黄通旷杜M曰也谕鸵I图4.8加减菜23沈阳化工大学学士学位论文第四章智能点餐系统设计4.4.3顾客结账功能开发顾客就餐完毕,可以通过系统提供的结账模块进行结账操作,在系统中执行“操作管理”“前台管理”“顾客结账”菜单命令(或者单击“顾客买单”工具栏按钮),系统会弹出“结账”窗口如图4.9所示:图4.9结账同样,在窗
54、口的桌号下拉组合框中列出了正在就餐的桌号,在组合框中选择要结账的桌号,该桌号顾客的消费明细就显示在列表控件中,同时在应收编辑框中显示顾客的消费金额。付款完毕,单击“结账”按钮,即完成结账操作,“结账”按钮在对话框类中的响应函数为OnButtonOk2:Jiezhangdlg.cpp。函数首先判断对话框输入的桌号信息和付款信息是否有效,而后通过CTimetime行代码获取当前日期字符串,并在Incomeinfo表中查询该日期的收入记录,如果该记录不存在,则在Incomeinfo表中添加该日期的记录。4.4.4 本日结算功能开发统提供了当日结算功能,可以通过该功能查看当日的营业额,在系统中执行“操
55、作管理”“前台管理”“本日结算”菜单命令(或者单击“本日收入”工具栏按钮)系统会弹出“当日营业额显示”窗口,显示当日的营业额,如图4.10所示:24沈阳化工大学学士学位论文第四章智能点餐系统设计图4.10日收入voidCMyDIg二OnMENUjiesuan()日结算CTimeTime;Time=CTime二GetCurrentTime();CStringStr=Time.Format("%Y-%m-%d");m_pRs=theApp.m_pCon->Execute(_bstr_t)("select*fromIncomeinfowhere时间='&q
56、uot;+Str+"”'),NULL,adCmdText);if(!m_pRs->adoEOF)CStringValue=(char*)(_bstr_t)m_pRs->GetCollect("日收入");MessageBox("本日营业额为:"+Value+"元","日收入)return;elseMessageBox("本日营业额为:0元","日收入)return;数首先获取当前日期,并根据日期从日收入表IncomeInfo中查询收入金额,并弹出对话框显示该金额。4.5 后台管理模块设计系统的后台管理模块包括进货商品信息管理,商品进货,菜品信息管理和员工注册四个子功能模块。4.5.1 进货商品信息管理功能开发只有经理权限才具有进货商品信息管理功能,负责提供要采购
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基于2025年度财务预算的企业内控体系构建合同2篇
- 2025年退换货协议书-珠宝首饰行业专用范本3篇
- 2025年上半年遵义务川自治县人民检察院招考文职协检人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年连云港市纤维检验中心合同工招考易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年辽宁锦州市黑山县事业单位面向社会招聘工作人员127人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年辽宁省鞍山岫岩满族自治县事业单位易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年辽宁省沈阳市公安局经济技术开发区分局招录辅警50人易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年辽东水务控股限责任公司二级企业招聘12名易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年赣州市兴国县招考警务辅助人员易考易错模拟试题(共500题)试卷后附参考答案
- 2025年上半年贵州黔西南普安县招聘事业单位新增人员246人重点基础提升(共500题)附带答案详解-1
- 2024年度医院肝胆外科实习生带教计划课件
- 微机原理与接口技术考试试题及答案(综合-必看)
- 劳务投标技术标
- 研发管理咨询项目建议书
- 湿疮的中医护理常规课件
- 转钱委托书授权书范本
- 一种配网高空作业智能安全带及预警系统的制作方法
- 某墓园物业管理日常管护投标方案
- 苏教版六年级数学上册集体备课记载表
- 内蒙古汇能煤电集团有限公司长滩露天煤矿矿山地质环境保护与土地复垦方案
- 22S702 室外排水设施设计与施工-钢筋混凝土化粪池
评论
0/150
提交评论