订餐管理系统

合集下载

订餐管理系统需求分析

订餐管理系统需求分析

餐厅订餐管理系统需求分析一、引言1.1 编写目的当今社会的生活节奏越来越快,人们对餐饮的要求也越来越高,不仅要求色香味俱全,而且对于就餐的时间和方式也有了更高的要求,面对餐饮服务业内激烈的竞争形势,怎样才能从餐厅的预定,到客人的结账离开,整个过程应该能够体现以客人为中心,提供快捷、方便的服务,提高餐厅的管理水平,简化各种复杂的操作,在最合理、最短时间内完成餐厅业务规范操作,增加客户回头率。

最快的方式莫过于利用计算机,用软件管理餐厅。

1.2 开发背景餐饮业的激烈竞争使得提高餐厅管理员工作效率成为一项重要任务,而借助于计算机管理系统的强大功能,创造客观的经济效益已经成为很多餐厅的首选。

本餐厅订餐管理系统主要针对餐厅管理中的餐桌订餐管理,旨在提高餐厅管理效率,减免手工处理的繁琐和误差,及时、准确地反映餐厅的工作情况、经营情况,从而提高餐厅的服务质量,获得更好的经济效益;实现餐厅管理的规范化、自动化。

二、任务概述2.1 目标餐厅服务员可通过登陆我们的餐厅订餐管理系统,获得餐厅各餐间的动态信息,从而为客人提供餐间的预定、清洁等服务。

餐厅管理员可以增删改查服务员信息、客人信息、各餐间信息,并可以对服务员授予权限。

具体目标如下:(1)提供实时、快速、准确的客房动态信息(2)简便迅捷的客人接待登记服务(3)有效的预定处理(4)系统运行稳定可靠快速,易于维护(5)简单、友好的操作界面2. 2 系统介绍系统名称:餐厅定餐管理系统系统用途:浏览、修改餐厅各餐桌(间)的动态信息,对餐厅各餐间进行预定,方便管理。

可以简单管理餐厅工作人员信息和客户信息。

2.3 用户特点本餐厅客房管理系统的用户分为管理员和餐厅工作人员两类。

餐厅管理员能够对整个系统进行管理,能够执行系统所有操作。

可以对服务员信息、客人信息、各餐间信息进行添加、修改、查询、删除,并可以对服务员授予权限。

餐厅工作人员可通过登陆,进入餐厅订餐管理系统,维护餐厅各餐桌(间)的动态信息,从而为客人提供餐桌(间)的预定、清洁等服务。

基于java的订餐管理系统的设计与实现

基于java的订餐管理系统的设计与实现

基于java的订餐管理系统的设计与实

1. 需求分析:明确订餐管理系统的功能需求,包括用户注册/登录、菜单浏览、订单管理、支付处理等。

确定系统的数据需求,例如菜品信息、用户信息、订单信息等。

2. 系统设计:根据需求分析的结果,进行系统架构设计和模块划分。

确定数据库表结构,设计实体关系图(ERD)。

制定系统的界面设计,包括用户界面和管理界面。

3. 技术选择:选择适合项目需求的技术栈,如 Java 后端框架(Spring、Spring Boot 等)、数据库(MySQL、Oracle 等)、前端框架(Vue.js、React 等)。

4. 数据库实现:根据设计的数据库表结构,创建数据库并进行数据操作的实现。

包括插入、查询、更新和删除数据的功能。

5. 后端实现:使用选定的 Java 框架和技术,实现业务逻辑和数据处理功能。

包括用户认证、菜单管理、订单处理、支付接口等。

6. 前端实现:使用选定的前端框架,开发用户友好的界面,实现与后端的交互。

确保界面的响应性和用户体验。

7. 系统测试:进行全面的测试,包括功能测试、性能测试、安全测试等。

修复发现的缺陷并进行回归测试。

8. 部署与发布:将系统部署到生产环境,并进行最终的测试和验证。

发布系统并提供用户培训和技术支持。

通过以上步骤,基于 Java 的订餐管理系统可以实现设计与开发的目标。

这个项目涉及多个方面的技能和知识,需要团队成员之间的协作和有效的项目管理。

(完整版)订餐管理系统需求分析

(完整版)订餐管理系统需求分析

