您的位置:首页 > 编程语言 > C语言/C++

同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用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("谢谢使用,欢迎下次光临!");
}

}

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