-
点餐系统 点餐系统
2018-05-30 16:12:41点餐系统 点餐系统 点餐系统 点餐系统 点餐系统 点餐系统 点餐系统 -
点餐系统
2021-01-05 21:15:25点餐系统 大家好!!! 这个点餐系统时我这个学期课设选的一个题目,参考了许多大神的代码后给我了莫大的提示,我自己写了这个代码,求大神们鞭策,我只是一只小菜鸟。 那么我介绍这个代码的作用: 进入点餐系统,...点餐系统
大家好!!!
这个点餐系统时我这个学期课设选的一个题目,参考了许多大神的代码后给我了莫大的提示,我自己写了这个代码,求大神们鞭策,我只是一只小菜鸟。
那么我介绍这个代码的作用:- 进入点餐系统,开始点餐
- 查寻已经点过的餐品,同时确认是否要删除已经点过的餐品,进行删除。
- 对已经确认过的餐品的进行结账
- 退出点餐系统
这个代码很简单,我的能力有限,没有用到数据库,就连最基本的javafx都没用到,希望各位大神 指点一二,后续若是继续学习的话,我会慢慢完善此代码的。所以仅限参考吧。。。
废话不多说,开始上代码:
import java.util.Scanner; public class DishOrder { public static void main(String[] args) { // TODO Auto-generated method stub String[] dishes=new String[7];//用顺序表数组写菜单 dishes[0]="烤地瓜,4元"; dishes[1]="红烧猪蹄,42元"; dishes[2]="麻婆豆腐,14元"; dishes[3]="腐竹炒肉,18元"; dishes[4]="鱼香肉丝,28元"; dishes[5]="北京烤鸭,46元"; dishes[6]="米饭,1元"; Dishes<String> list=new Dishes<>(dishes);//调用Dishes类,用其方法; System.out.println("欢迎光临!客官,里面请!"); Scanner sc=new Scanner(System.in); Dishes[] dish=new Dishes[8];//将菜单信息传输过去 chuancan(dish); System.out.println("请输入客人数量"); int num=sc.nextInt(); System.out.println("请输入客人桌号"); int tableID=sc.nextInt(); Customers guest=new Customers(num,tableID); int num1=0,adress=0,number=0; double total = 0; boolean breakout=true; boolean ifremove=true; Integer[] store=new Integer[10];//用来储存客人点餐单号 Dishes<Integer> list1 =new Dishes<>(store); while(breakout) { System.out.println("如果想要点餐请按1\n如果想要查询已点请按2\n结账请按3\n结束点餐请按4"); int choose=sc.nextInt(); switch(choose) { case 1://点菜 System.out.println("您已经进入点菜系统"); showMenu(dishes); System.out.println("请问您需要点餐吗?"); do{ boolean sure=true; for(int i=0;i<store.length&&sure;i++) { System.out.println("请您输入你想点的序号"); int c=sc.nextInt(); store[i]=c; list1.insert(c); System.out.println("您点的菜品id为:"+dish[c].getDishID()+" 您点的菜品名字为:"+dish[c].getDishName()); System.out.println("如果继续点餐请输入true,如果不想点餐请输入false"); sure=sc.nextBoolean() == true; num1++; }if(!sure) break; }while(true); break; case 2://查看已点 list1=new Dishes<>(store); System.out.println("您已经点了:"); for(int i=0;i<num1;i++) { System.out.println(dish[list1.get(i)].getDishID()+dish[list1.get(i)].getDishName()+dish[list1.get(i)].getPrice()); } System.out.println("请问还有什么其他需求吗?"); System.out.println("如果想要删除已点餐品请按1\n若没有请按0"); int request=sc.nextInt(); int cc; if(request==1){ while(ifremove) { System.out.println("请您输入你想删除的序号"); cc=sc.nextInt(); adress=list1.search(cc); list1.remove(adress); number++; System.out.println("请问是否还需要删除其他餐品吗?\n如果是请输入true,否则删除false"); ifremove=sc.nextBoolean(); } } if(request==0){ break; } System.out.println("您已经点了:"); for(int i=0;i<num1-number;i++) { System.out.println(dish[list1.get(i)].getDishID()+dish[list1.get(i)].getDishName()+dish[list1.get(i)].getPrice()); } break; case 3://结账 for(int i=0;i<num1-number;i++) { total=total+dish[list1.get(i)].getPrice();} System.out.println(guest.getTableID()+"号餐桌共消费"+(total)+"元"); break; case 4://退出点餐 System.out.println("结束点餐请输入false"); breakout=sc.nextBoolean(); } } System.out.println("欢迎下次光临!"); } private static void showMenu(String[] dishes) { // TODO Auto-generated method stub System.out.println("---------主菜单-------"); for(int i=0;i<dishes.length;i++) System.out.println(dishes[i]); System.out.println("----------------"); } public static void chuancan(Dishes[] dish) { dish[0]=new Dishes<Object>(0,"烤地瓜",4); dish[1]=new Dishes<Object>(1,"红烧猪蹄",42); dish[2]=new Dishes<Object>(2,"麻婆豆腐",14); dish[3]=new Dishes<Object>(3,"腐竹炒肉",18); dish[4]=new Dishes<Object>(4,"鱼香肉丝",28); dish[5]=new Dishes<Object>(5,"北京烤鸭",46); dish[6]=new Dishes<Object>(6,"米饭",1); } }
这个就相当于点餐的主界面吧,一切程序都在这上面运行。这个菜单你们就忽略吧,太。。。你们懂得。
这个我运用到数据结构中顺序表的思想,对菜单进行插入,删除,查找操作。
以下代码是餐品类:public class Dishes<T> { private int dishID;//菜品id private String dishName;//菜品名字 private double price;//菜品价格 Object[] element;// 使用一位数组作为存储结构,因为用的是泛型类,所以定义父类数组 protected int n;// 元素个数(不是元素容量) public int num=1; public Dishes(int length) { this.element = new Object[length]; this.n = 0; } public Dishes(T[] values) { this(values.length);//把调用本类的其他构造方法,把values传过去 for (int i = 0; i < values.length; i++) this.element[i] = values[i]; this.n = element.length; } public Dishes() {// 自动生成构造方法 this(64); } public Dishes(int dishID,String dishName,double price){ this.dishID=dishID; this.dishName=dishName; this.price=price; } public int getDishID(){ return dishID; } public String getDishName(){ return dishName; } public void setDishName(String dishName){ this.dishName=dishName; } public double getPrice(){ return price; } public void setPrice(double price){ this.price=price; } public int search(T key) { for(int i=0;i<this.n;i++) { if(key.equals(element[i])) return i;} return -1; } public T insert(int i, T x) {//在第i个位置插入元素x if (x == null) throw new NullPointerException("x=null"); if (i < 0) i = 0; if (i > n) i = this.n; Object[] source = this.element; if (this.n == element.length) { this.element = new Object[source.length * 2]; } for (int j = 0; j<i; j++) { this.element[j] = source[j]; }//this.element[i] = x; //System.out.println("插入元素"+element[i]); for (int j = n - 1; j >= i; j--) { element[j + 1] = source[j]; }this.element[i] = x; this.n++;//?? //for(Object arr:element) //System.out.println(arr); return (T)element[i];//return x } public T insert(T x) { return this.insert(this.n, x); } public T remove(int i) { if (i >=0 && i <this.n && this.n > 0) { T old = (T) element[i]; for (int j = i; j <this.n -1; j++) this.element[j] = this.element[j+1]; this.element[this.n-1]=null; this.n--; return old; } return null; } public T get(int i) { if(i>=0&&i<this.n) return (T)this.element[i]; return null; } }
这个类基本上就是顺序表中插入,删除,查找方法所在
以下代码是顾客类:public class Customers { private static int c; private static String dishName; private static double price; private int count;//人数 private int tableID;//桌号 private static Dishes[] dishes;//点的菜品 public Customers(int count,int tableID){ this.count=count; this.tableID=tableID; //dishs=new ArrayList<>(); } public Customers(){ this.count=count; this.tableID=tableID; this.dishes=dishes; } public Customers(int c, String dishName, double price) { this.c=c; this.dishName=dishName; this.price=price; } public int getCount(){ return count; } public int getTableID(){ return tableID; } public void setTableID(int tableID){ this.tableID=tableID; } public static Dishes[] getDish(){ return dishes; } public void setDishs(Dishes[] dishes){ this.dishes=dishes; } }
以上就是我的点餐系统
嗯。。。结果我就不写出来了,太长了。希望这会对跟我一样不知道如何开始写这个代码的你们有所帮助。
谢谢你们的观看和留言。。。 -
火锅点餐系统,点餐系统
2020-12-31 13:54:29火锅点餐系统,点餐系统 -
点餐系统的开发,java后台+微信小程序 实现完整的餐厅点餐系统。微信扫码点餐小程序源码讲解
2019-07-30 08:52:43java后台+微信小程序实现点餐系统。 后台技术选型: JDK8 MySQL(需要5.6以上) Spring-boot Spring-data-jpa Lombok Freemarker Bootstrap Websocket 小程序端技术选型 微信小程序 老规矩先看效果图 管理后台 ...今天来给大家讲解一个完整的微信小程序点餐项目。java后台+微信小程序实现点餐系统。
后台技术选型:
- JDK8/Java11
- Mysql5.7/Mysql8
- Spring-boot2.2.4
- Spring-data-jpa
- Lombok
- Freemarker
- Bootstrap4.3
- Websocket即时通讯
- Tomcat服务器
- Excel数据的批量导入与导出
小程序端技术选型
- 微信小程序
- css3
- JavaScript
老规矩先看效果图
管理后台
小程序端
如上图,目前实现了如下功能。小程序首页
1,扫码点餐
2,菜品浏览
3,餐厅电话
4,在线客服
菜品分类显示
购物车编辑页
订单确认页(可以选择就餐人数)
支付系统(模拟支付,可接入微信支付)
订单列表页(多种订单状态)
评论系统(评价列表)
小程序代码的导入与运行
一,导入源码到小程序开发工具
你如果没有小程序开发基础,只需要看下这个视频学习下如何导入小程序源码到开发者工具即可
https://edu.csdn.net/course/play/9531/234418二,导入成功后直接就可以用了
如果你想用扫码点餐,就把下面注释打开,使用真机调试。
真机调试才可以扫码点餐
扫码点餐的实现代码,需要解开注释。
我后面会录制一套完整的视频来教大家如何快速的开发点餐系统。视频持续更新中。。。。
-
Java实现餐厅点餐系统
2019-06-18 14:19:22和现有系统比较起来,本系统是B/S结构,一般点餐系统为C/S结构,性能方面不如B/S结构,并且C/S接口需要安装客户端,客户端压力很大,我的系统只需要电脑或者手机具有浏览器,在同一局域网就可以进行订餐。...学习Java实现餐厅点餐系统,本文实现该系统的功能截图,和数据库设计SQL语句,系统功能图,功能优势等供大家参考
1.点餐管理系统背景
随着科技的发展,去饭店吃饭点餐和结账都是以线上操作的形势完成。
a.和现在有的系统比较起来,本系统有餐桌管理,菜系管理,菜名管理,订单管理,订单详情等功能。
b.和现有系统比较起来,本系统是B/S结构,一般点餐系统为C/S结构,性能方面不如B/S结构,并且C/S接口需要安装客户端,客户端压力很大,我的系统只需要电脑或者手机具有浏览器,在同一局域网就可以进行订餐。
c.从架构方面来讲,我们的系统为分布式架构,传统的点餐系统没有我们的架构合理。2.点餐管理系统技术架构
主要技术
Spring、SpringMVC、Mybatis
JSP、JSTL、jQuery、HTML、CSS、JS
Mysql
bootstrap
开发工具和环境
Eclipse
Maven
Tomcat 7
JDK 1.8
Mysql 5.6
Win10 操作系统3.系统架构及功能
4.数据库设计
-- 餐桌表 CREATE TABLE `dinnertable` ( `id` int(11) NOT NULL AUTO_INCREMENT,--餐桌id `tableName` varchar(20) DEFAULT NULL, -- 餐桌名称 `tableStatus` int(11) DEFAULT '0', -- 餐桌状态 0表示空闲状态 1表示已预订状态 `orderDate` datetime DEFAULT NULL, -- 预定餐桌时间 PRIMARY KEY (`id`) ) -- 菜系表 川菜,湘菜等 CREATE TABLE `foodtype` ( `id` int(11) NOT NULL AUTO_INCREMENT, --菜系id `typeName` varchar(20) DEFAULT NULL, --菜系名称 PRIMARY KEY (`id`) ) -- 菜名表 CREATE TABLE `food` ( `id` int(11) NOT NULL AUTO_INCREMENT, -- 菜名id `foodName` varchar(20) DEFAULT NULL, -- 菜名 `foodType_id` int(11) DEFAULT NULL, -- 所属菜系 `price` double DEFAULT NULL, -- 价格 `mprice` double DEFAULT NULL, -- 会员价格 `remark` varchar(200) DEFAULT NULL, --菜名描述 `img` varchar(100) DEFAULT NULL, -- 菜名图片对应路径 PRIMARY KEY (`id`), KEY `fk_food_foodType_id` (`foodType_id`), CONSTRAINT `fk_food_foodType_id` FOREIGN KEY (`foodType_id`) REFERENCES `foodtype` (`id`) ) -- 订单表 CREATE TABLE `orders` ( `id` int(11) NOT NULL AUTO_INCREMENT, -- 订单id `table_id` int(11) DEFAULT NULL, -- 餐桌id `orderDate` datetime DEFAULT NULL, -- 下单时间 `totalPrice` double DEFAULT NULL, -- 总金额 `orderStatus` int(11) DEFAULT '0', --支付状态 0未支付 1已支付 PRIMARY KEY (`id`), KEY `order_table_id` (`table_id`), CONSTRAINT `order_table_id` FOREIGN KEY (`table_id`) REFERENCES `dinnertable` (`id`) ) -- 订单明细表 CREATE TABLE `orderdetail` ( `id` int(11) NOT NULL AUTO_INCREMENT, -- 订单明细id `orderId` int(11) DEFAULT NULL, -- 所属订单id `food_id` int(11) DEFAULT NULL, -- 菜名id `foodCount` int(11) DEFAULT NULL, -- 订餐数量 PRIMARY KEY (`id`), KEY `orderDetail_order_id` (`orderId`), KEY `orderDetail_food_id` (`food_id`), CONSTRAINT `orderDetail_food_id` FOREIGN KEY (`food_id`) REFERENCES `food` (`id`), CONSTRAINT `orderDetail_order_id` FOREIGN KEY (`orderId`) REFERENCES `orders` (`id`) ) -- 管理员表 CREATE TABLE `admin` ( `id` varchar(20) NOT NULL, -- 管理员id `name` varchar(20) DEFAULT NULL, -- 管理员姓名 `password` varchar(32) DEFAULT NULL, -- 管理员密码 PRIMARY KEY (`id`) )
5.后台管理功能
登录系统首页
餐桌列表:显示餐桌详情,可以通过上面搜索按钮搜索类似餐桌,也可以删除餐桌
添加新餐桌功能
菜系列表:显示菜系详情,可以通过上面搜索按钮搜索类似菜系,也可以删除菜系
修改菜系名称功能
添加菜系功能
菜品列表:显示菜品列表,可以通过上面搜索按钮搜索类似菜品,也可以删除菜系
修改菜品功能:可以修改菜系所属菜系、菜品名称、价格、简介、图片等属性。
添加菜品功能
订单列表管理:显示已有餐桌订单情况,如果未结账的,用户点击结账付款后可以进行结账。
订单详情:可以查看用户都点了哪些菜,每个菜单价多少,数量多少
6.前台用户点餐功能
用户点餐时进入菜单页,选择没有预定的餐桌,这里只显示未预定餐桌
选择餐桌后会进入餐桌首页,可以查看到所有菜品信息
用户可以根据菜系列表和关键字搜索对应的菜品
点击菜品进入菜详情页面,用户可以将菜加入餐车中
放入购物车后会进入清单列表,在这里我们可以返回继续点餐,也可以修改已加入菜品数量,或者移除菜品
点击下单后后端会受到这个消息,开始做菜;如果用户结束吃饭可以点击结账按钮,通知服务员进行结账
-
android电子点餐系统源码
2020-10-07 04:00:27android电子点餐系统源码 android电子点餐系统源码 android电子点餐系统源码 android电子点餐系统源码 -
javaweb点餐系统
2018-09-19 02:24:25基于jsp的 餐厅点餐系统,mysql数据库,没有使用框架,前台是自适应界面 -
点餐系统源码
2018-08-14 10:39:08实例为Java语言实现点餐系统, 前台为Bootstrap框架, 后台框架为SSH, 数据库使用mysql, 此套点餐系统可以管理餐馆所有业务,包括每日的营收数据, 月度营收数据, 餐桌信息管理,菜谱信息管理以及订单信息管理, 真正... -
Android Studio实现一个点餐系统
2019-11-05 10:50:31Android Studio实现一个点餐系统 写在前面 之前做的期末作业,现在发到博客上,作业要求如下: 手机点餐系统 功能: 1.数据管理 菜品类别:凉菜;热菜;汤菜;主食;酒水 菜品管理:菜品的编号;名称;价格...Android Studio实现一个点餐系统
写在前面
之前做的期末作业,现在发到博客上,作业要求如下:
手机点餐系统功能:
1.数据管理
菜品类别:凉菜;热菜;汤菜;主食;酒水
菜品管理:菜品的编号;名称;价格;所属类别;备注
餐桌管理:桌号;人数
2.点餐
新开桌:桌号->点餐
加菜:桌号->点餐
3.结账
根据桌号结单(可显示点餐明细与价格)
4.流水查阅
根据时间段查阅销售额(某段时间的午餐、晚餐)
某段时间菜品销量排序
5.其他要求
5.0 要求启动活动界面,启动活动居住显示:***点餐系统;学号+姓名
5.1有界面的地方,标题栏:学号+姓名
5.2界面逻辑设计合理漂亮
5.3严禁抄袭,如有发现俩人都不及格效果图
- 登录界面
-
登录界面
-
功能栏部分
-
菜品管理
-
订单管理
-
点餐部分
-
订单统计部分
-
订单结账部分
心路历程
整个项目相对粗擦,没有过多的装饰,旨在实现具体的功能,功能基本达到预期目标,其中实现滑动菜单时我的项目是用了布局的替换而不是新活动的声明,费了一番劲才实现。
-
微信点餐系统
2018-10-28 22:52:12微信点餐系统源码下载,直接导入MAVEN项目即可。 -
餐厅点餐系统
2019-04-22 11:15:52餐厅点餐系统,用于商家和入店客户使用,代码使用的是php语言 -
WirelessOrder点餐系统(一个基于SSH的外卖点餐系统)
2018-02-06 09:53:16网上自主点餐系统用户功能包括:菜品预定:菜品展示(主页)、购物车、订单列表、订单详情;注册登录:注册、登录、用户信息 管理员功能包括:用户管理、订单管理、图片管理、菜品管理、菜品类型管理、配置管理 -
美网吧点餐系统开发系统源码
2018-06-21 14:02:59美网吧点餐系统开发系统源码美网吧点餐系统开发系统源码美网吧点餐系统开发系统源码 -
Winfrom 点餐系统
2019-02-18 15:45:37基于C# winform的点餐系统,下载后附加数据库,更改链接字符串即可使用
-
Java基本语法
-
apache-dubbo.rar
-
2017 计蒜之道 初赛 第一场 阿里的新游戏 题解
-
电子设计报告.docx
-
create java ee 6 annotated class 灰色 无法取消
-
idea 新建没有servlet
-
【数据分析-随到随学】Hive详解
-
FFmpeg4.3黄金系列课程:c++版
-
Embarcadero_InterBase_2020_v14.1.0.319.rar
-
CC_V000.zip
-
212临沂市北城二期B15-1地块土壤污染状况调查报告-0908---直接通过.pdf
-
单元测试UnitTest+Pytest【Selenium3】
-
转行做IT-第7章 数组
-
致远 协同管理软件 V8.0SP1 产品迁移手册.pdf
-
Python入门到项目直通车
-
thinkphp5.1博客后台实战视频
-
dbeaver-ce-7.3.3-x86_64-setup.exe
-
Coolwatcher User Guide.pdf
-
python中如何改变数据类型
-
用hive执行select查询,使用mapreduce离线查询就一直卡在这里,进程也都在啊,怎么办?