网上订餐系统需求剖析前言和编写目的(摘自网络)现在社会的生活节奏愈来愈快,人们对餐饮的要求也愈来愈高,不单要求色香味俱全,并且关于就餐的时间和方式也有了更高的要求,很多顾客因为工作忙碌没法抽出时间来享受美味,这样就产生了快捷订餐的要求,最快的方式莫过于利用计算机网络,将餐饮业和计算机网络联合起来,就形成了网上订餐系统,用能力的餐饮公司对对餐品供给商供给网上订餐服务,不单提升餐饮公司的服务质量,扩大著名度,也是为最后用户供给方便快捷的食品服务。

社会对餐饮的快捷性要求形成了对网上订餐的要求,该项目将使用javaWeb 技术的servlet+jsp+javaBean 实现快捷的开发与部署,并且能够最大限度的保证系统的稳固性。

网上订餐系统将极大的方便门客的就餐,同时也有益于我们的管理和售后服务。

同时,我们的订餐系统还可以帮助我们的酒店(餐馆)扩大营业范围,增添著名度等。

1、需求剖析用户可经过接见我们的网站快乐餐网上订餐系统,进行登岸或注册,获取你想要的各样食品,管理员能够查察用户菜品,能够对菜品进行增修改查。

2.1 产品介绍产品名称:快乐餐订餐系统产品用途:对餐馆供给公布菜肴信息,获取顾客订单信息,对顾客供给菜肴服务。

2.2 产品面向的用户集体:各大酒店,网上商铺,以及一些大型商场的网上订餐系统等。

2、软件功能此系统主假如针对顾客开放的网上订餐系统。

顾客订餐主要流程以下:1.顾客登录网上订餐系统进行菜单的阅读或许注册为会员。

2.会员能够对自己的个人信息进行改正,以会员形式登岸的顾客享受订餐服务。

3.假如顾客感觉菜单应当有所改变则可对已选的菜单进行选择、改正、删除等功能。

4.当顾客确立订餐完成后,顾客能够将其提交至我们的餐厅后台系统,并生成订单。

5.顾客能够对系统或许餐厅存心见或许建议的留言给我们,我们会实时满意的答复。

管理员、后台管理流程以下:1.管理员登录后台点餐系统。

2.管理员能够管理睬员信息。

3.后台将顾客点餐提交到后厨显示。

订餐管理系统

订餐管理系统

1.餐饮服务管理系统1)总体说明餐饮服务管理系统是酒店管理系统的一个部分,主要完成中西餐、咖啡厅、酒吧等顾客消费的消费信息记录、资源分配以及员工的信息管理等工作。

2)系统相关角色系统管理员,员工,部门经理,采购员,顾客,供货商等等3)相关功能说明(1)餐饮收银管理登记管理:客人到来以后进行登记,可以修改或者删除登记信息,客人可以要求合台或者换台。

消费管理:能够录入、修改或者删除客人的消费信息。

订餐管理:订餐信息登记,包括订餐时间、就餐时间、订餐桌数、人数、订餐详情、取消订餐、订餐查询。

主窗体:显示当前桌台、包房的占用情况,显示客人消费状态。

结算管理:客人结账的时候可以分类打折或者全面打折,计算开发票金额,打印账单,结账方式也有多种方式,如现金付款、支票付款、信用卡付款、免费、挂帐等自动统计。

日统计管理:可以对今日收银进行概览,方式多样,如按类别统计、按菜品统计、按帐单统计、按包房统计等等,可显示日销售项目排行榜,可打印销售日报表。

二级库存管理(主要管理酒水饮料的日常库存):这里主要是指前台的酒水饮料管理,包括入库、入库查询、入库统计,退货、退货查询、退货统计,库存动态,销售查询、销售统计,库存盘点、盘点查询、盘点统计。

菜谱管理:对菜品进行管理,如菜品类别维护、特色菜维护、菜品明细维护、酒水饮料维护,价格维护、套餐维护、菜谱打印、商品单位维护。

各消费类别和消费项目可任意增加、修改与删除,按照自己业务情况任意设置。

(2)采购库存管理1该库存管理系统是后勤部门对所有资源的管理。

仓库从供货商处对商品进货,也可以对商品退货,可以进行商品进货信息和商品退货信息的查询、统计等。

餐饮各部门领用商品,也可以对领用商品退货。

可以进行商品领用和退货信息的统计、查询,可按部门、商品、商品类别等多种方式。

