同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品
2018-10-28 22:41
841 查看
package 肯德基订餐;
import java.util.Scanner;
import java.util.*;
/**
- date:2018年10月26日
- @author xiaoxiannv
*/
public class Order {
public static void main(String[] args) { String[] names = new String[4]; // 定义订餐人员 String[] menu = new String[4]; // 定义菜单 int[] states = new int[4]; // 订单状态: 0:已预定 1:已完成 double[] sumPrices = new double[4]; // 总金额 // 初始化2个订单信息 names[0] = "小仙女"; menu[0] = "鸡肉堡 1份"; sumPrices[0] = 12.0; states[0] = 1; names[1] = "小仙女"; menu[1] = "炸薯条 1份"; sumPrices[1] = 25.0; states[1] = 1; // 供选择的菜品信息 String[] dishNames = { "牛肉堡", "鸡肉堡", "炸薯条", "炸鸡", "炸鱿鱼", "可乐", "奶茶", "咖啡", "(秘制面皮,中可,鸡米块)", "(酸辣粉,南瓜粥,汉堡)", "(紫薯块,麻辣鸡块,汤圆)" }; double[] prices = new double[] { 14.0, 12.0, 10.0, 20.0, 10.0, 8.0, 8.5, 13.0, 25.0, 30.0, 28.0 }; // 菜品单价 int[] praiseNums = new int[3]; Scanner in = new Scanner(System.in); int num = 0; // 用户输入0返回主菜单,否则退出系统 boolean isExit = false; // 标志用户是否退出系统: true:退出系统 System.out.println("\n欢迎使用“肯德基订餐系统”"); do { // 显示菜单 System.out.println("********************************************"); System.out.println("* 1、我要订餐 *"); System.out.println("* 2、查看订单 *"); System.out.println("* 3、打印订单 *"); System.out.println("* 4、删除订单 *"); System.out.println("* 5、我要评价 *"); System.out.println("* 6、退出系统 *"); System.out.println("********************************************"); System.out.print("请选择你的操作(1-6):"); int choose = in.nextInt(); // 记录用户选择的功能编号 boolean isOrder = false; // 记录是否需要订餐 boolean isSignFind = false; // 是否查看订单 boolean isDelFind = false; // 是否删除订单 switch (choose) { case 1: // 我要订餐 System.out.println(" 我要订餐 "); System.out.print("请输入订餐人姓名:"); String name = in.next(); isOrder = true; for (int j = 0; j < names.length; j++) { if (names[j] == null) { names[j] = name; break; } else { isOrder = true; } } while (isOrder) { System.out.println("序号" + "\t\t\t\t\t" + "菜单" + "\t\t\t\t\t" + "价格"); for (int i = 0; i < dishNames.length; i++) { System.out.print(i+1 + "\t\t\t\t\t" + dishNames[i] + "\t\t\t\t\t" + prices[i] + "\n"); } System.out.print("请输入菜单编号:"); int dishNum = in.nextInt(); System.out.print("请输入订餐数量:"); int dishCount = in.nextInt(); double sumPrice = prices[dishNum - 1] * dishCount; double deliCharge; // 定义打包带走的包装费 if (sumPrice > 50) { deliCharge = 0; } else { deliCharge = 5; } System.out.print("请输入客户给的金额:"); int money = in.nextInt(); System.out.println( "餐费:" + sumPrice + "元,送餐费:" + deliCharge + "元,总计:" + (sumPrice + deliCharge) + "元"); System.out.println("应收取:" + (sumPrice + deliCharge)); if (money < (sumPrice + deliCharge)) { System.out.println("对不起,您的钱不够!"); } else { System.out.println("应找零:" + (money - (sumPrice + deliCharge))); } // 判断是否继续进行点餐 Scanner input = new Scanner(System.in); System.out.println("是否继续,请输入:"); int num1 = in.nextInt();// 用户输入0返回主菜单,否则继续点餐 if (num1 == 0) { break; } else { continue; } } break; case 2: // 查看定单 System.out.println(" 查看定单 "); System.out.println("序号\t订餐人\t餐品信息\t总金额\t订单状态"); for (int i = 0; names[i] != null; i++) { String sta = (states[i] == 1) ? "已完成" : "已预定"; System.out.print( (i + 1) + "\t" + names[i] + "\t" + menu[i] + "\t" + sumPrices[i] + "\t" + sta + "\n"); } System.out.print("请选择要查看的订单序号:"); int n = in.nextInt(); states[n - 1] = 1; System.out.println("序号\t订餐人\t餐品信息\t总金额\t订单状态"); for (int i = 0; names[i] != null; i++) { String sta = (states[i] == 1) ? "已完成" : "已预定"; System.out.print( (i + 1) + "\t" + names[i] + "\t" + menu[i] + "\t" + sumPrices[i] + "\t" + sta + "\n"); Scanner input = new Scanner(System.in); System.out.println("是否继续,请输入:"); int num2 = in.nextInt();// 用户输入0返回主菜单,否则继续查看订单 if (num2 == 0) { break; } else { continue; } } break; case 3: // 打印订单 System.out.println(" 打印订单 "); System.out.println("序号\t订餐人\t餐品信息\t总金额\t订单状态"); for (int i = 0; names[i] != null; i++) { String sta = "0";// 定义订单的状态 if (states[i] == 1) { System.out.println("已完成"); } else { System.out.println("已预定"); } System.out.print( (i + 1) + "\t" + names[i] + "\t" + menu[i] + "\t" + sumPrices[i] + "\t" + sta + "\n"); Scanner input = new Scanner(System.in); System.out.println("是否继续,请输入:"); int num3 = in.nextInt();// 用户输入0返回主菜单,否则继续打印订单 if (num3 == 0) { break; } else { continue; } } break; case 4: // 删除订单 System.out.println(" 删除订单 "); System.out.println("序号\t订餐人\t餐品信息\t总金额\t订单状态"); for (int i = 0; i < 4; i++) { String sta = (states[i] == 1) ? "已完成" : "已预定"; System.out.print( (i + 1) + "\t" + names[i] + "\t" + menu[i] + "\t" + sumPrices[i] + "\t" + sta + "\n"); } System.out.print("请输入要删除的订单序号:"); int m = in.nextInt(); for (int k = m; k < 4; k++) { names[k - 1] = names[k]; menu[k - 1] = menu[k]; sumPrices[k - 1] = sumPrices[k]; states[k - 1] = states[k]; } System.out.println("序号\t订餐人\t餐品信息\t总金额\t订单状态"); for (int i = 0; i < 4; i++) { String sta = (states[i] == 1) ? "已完成" : "已预定"; System.out.print( (i + 1) + "\t" + names[i] + "\t" + menu[i] + "\t" + sumPrices[i] + "\t" + sta + "\n"); } Scanner input = new Scanner(System.in); System.out.println("是否继续,请输入:"); int num4 = in.nextInt();// 用户输入0返回主菜单,否则继续删除订单 if (num4 == 0) { break; } else { continue; } case 5: // 我要评价 System.out.println(" 我要评价 "); // 显示菜单信息 System.out.println("序号" + "\t" + "菜名" + "\t" + "单价"); for (int i = 0; i < dishNames.length; i++) { System.out.print(i + 1 + "\t" + dishNames[i] + "\t" + prices[i] + "\t" + praiseNums[i] + "赞" + "\n"); } System.out.print("请输入评价序号:"); int number = in.nextInt(); praiseNums[number - 1] = praiseNums[number - 1] + 1; System.out.println("序号" + "\t" + "菜名" + "\t" + "单价"); for (int i = 0; i < dishNames.length; i++) { System.out .print(i + 1 + "\t" + dishNames[i] + "\t" + prices[i] + "\t" + praiseNums[i] + "赞" + "\n"); } System.out.println("是否继续,请输入:"); int num5 = in.nextInt();// 用户输入0返回主菜单,否则继续评价 if (num5 == 0) { break; } else { continue; } case 6: // 退出系统 isExit = true; break; default: // 退出系统 isExit = true; break; } if (!isExit) { System.out.print("输入0返回:"); num = in.nextInt(); } else { break; } } while (num == 0); System.out.println("谢谢使用,欢迎下次光临!"); }
}
阅读更多
相关文章推荐
- 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能: 1.正常餐品结
- 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,使用java语言进行编写。
- 学生社团管理系统 任务:通过此系统可以实现如下功能(包含但不限于以下功能,可自行设计): 1、社团信息包括:社团编号、社团名称、成立时间…… 2、学生信息包括:学号、姓名、性别、年级、专业…… 3
- 使用shell和python分别实现简单菜单功能--打印当前系统状态信息
- 使用Java实现B/S系统常见的获取客户端信息功能!
- Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
- 使用Java实现B/S系统常见的获取客户端信息功能!
- 使用shell和python分别实现简单菜单功能--打印当前系统状态信息
- 使用python获取CPU和内存信息的思路与实现(linux系统)
- 设计模式:策略模式的实现 c++ 与 java
- JAVA_WEB项目(结合Servlet+jsp+ckEditor编辑器+jquery easyui技术)实现新闻发布管理系统第二篇:登陆和注销功能实现
- 使用模板方法模式实现可扩展性设计(Java示例)
- Java使用组合模式实现表示公司组织结构功能示例
- 使用python获取CPU和内存信息的思路与实现(linux系统)
- 使用Adobe Reader控件结合Java实现PDF打印功能
- 通过例子学设计模式之--抽象工厂模式以及使用场景说明(C++实现)
- 使用观察者模式实现Java应用程序设计MVC模式
- 如何使用三层架构设计模式去完整的实现一个功能?
- 使用python获取CPU和内存信息的思路与实现(linux系统)
- 使用reids结合wcf实现集群模式下的聊天室功能