糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 点菜系统软件源码(点菜软件源码分享)

点菜系统软件源码(点菜软件源码分享)

时间:2023-09-09 06:22:13

相关推荐

点菜系统软件源码(点菜软件源码分享)

点菜系统软件源码

主界面

系统主界面,主要是打印出功能选择菜单,然后根据我们的输入选择不同的子功能。

package com.cunyu;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/*** Created with IntelliJ IDEA.** @author : 村雨* @version : 1.0* @project : Java 实战* @package : com.cunyu* @className : DishApp* @createTime : /7/31 17:30* @email : 747731461@* @公众号 : 村雨遥* @website : https://cunyu1943.github.io* @description : 系统主界面*/public class DishApp {public static void main(String[] args) {Dish dish = new Dish();// 初始化菜单List<Dish> dishList = dish.initMenu();Scanner scanner = new Scanner(System.in);List<Dish> orderedList = new ArrayList<>();while (true) {System.out.println("----------欢迎使用点餐系统--------");System.out.println("----------【1】点菜--------------");System.out.println("----------【2】参看已点菜品-------");System.out.println("----------【3】删除菜品-----------");System.out.println("----------【4】结账--------------");System.out.println("----------【0】返回上一级/退出-----");System.out.println("输入你的选择");String choice = scanner.next();switch (choice) {case "1":while (true) {dish.showMenu(dishList);System.out.println("请输入菜品序号进行点菜,输入 0 则返回上一级菜单");int id = scanner.nextInt();if (id == 0) {break;}System.out.println("输入菜品序号:" + id);System.out.println("你点的菜是:" + dishList.get(id - 1).getName());// 把已点的菜加入已点菜单orderedList.add(dishList.get(id - 1));}break;case "2":dish.showOrderedMenu(orderedList);break;case "3":if (orderedList.isEmpty()) {System.out.println("当前还未点菜,请重新输入你的选择");} else {System.out.println("输入要删除菜品的序号");int id = scanner.nextInt();dish.deleteDish(id, dishList, orderedList);}break;case "4":dish.checkout(orderedList);break;case "0":System.exit(0);default:break;}}}}

主类设计

主要涉及的菜品,于是定义一个菜品类,主要包括序号、菜品名、菜品单价三个属性。

package com.cunyu;/*** Created with IntelliJ IDEA.** @author : 村雨* @version : 1.0* @project : Java 实战* @package : com.cunyu* @className : Dish* @createTime : /7/31 17:27* @email : 747731461@* @公众号 : 村雨遥* @website : https://cunyu1943.github.io* @description : 菜品类*/public class Dish {/*** 编号*/private int id;/*** 菜名*/private String name;/*** 价格*/private double price;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getPrice() {return price;}public void setPrice(double price) {this.price = price;}public Dish() {}public Dish(int id, String name, double price) {this.id = id;this.name = name;this.price = price;}}

功能接口

上次的文章中,读者建议我把各个功能独立出接口,然后再实现,所以这里先将各个功能的接口给出来。

package com.cunyu;import java.util.List;/*** Created with IntelliJ IDEA.** @author : 村雨* @version : 1.0* @project : Java 实战* @package : com.cunyu* @className : DishInterface* @createTime : /7/31 20:26* @email : 747731461@* @公众号 : 村雨遥* @website : https://cunyu1943.github.io* @description :*/public interface DishInterface {/*** 初始化菜单** @return 返回餐厅当前所提供的菜品列表*/public List<Dish> initMenu();/*** 显示菜单** @param dishList 菜品列表*/public void showMenu(List<Dish> dishList);/*** 显示已经点过的菜品** @param orderedList 当前已点菜品*/public void showOrderedMenu(List<Dish> orderedList);/*** 移除菜品** @param id菜品对应序号* @param dishList 菜品列表* @param orderedList 已点菜品列表*/public void deleteDish(int id, List<Dish> dishList, List<Dish> orderedList);/*** 结账** @param orderedList*/public void checkout(List<Dish> orderedList);}

初始化菜单

一般餐馆都是提供的固定的菜单,所以这里没有给出管理菜单的功能,直接进行初始化后给出各个菜品,将其存入列表中。

/*** 初始化菜单** @return 初始化后的菜单*/public List<Dish> initMenu() {List<Dish> dishList = new ArrayList<>();dishList.add(new Dish(1, "黄金手抓骨", 38));dishList.add(new Dish(2, "乡村爆火肉", 58));dishList.add(new Dish(3, "养生甲鱼汤", 68));dishList.add(new Dish(4, "三鲜汤", 28));dishList.add(new Dish(5, "紫菜蛋花汤", 18));dishList.add(new Dish(6, "铁板黄金蛋", 38));dishList.add(new Dish(7, "泡椒炒牛肉", 48));dishList.add(new Dish(8, "麻婆豆腐", 18));dishList.add(new Dish(9, "干煸豆角", 28));dishList.add(new Dish(10, "干锅娃娃菜", 29));dishList.add(new Dish(11, "干锅土豆丝", 28));dishList.add(new Dish(12, "清炒时蔬", 25));dishList.add(new Dish(13, "凉拌黄瓜", 10));dishList.add(new Dish(14, "胡椒皮蛋", 15));dishList.add(new Dish(15, "红烧茄子", 20));return dishList;}

展示菜品列表

初始化菜单后,把整个菜单展示给顾客看。

/*** 展示菜单** @param dishList 菜品列表*/public void showMenu(List<Dish> dishList) {System.out.println("------------本店菜单------------");System.out.println("序号\t\t菜名\t\t\t\t单价");for (int i = 0; i < dishList.size(); i++) {System.out.format("%d\t\t%s\t\t\t%.2f\n", dishList.get(i).getId(), dishList.get(i).getName(), dishList.get(i).getPrice());}System.out.println("---------------------------");}

展示已点菜品

/*** 查看已点的菜*/public void showOrderedMenu(List<Dish> orderedList) {if (orderedList.isEmpty()) {System.out.println("当前您还未点餐,请重新输入选择");} else {System.out.println("当前您点的菜品如下");for (int i = 0; i < orderedList.size(); i++) {System.out.println(orderedList.get(i).getName());}}}

移除菜品

找到对应序号对应的菜品,然后将其移除。

/*** 删除对应菜品** @param id菜品对应序号* @param dishList 菜品列表* @param orderedList 已点菜品列表*/public void deleteDish(int id, List<Dish> dishList, List<Dish> orderedList) {if (!orderedList.isEmpty()) {orderedList.remove(dishList.get(id - 1));}}

结账

先判断是否点菜,如果没有则提示,若已经点过餐,则直接结账。

/*** 结账*/public void checkout(List<Dish> orderedList) {double money = 0.0d;if (orderedList.isEmpty()) {System.out.println("当前您还未点餐,请重新输入选择");} else {System.out.println("请稍等,正在结算中……");for (int i = 0; i < orderedList.size(); i++) {money += orderedList.get(i).getPrice();}System.out.format("你此次总共消费:¥ %.2f\n", money);}}

总程序

好了,实现以上各个模块功能之后,将其整合到一起,就得到我们最后的总体程序。

各部分的代码都已经贴出来的,不过为了大家更方便,我这这里给出总程序结构。

点菜系统软件需求分析

点菜系统软件体系结构

此次可以,我们需要设计一个点菜系统,我们就需要对我们的系统进行分析,面向的对象是谁?对象常用的操作又有哪些?

既然是点菜系统,那我们的餐馆一般都是有一个固定的菜单,然后面向的对象一般都是顾客,顾客可以通过这个菜单进行点菜、删除菜,查看已经点过的菜,以及最后用完餐后的结账。

因此,对于点菜系统,主要所需功能如下:

初始化菜单点菜移除已点的菜查看已点的菜结账退出系统

功能预览

系统菜单

进入我们的点菜系统之后,一般都是有系统菜单的,用于提示我们进行下一步的操作。

点菜

根据系统菜单进入点菜功能后,输入菜品序号进行点菜以及返回上一级菜单。

查看已点菜品

假设我们点完菜之后,要确认下有没有点重复的菜,此时就可以查看已点菜品。

当然,上图是我们已经点过菜才会出现菜品,如果我们还没有点过菜,那么系统则会提示还未点菜。

删除菜品

假设我们不小心点了重复的菜,那该怎么办呢?不用担心,我们直接选择删除菜品功能,然后删除对应重复菜品即可。

同样的,加入我们还未点菜就进入删除菜品功能,系统也会给出提示。

结账

当我们用完餐之后,接下来就是结账了。此时只要进入我们的结账选项,系统就会打印出本次所消费的所有金额。

同样的,加入我们还未点菜就进入结账功能,系统也会给出提示。

退出系统

当我们输入选择为 0 时,表示我们退出系统。

点菜系统是一种全新的、集无线、网络、嵌入式技术、人工智能等技术于一体的无线手持终端。适用于餐饮,酒店、咖啡厅等场所的餐台管理、点菜录单、结算、信息反馈与传递。结合传统的点菜管理系统,为餐饮、酒店、咖啡厅等行业的经营管理提供了一整套高效、稳定可靠、先进的解决方案,改变了餐饮等行业的手工经营方式,提高了服务效率和顾客满意程度,提升了店面形象,最终提升了企业竞争力与经营效益。

点菜系统软件适用范围

酒楼、连锁餐厅、中西式餐厅、咖啡厅、火锅店、快餐店、美食广场、酒吧等。

点菜系统软件功能结构

“异同餐饮系统”的功能模块包括:会员管理、菜品管理、采购管理、库存管理、结算管理、厨打监控、系统报表和决策分析。

点菜系统软件产品特色

界面美观,操作便捷

主界面美观、操作简单、快捷,主要功能在小键盘上即可完成,支持图形点菜、编码点菜、拼音简码点菜,录入方式可自动切换,能极大地提高前台营业的效率。

通过具有无线功能的智能掌上PDA和点菜宝,服务员可以随时随地为顾客开台、点菜、退台、并台、换位、查询消费情况,使用快捷方便。

点菜系统软件灵活准确的财务结算

结算方式灵活多样,支持现金、支票、信用卡、挂帐、免单、礼券、跑单、会员卡等。提供多种折扣方式,包括单品折扣、类别折扣、会员折扣、整单折扣等。同时提供最低消费、服务费、按时计费等自动计算功能。

实时的厨打监控,让您不再担心出现漏单现象

系统带有实时的厨打监控功能,杜绝了厨房打印丢单的现象;

可以自定义厨打方式及打印内容,可实现“一菜一单”,“一大类一单”,“一小类一单”和“一桌一单”,全程监控打印,可完全实现条码打印及红外线扫描出品。

灵活的后台管理,导航操作界面,简明的业务流程

进入后台管理系统,操作一目了然,业务流程清晰明了,操作简单。同时提供多种操作途径,业务操作既可在系统菜单中完成,也可在导航器中完成。

强大的短信平台,智能化的来电提示,完善的客户关系管理系统

短信平台功能,为您搭建更紧密的客户关系;

来电自动提示,当会员来电预订时,系统自动显示会员档案及消费信息;

系统提供了客户信息管理、会员管理、会员卡设置功能(可持卡或者不持卡),可以设定不同的会员类型,包括会员折扣、会员储值卡、会员借记卡;

支持多种会员积分管理,包括消费次数限制、按消费金额积分、按消费次数积分,同时支持不同商品类别不同积分点积分。

支持多种会员积分优惠和奖励计划,包括积分奖励、礼品兑换、积分折扣,同时支持不同积分级别自动享受不同折扣优惠。

科学规范的连锁管理,丰富多样的报表,便捷的利润分析

美世家餐饮管理系统助您轻松地计算原料消耗、进行成本核算,并且统计出相应菜品的利润,便于价格的设定和管理。

系统提供了丰富的报表功能从营业状况、毛利到每天的客流量、客座率、菜品销售、时段销售统计、日营业数据等,为您提供相应的经营决策信息。

连锁版提供完善、规范、科学的连锁餐饮行业的经营管理模式。支持总部、配送中心、多连锁餐厅、加盟店的集团式连锁经营模式。数据通讯安全、可靠、稳定,传输方式同时支持远程拨号VPN、数字专线光纤、Internet宽带(ADSL、ISDN)FTP文件传输、文件拷贝等传输方式。

如果觉得《点菜系统软件源码(点菜软件源码分享)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。