显示各个供应商信息,对供应商供货情况进行记帐,可查询、统计其供货信息,可查询应付款、已付款等各种信息,对仓库中的商品进行盘点,对各种进货、退货、领用信息以及供货商情况进行统计,生成报表,交部门经理审核。

餐饮点餐管理系统解决方案

餐饮点餐管理系统解决方案
13.未结单:当客人提出过几天结帐时,将原帐单置为未结单
14.帐单信息
15.打印帐单
标准帐单
分单打印(AA制点菜、上菜、打单、结账)
多语种帐单:纯英文,日文等外文帐单
帐单打印有次数,时间登记,防止作弊
增加帐单是否打印标志(目的是判断客人是否准备结帐)
帐单重复打印提示功能
16.支持拼音代码点菜、PLU编码点菜、树状点菜等多种点菜方法
7.电子菜谱点菜系统的并发性能测试,先开一新单,点入十几道菜,然后集中一部分点菜员选择复制该帐单到其它桌台,一齐暂记,以不出现多台电子菜谱同时死机为成功标准,如果死机情况比较频繁可以考虑增加连接服务的并发连接数;

电子传菜系统在餐厅和后厨之间建立了一条信息传递的高速通道,使服务员不必再来往于餐厅和后厨之间送单,既能够将更多的精力用于照顾宾客,也能够有效地避免手工送单造成的延误和失误。
17.支持跨销售点点菜、open food点菜等
18.支持套餐点菜、套餐换项。
19.支持拼菜功能
20.支持标准菜谱点菜
21.支持赠菜、废菜、退菜等功能
22.改码
23.设置上菜顺序、设置座位号
24.日志查询
25.支持高职餐、内部宴请等核算
26.支持包房费、最低消费、计时消费等各种灵活的收费方式。
27.支持各种套票
点餐管理系统
CSHIS Professional©




第一部分餐饮、娱乐、宴会预定 &休闲管理
1.新建、修改、删除预定主单
2.厅房计划表
以非常直观的方式记载着酒店所有厅房(会议室、餐厅、宴会厅、娱乐设施)的情况,通过它可以按照用户预定义的各种条件查询到需要的厅房并直接在上面完成预定、修改等各项相关的功能。

订餐管理系统操作手册

订餐管理系统操作手册

订餐管理系统操作手册文档控制文档更新记录文档审核记录目录1.整体流程图 (2)1.1.订餐管理流程图 (2)2.功能 (3)3.公共部分说明 (3)4.订餐管理 (4)4.1.菜品信息 (4)4.2.餐桌维护 (7)4.3.用户餐卡维护 (10)4.4.每日食谱信息 (13)4.5.用户订餐信息 (18)4.6.餐卡消费查询 (22)1.整体流程图1.1.订餐管理流程图2.功能订餐管理:维护菜品、餐桌、用户餐卡信息后,用户针对早餐、午餐、晚餐进行订餐,用户可查询自己的餐卡消费信息。

3.公共部分说明公共说明:●本系统使用浏览器主要针对浏览器为IE8、IE9。

●“邮件管理”、“文件管理”、“任务管理”三个模块选择的用户为“用户管理”中的用户信息,其他模块均为“组织人员分配”中的用户信息。

●查询时文本查询条件支持模糊查询。

●必填项:在追加、修改页面中必填项,控件左上方用“”进行标注。

●失效:对失效的数据只能进行查看,不能进行其它操作。

●分页:分页在页面最下方进行显示,如下图:合计:显示检索数据的总共记录数、总共页数,每页总记录数,当前位于的页数。

首页:点击,页面显示第一页信息。

尾页:点击,页面显示最后一页信息。

上一页:点击,页面显示当前页面的上一页信息。

下一页:点击,页面显示当前页面的下一页信息。

跳转:在中输入要跳转页面的数字,点击按钮,页面跳转到输入数字的页面,同时在中输入的数字清空。

输入的数字为0或为空或数字大于尾页,页面不进行跳转。

按钮说明:按钮说明点击此控件,打开下拉数据列表,进行数据选择。

点击此控件,打开日历控件,进行日期的选择。

点击此按钮,打开开窗页面,进行数据的选择;点击按钮,清空选择的数据。

点击此按钮,打开人员开窗页面,进行数据的选择;点击按钮,清空选择的数据。

