java实现肯德基收银系统

参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能:

1.正常餐品结算和找零。

2.基本套餐结算和找零。

3.使用优惠券购买餐品结算和找零。

4.可在一定时间段参与店内活动(自行设计或参考官网信息)。

5.模拟打印小票的功能(写到文件中)。

小票信息保存

class print{

String s=""; //存订单信息

}

食物工厂

interface FoodFactory{

public Hamburger createHamburger(print s,int kind,int num); //生产汉堡包

public Drink createDrink(print s,int kind,int num); //生产饮品

public Chicken createChicken(print s,int kind,int num); //生产鸡肉类

public Sweetmeats createSweetmeats(print s,int kind,int num); //生产甜品

public Snack createSnack(print s,int kind,int num); //生产小吃

public FrenchFries createFrenchFries(print s,int kind,int num); //生产薯条

public SetMeal createSetMeal(print s,int kind,int num); //生产套餐

}

具体食物工厂

interface Hamburger{

public double price(int num);

}

interface Drink{

public double price(int num);

}

interface Chicken{

public double price(int num);

}

interface Sweetmeats{

public double price(int num);

}

interface Snack{

public double price(int num);

}

interface FrenchFries{

public double price(int num);

}

interface SetMeal{

public double price(int num);

}

具体食物

//汉堡

//奥尔良烤堡

class Hamburger_1 implements Hamburger{

public double price(int num)

{

System.out.println("奥尔良烤堡"+" "+" 数量:"+num+" "+"合计:"+(num*8));

return num*8; //返回价格

}

}

//香辣鸡腿堡

class Hamburger_2 implements Hamburger{

public double price(int num)

{

System.out.println("香辣鸡腿堡"+" "+" 数量:"+num+" "+"合计:"+(num*9));

return num*9;

}

}

//劲脆鸡腿堡

class Hamburger_3 implements Hamburger{

public double price(int num)

{

System.out.println("劲脆鸡腿堡"+" "+" 数量:"+num+" "+"合计:"+(num*10));

return num*10;

}

}

//饮品

//橙汁

class Drink_1 implements Drink{

public double price(int num)

{

System.out.println("橙汁"+" "+" 数量:"+num+" "+"合计:"+(num*7));

return num*7; //返回价格

}

}

//百事可乐

class Drink_2 implements Drink{

public double price(int num)

{

System.out.println("百事可乐"+" "+" 数量:"+num+" "+"合计:"+(num*8));

return num*8;

}

}

//百威啤酒

class Drink_3 implements Drink{

public double price(int num)

{

System.out.println("百威啤酒"+" "+" 数量:"+num+" "+"合计:"+(num*9));

return num*9;

}

}

//鸡肉类

//老北京鸡肉卷

class Chicken_1 implements Chicken{

public double price(int num)

{

System.out.println("老北京鸡肉卷"+" "+"数量:"+num+" "+"合计:"+(num*9));

return num*9; //返回价格

}

}

//香辣鸡翅

class Chicken_2 implements Chicken{

public double price(int num)

{

System.out.println("香辣鸡翅"+" "+"数量:"+num+" "+"合计:"+(num*13));

return num*13;

}

}

//鸡排

class Chicken_3 implements Chicken{

public double price(int num)

{

System.out.println("鸡排"+" "+"数量:"+num+" "+"合计:"+(num*10));

return num*10;

}

}

//甜品

//原味圣代

class Sweetmeats_1 implements Sweetmeats{

public double price(int num)

{

System.out.println("原味圣代"+" "+"数量:"+num+" "+"合计:"+(num*9));

return num*9; //返回价格

}

}

//葡式蛋挞

class Sweetmeats_2 implements Sweetmeats{

public double price(int num)

{

System.out.println("葡式蛋挞"+" "+"数量:"+num+" "+"合计:"+(num*12));

return num*12;

}

}

//巧克力味华夫

class Sweetmeats_3 implements Sweetmeats{

public double price(int num)

{

System.out.println("巧克力味华夫"+" "+"数量:"+num+" "+"合计:"+(num*10));

return num*10;

}

}

//小吃

//蔬菜沙拉

class Snack_1 implements Snack{

public double price(int num)

{

System.out.println("蔬菜沙拉"+" "+"数量:"+num+" "+"合计:"+(num*10));

return num*10; //返回价格

}

}

//醇香土豆泥

class Snack_2 implements Snack{

public double price(int num)

{

System.out.println("醇香土豆泥"+" "+"数量:"+num+" "+"合计:"+(num*11));

return num*11;

}

}

//香甜粟米棒

class Snack_3 implements Snack{

public double price(int num)

{

System.out.println("香甜粟米棒"+" "+"数量:"+num+" "+"合计:"+(num*6));

return num*6;

}

}

//薯条

//波纹霸王薯条

class FrenchFries_1 implements FrenchFries{

public double price(int num)

{

System.out.println("波纹霸王薯条"+" "+"数量:"+num+" "+"合计:"+(num*12));

return num*12; //返回价格

}

}

//套餐

//套餐1

class SetMeal_1 implements SetMeal{

public double price(int num) {

System.out.println("香辣鸡翅+百事可乐"+" "+"数量:"+num+" "+"合计:"+(num*17));

return num*17;

}

}

//套餐2

class SetMeal_2 implements SetMeal{

public double price(int num) {

System.out.println("劲脆鸡腿堡+橙汁"+" "+"数量:"+num+" "+"合计:"+(num*15));

return num*15;

}

}

//套餐3

class SetMeal_3 implements SetMeal{

public double price(int num) {

System.out.println("香辣鸡腿堡+百威啤酒+波纹霸王薯条"+" "+"数量:"+num+" "+"合计:"+(num*25));

return num*25;

}

}