点击此按钮,根据查询条件检索数据。

点击此按钮,打开“追加”页面。

点击此按钮,对多条数据进行删除。

点击此按钮,对多条数据进行失效。

网上订餐管理系统

网上订餐管理系统

网上订餐管理系统一、引言网上订餐管理系统是一个基于互联网的应用程序,旨在方便用户在线预订和支付外卖。

本文档将详细介绍该系统的功能模块、技术架构以及使用方法。

二、需求分析1. 用户需求:a) 注册与登录:用户可以通过注册账号并登录来使用系统。

b) 浏览菜单:用户可以浏览各个餐厅提供的菜品信息。

c) 下订单:用户可选择心仪的食物,并下达相应订单。

d) 支付方式:支持多种支付方式,如支付、等。

2. 商家需求:a)商户入驻申请: 饭店需要提交相关资料进行审核后才能开通线上点餐服务;b)发布商品信息: 提供给顾客查看购买, 包括图片展示, 商品价格;c)接收新订单推送: 当有顾客成功下单时会自动发送到商家端设备中;三、设计与实现1. 技术选型:a)前端技术栈采用5+CSS3+JavaScript;b)后台主要采用Java语言编写;数据库存储则选择MySQL 作为数据存储工具。

2. 功能模块划分:a)用户模块:包括注册、登录、个人信息管理等功能;b)菜单模块:展示各餐厅的菜品信息,支持搜索和分类浏览;c)订单模块:顾客可以选择商品并下单,商家可接收到新订单推送,并进行处理;3. 系统架构设计:a) 前端采用MVC(Model-View-Controller)框架实现前后台分离。

b) 后台使用Spring Boot作为基础框架搭建系统。

四、操作指南1. 用户注册与登录a) 打开网页或APP,在首页“注册”按钮进入账号创建页面。

b) 输入必要的个人资料并提交申请。

若填写正确且符合规定,则会成功创建账户。

c) 使用已有账号直接在首页输入用户名和密码完成登录。

2. 浏览菜单在主界面上方导航栏中找到"餐厅列表"选项, 单击即可查看所有提供外卖服务的店铺;注: 具体如何点餐及支付,请参考相关帮助文档或联系客服咨询.五、附件- [数据库表结构]()六、法律名词及注释- 隐藏条款(Hidden Clause): 在合同中存在但未被明确表达的条款,可能对一方造成不利影响。

餐馆订餐信息管理系统(数据库课程设计)

餐馆订餐信息管理系统(数据库课程设计)
功能测试:验证系统功能是否符合需求 性能测试:评估系统在不同负载下的性能表现 安全测试:检查系统是否存在安全漏洞 用户体验测试:评估用户界面和操作流程的友好性 测试案例:模拟实际使用情况,验证系统在各种场景下的稳定性和可靠性
测试结果与分析
用户体验测试:用户界面友 好性、易用性等
性能测试:系统响应时间、 吞吐量等性能指标
01
系统测试与评估
测试环境与测试数据
测试环境:模拟真实餐厅环境, 包括厨房、餐厅、收银台等
测试工具:使用自动化测试工具, 如Selenium、JMeter等
添加标题
添加标题
添加标题
添加标题
测试数据:包括订单数据、菜品 数据、客户数据等
测试方法:包括功能测试、性能 测试、安全测试等
测试方法与测试案例
数据库概念结构设计
实体:餐馆、菜品、订单、用户等 属性:餐馆名称、地址、菜品名称、价格、用户ID等 关系:餐馆与菜品、订单与用户、菜品与订单等 约束:唯一性、完整性、参照完整性等
数据库逻辑结构设计
关系模型(RM):用于描 述数据的逻辑结构,包括表、 字段、主键、外键等
实体关系模型(ERM): 用于描述数据之间的关系和 结构
框架:Django、Flask、Spring等
云计算:AWS、Azure、Google Cloud等
安全:SSL、HTTPS、防火墙等
测试:单元测试、集成测试、性能测 试等
数据库管理系统
关系型数据库:MySQL、Oracle、SQL Server等
非关系型数据库:MongoDB、Redis、 Cassandra等
优化用户体验:提高用户界面友好性,简 化操作流程
优化网络带Hale Waihona Puke :提高网络传输速度,减少 网络延迟
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构课程设计报告题目:餐饮订餐系统专业名称:信息与计算科学班级:(1)班组长:梅圆同组人员:梅圆刘镇元徐小枚李莹韩伟指导教师:***组织单位:数理学院时间:2017.5.27—2017.6.11目录摘要 (2)概述 (3)功能描述 (5)本程序分两大功能: (5)管理员功能描述 (5)服务员功能描述 (5)模块设计 (6)详细设计 (7)各函数名对应的功能 (7)分角色验证的具体程序 (7)管理员用户的功能程序 (8)服务员用户的功能程序 (8)调试结果 (10)餐饮订餐系统的欢迎界面 (10)服务员登录验证界面 (10)管理员登录验证界面 (11)餐饮订餐系统的退出界面 (11)小结 (12)摘要本程序大致分为两大部分:顾客订餐的录入、删除、显示信息功能实现服务员、管理员分角色操作是程序进入先进行身份验证,然后进入验证后的角色界面进行选择其各个功能,最后退出界面。

程序执行的过程中会保存录入的客户订餐信息,并生成文件进行存储。

关键词:订餐管理文件保存退出界面概述随着整个社会物质文化生活水平的不断提高,人们对餐饮消费的数量、质量以及消费习惯等许多方面也发生了巨大的变化,他给餐饮企业带来了前所未有的机遇和挑战。

餐饮企业要在众多的同行中异军突起、脱颖而出,其管理者除了需要在殿堂装修、丰富菜品等硬件环境方面提高档次外,还需要管理理念、管理防范等软件环境方面挖掘潜力。

餐饮消费管理系统是餐饮企业竞争和信息产业发展的必然产物,它是餐饮企业提高管理水平和服务质量从而改善软件环境的一个得力助手。

并且随着餐饮企业管理者对其应用的重视和提高,其管理功能也在不断得到增强,发挥的作用也越来越大:从最初的数据浏览、添加、修改等简单操作,到现在的数据统计、分析、决策等智能功能,餐饮系统正逐步取代以前的手工管理方式,帮助企业准确地掌握人力,物力,财力等信息,消除信息孤岛,从而为企业决策层提供准确地数据信息,来做出应对市场的相应决策。

但是,目前中小型餐饮企业信息化建设还处于比较低的水平,尤其是做餐饮行业,就业门槛低,员工参差不齐,就需要一款比较适合餐饮行业,流程比较简单,更简单,更易用的行业管理软件。

功能描述本程序分两大功能:1.管理员登录界面2.服务员登录界面管理员功能描述1.函数名:void loginAdmin(void)用while语句对管理员菜单进行重复出现用switch语句来实现选择各子功能1.子功能Search()对顾客订单进行查找Read()、show()读出文件存储的数据,以及显示所有顾客订单服务员功能描述1.函数名:void loginWaiter(void)用while语句对服务员菜单进行重复出现用switch语句来实现选择各子功能2.子功能write()录入顾客订单到文件中Delete()删除错误的顾客订单show()显示所有顾客订单模块设计图1查询订单功能显示订单功能退出系统功能人员验证管理员界面录入订单功能删除订单功能显示订单功能退出系统功能服务员界面详细设计各函数名对应的功能void showWelcome(void);//欢迎void showMenu_3(void);//角色人员登录验证菜单void showMenu_1(void);// 管理员总菜单void showMenu_2(void);// 服务员总菜单void showThanks(void);//退出程序标识int getAccount(void);//角色登录验证菜单选择模块void loginAdmin(void);// 管理员子功能选择模块void loginWaiter(void);// 服务员子功能选择模块void write();//写入顾客数据void Search();//查找顾客订单void show();//显示所有void Delete();//删除错误顾客订单void Read(void);//读出顾客数据void Save(void);//保存顾客数据void Version();//退出程序显示界面分角色验证的具体程序int getAccount(void){char str[11] = {0};showMenu_3();printf("请输入密码:");scanf("%s", str);int ret = strcmp(str, "Admin"), ret1 = strcmp(str, "Waiter");//通过strcmp函数验证if(ret == 0){printf("管理员登陆成功\n");return 1;}else if(ret1 == 0){printf("服务员登陆成功\n");return 2;}else{printf("登录失败\n");return -1;}return 0;}管理员用户的功能程序void loginAdmin(void){int g_MenuID;printf("->开始执行管理员角色执行的操作\n");Read();while(1) // 循环执行菜单命令直到收到退出命令{showMenu_1();// 打印菜单界面scanf("%d", &g_MenuID);switch(g_MenuID){case 1:Search();break;case 2:Read();show();break;case 0:break;default:printf("选择错误,请重新选则!\n");}if(g_MenuID == 0) // 收到退出命令时退出循环break;}return ;}服务员用户的功能程序void loginWaiter(void){int g_MenuID;printf("->开始执行服务员角色执行的操作\n");while(1) // 循环执行菜单命令直到收到退出命令{showMenu_2();// 打印菜单界面scanf("%d", &g_MenuID);switch(g_MenuID){case 1:write();break;case 2:Delete();break;case 3:show();break;case 0:break;default:printf("选择错误,请重新选则!\n");}if(g_MenuID == 0) // 收到退出命令时退出循环break;}Save();return ;}调试结果餐饮订餐系统的欢迎界面图 2服务员登录验证界面图 3管理员登录验证界面图 4 餐饮订餐系统的退出界面图5小结梅圆:这个综合项目我们断断续续做了有两个星期的时间,其实里面还存在很多不足的地方,由于时间的关系,这个餐饮系统只能做到这种程度。