生产具体食物

//生产具体食物

class createFood implements FoodFactory{

print p=new print();

public Hamburger createHamburger(print s,int kind,int num) {

if(kind==1){

s.s=s.s+"\n"+"奥尔良汉堡 单价:"+"8"+" 数量:"+num+" 合计:"+(num*8); //将信息保存至s中

return new Hamburger_1();}

else if(kind==2) {

s.s=s.s+"\n"+"香辣鸡腿堡 单价:"+"9"+" 数量:"+num+" 合计:"+(num*9);

return new Hamburger_2();}

else if(kind==3) {

s.s=s.s+"\n"+"劲脆鸡腿堡 单价:"+"10"+" 数量:"+num+" 合计:"+(num*10);

return new Hamburger_3();}

else return null;

}

public Drink createDrink(print s,int kind,int num) {

if(kind==1) {

s.s=s.s+"\n"+"橙汁 单价:"+"7"+" 数量:"+num+" 合计:"+(num*7); //将信息保存至s中

return new Drink_1();}

else if(kind==2) {

s.s=s.s+"\n"+"百事可乐 单价:"+"8"+" 数量:"+num+" 合计:"+(num*8);

return new Drink_2();}

else if(kind==3) {

s.s=s.s+"\n"+"百威啤酒 单价:"+"9"+" 数量:"+num+" 合计:"+(num*9);

return new Drink_3();}

else return null;

}

public Chicken createChicken(print s,int kind,int num) {

if(kind==1) {

s.s=s.s+"\n"+"老北京鸡肉卷 单价:"+"9"+" 数量"+num+" 合计:"+(num*9); //将信息保存至s中

return new Chicken_1();}

else if(kind==2) {

s.s=s.s+"\n"+"香辣鸡翅 单价:"+"13"+" 数量"+num+" 合计:"+(num*13);

return new Chicken_2();}

else if(kind==3) {

s.s=s.s+"\n"+"鸡排 单价:"+"10"+" 数量"+num+" 合计:"+(num*10);

return new Chicken_3();}

else return null;

}

public Sweetmeats createSweetmeats(print s,int kind,int num) {

if(kind==1) {

s.s=s.s+"\n"+"原味圣代 单价:"+"9"+" 数量"+num+" 合计:"+(num*9); //将信息保存至s中

return new Sweetmeats_1();}

else if(kind==2) {

s.s=s.s+"\n"+"葡式蛋挞 单价:"+"12"+" 数量"+num+" 合计:"+(num*12);

return new Sweetmeats_2();}

else if(kind==3) {

s.s=s.s+"\n"+"巧克力味华夫 单价:"+"10"+" 数量"+num+" 合计:"+(num*10);

return new Sweetmeats_3();}

else return null;

}

public Snack createSnack(print s,int kind,int num) {

if(kind==1) {

s.s=s.s+"\n"+"蔬菜沙拉 单价:"+"10"+" 数量"+num+" 合计:"+(num*10); //将信息保存至s中

return new Snack_1();}

else if(kind==2) {

s.s=s.s+"\n"+"醇香土豆泥 单价:"+"11"+" 数量"+num+" 合计:"+(num*11);

return new Snack_2();}

else if(kind==3) {

s.s=s.s+"\n"+"香甜粟米棒 单价:"+"6"+" 数量"+num+" 合计:"+(num*6);

return new Snack_3();}

else return null;

}

public FrenchFries createFrenchFries(print s,int kind,int num){

if(kind==1) {

s.s=s.s+"\n"+"波纹霸王薯条 单价:"+"12"+" 数量"+num+" 合计:"+(num*12); //将信息保存至s中

return new FrenchFries_1();}

else return null;

}

public SetMeal createSetMeal(print s,int kind, int num) {

if(kind==1) {

s.s=s.s+"\n"+"套餐1 单价:"+"17"+" 数量"+num+" 合计:"+(num*17); //将信息保存至s中

return new SetMeal_1();}

else if(kind==2) {

s.s=s.s+"\n"+"套餐2 单价:"+"15"+" 数量"+num+" 合计:"+(num*15);

return new SetMeal_2();}

else if(kind==3) {

s.s=s.s+"\n"+"套餐3 单价:"+"25"+" 数量"+num+" 合计:"+(num*25);

return new SetMeal_3();}

else return null;

}

}

订购食物,返回价格

class Price{

public FoodFactory create;

//构造方法将抽象工厂传入

public Price(FoodFactory create) {

this.create=create;

}

public double orderHamburger(print s,int kind,int num) {

Hamburger hamburger=create.createHamburger(s,kind, num);

return hamburger.price(num);

}

public double orderDrink(print s,int kind,int num) {

Drink drink=create.createDrink(s,kind, num);

return drink.price(num);

}

public double orderChicken(print s,int kind,int num) {

Chicken chicken=create.createChicken(s,kind, num);

return chicken.price(num);

}

public double orderSweetmeats(print s,int kind,int num) {

Sweetmeats sweetmeats=create.createSweetmeats(s,kind, num);

return sweetmeats.price(num);

}

public double orderSnack(print s,int kind,int num) {

Snack snack=create.createSnack(s,kind, num);

return snack.price(num);

}

public double orderFrenchFries(print s,int kind,int num) {

FrenchFries frenchFries=create.createFrenchFries(s,kind, num);

return frenchFries.price(num);

}

public double orderSetMeal(print s,int kind,int num) {

SetMeal setMeal=create.createSetMeal(s,kind, num);

return setMeal.price(num);

}

}

以上是 java实现肯德基收银系统 的全部内容, 来源链接: utcz.com/z/355311.html

回到顶部