其中遇到了不少错误,首先是文件函数fwrite(&guest[i], sizeof(struct guest), 1, pFile)、fread(&tmp, sizeof(struct guest), 1, pFile)不是很熟悉,后来查资料、问老师和小组成员的讨论最终还是解决了,第二个问题是,整体设计的模糊,不过这些通过反复讨论,最终也一一解决了。

韩伟:在进行课程设计的过程中我们也学到了许多别的东西。

首先,我们学会了合作,要以别人的眼光看看问题,也许这样得到的会比各自得到的都要多;其次,我们学会了分工,分工是为了更好的合作,分工才能提高合作的效率。

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

在设计的过程中遇到很多问题,可以说是困难重重,并且在设计的过程中发现了自己的很多不足之处,发现自己对之前所学过的知识理解得不够深刻,掌握得不够牢固,有待加强。

李莹:在此次课程设计中,学到了很多课内学不到的东西,比如独立思考解决问题的能力,出现差错的随机应变能力,和与人合作共同提高的能力,都受益匪浅,并且使我们的动手能力得到了很大的提高,对以后的工作、学习都有非常大的帮助。

对我们而言,知识上的收获固然重要,但是精神上的丰收更加可喜,挫折是一种财富,经历是一种拥有,这次实训必将成为我们人生旅途上一个非常美好的回忆!刘镇元:关于本次课程设计,我们的设计虽然还不够完善,许多功能因为时间和本身的知识水平有限无法实现,不过,至少在平时的学生基础之上已经有了很大的提高,我坚信它必将会对我们的未来走上工作岗位产生积极的影响。

附录#include<stdio.h>#include<stdlib.h>#include<string.h>#define SIZE 100int g_Num = 0;void showWelcome(void);void showMenu_3(void);void showMenu_1(void);void showMenu_2(void);void showThanks(void);int getAccount(void);void loginAdmin(void);void loginWaiter(void);void write();void Search();void show();void Delete();void Read(void);void Save(void);void Version();struct guest{char name[9];// 姓名int sum;// 人数int number;// 桌号} guest[SIZE];void showWelcome(void){printf("*****************************************************************************\n");printf("** **\n");printf("** 餐饮订餐系统**\n");printf("** **\n");printf("*****************************************************************************\n");printf("******************************●●欢迎使用●●*******************************\n\n\n");return ;}void showMenu_3(void){printf("**********************************************************************\n");printf("** **\n");printf("** 选择登陆用户**\n");printf("** **\n");printf("**管理员登陆密码……………………………………………………………Admin**\n");printf("** **\n");printf("**服务员登陆密码……………………………………………………………Waiter**\n");printf("** **\n");printf("**********************************************************************\n");return ;}void showMenu_1(void){ printf("************请输入所需操作***********\n");printf(" \n");printf(" 选择查询订单请按:1 \n");printf(" \n");printf(" 选择显示订单请按:2 \n");printf(" \n");printf(" 选择退出系统请按:0 \n");return ;}void showMenu_2(void){ printf("************请输入所需操作*************\n");printf(" \n");printf("选择录入订单请按:1 \n");printf(" \n");printf("选择删除订单请按:2 \n");printf(" \n");printf("选择显示订单请按:3 \n");printf(" \n");printf("选择退出系统请按:0 \n");return ;}void showThanks(void){Version();printf("->退出界面\n");return ;}void Version(){printf("********************************************************\n");printf("* 正在退出*\n");printf("* *\n");printf("* 餐饮订餐系统*\n");printf("* *\n");printf("* 感谢您的使用*\n");printf("********************************************************\n");}int getAccount(void){char str[11] = {0};showMenu_3();printf("请输入密码:");scanf("%s", str);int ret = strcmp(str, "Admin"), ret1 = strcmp(str, "Waiter");if(ret == 0){printf("管理员登陆成功\n");return 1;}else if(ret1 == 0){printf("服务员登陆成功\n");return 2;}else{printf("登录失败\n");return -1;}return 0;}void loginAdmin(void){int g_MenuID;printf("->开始执行管理员角色执行的操作\n");Read();// 循环执行菜单命令直到收到退出命令while(1){// 打印菜单界面showMenu_1();scanf("%d", &g_MenuID);switch(g_MenuID){case 1:Search();break;case 2:Read();show();break;case 0:break;default:printf("选择错误,请重新选则!\n");}// 收到退出命令时退出循环if(g_MenuID == 0)break;}return ;}void loginWaiter(void){int g_MenuID;printf("->开始执行服务员角色执行的操作\n");// 循环执行菜单命令直到收到退出命令while(1){// 打印菜单界面showMenu_2();scanf("%d", &g_MenuID);switch(g_MenuID){case 1:write();break;case 2:Delete();break;case 3:show();break;case 0:break;default:printf("选择错误,请重新选则!\n");}// 收到退出命令时退出循环if(g_MenuID == 0)break;}Save();return ;}void write(){int i = g_Num;printf("请输入姓名\n");scanf("%s", guest[i].name);printf("请输入人数\n");scanf("%d", &guest[i].sum);printf("请输入桌号\n");scanf("%d", &guest[i].number);g_Num++;}void Search(){int i, number, flag = 0;printf("请输入要查询的桌号\n");scanf("%d", &number);for(i = 0; i < g_Num; i++){if(guest[i].number == number){printf("姓名: %s\n", guest[i].name);printf("人数:%d\n", guest[i].sum);printf("桌号:%d\n", guest[i].number);flag = 1;}}if(flag == 0)printf("目前该桌号没有对应订单!\n");return ;}void show(){int i;printf("%-9s%-9s %-9s\n", "姓名", "人数", "桌号");for(i = 0; i < g_Num; i++){printf("%-9s", guest[i].name);printf("%-9d", guest[i].sum);printf("%-9d\n", guest[i].number);}}void Delete(){int i, number = 0, flag = 0;printf("请输入要删除的桌号");scanf("%d", &number);for(i = 0; i < g_Num; i++){if(guest[i].number == number){flag = 1;break;}}if(flag == 0)printf("输入错误\n");else{for(; i < g_Num; i++){guest[i].number = guest[i+1].number;guest[i].sum = guest[i+1].sum;strcpy(guest[i].name, guest[i+1].name);}guest[g_Num-1].number = 0;guest[g_Num-1].sum = 0;guest[g_Num-1].name[0] = '\0';g_Num--;}}void Save(void){FILE *pFile = fopen("order.msg", "a");if(NULL == pFile){printf("打开文件<order.msg>失败\n");return;}int i = 0;// 遍历数组中所有结构体元素for(i = 0; i < g_Num; i++){// 依次打印单个结构体中的内容fwrite(&guest[i], sizeof(struct guest), 1, pFile);}fclose(pFile);pFile = NULL;printf("用户数据已更新,当前记录在册的共%d个!\n", i);return;}void Read(void){FILE *pFile = fopen("order.msg", "r");if(NULL == pFile){printf("打开文件<order.msg>失败\n");return;}int i = 0;struct guest tmp = {0};// 遍历数组中所有结构体元素while(1 == fread(&tmp, sizeof(struct guest), 1, pFile)) {// 依次打印单个结构体中的内容guest[i].number = tmp.number;guest[i].sum = tmp.sum;strcpy(guest[i].name, );i++;g_Num++;}。

相关文档
最新文档