Realization of KFC cash register system by java
- 2021-07-26 07:50:28
- OfStack
Refer to the information of KFC official website to simulate the cash register system of KFC fast food restaurant, and reasonably use C + + or Java or Python combined design mode (more than 2 kinds) to realize at least the following functions of the system:
1. Normal meal settlement and change.
2. Basic package settlement and change.
3. Use coupons to purchase meals for settlement and change.
4. You can participate in in-store activities in a fixed period of time (design by yourself or refer to official website information).
5. Simulate the function of printing receipts (write them to files).
Receipt information saving
class print{
String s=""; // Save order information
}
Food factory
interface FoodFactory{
public Hamburger createHamburger(print s,int kind,int num); // To produce hamburgers
public Drink createDrink(print s,int kind,int num); // Production of drinks
public Chicken createChicken(print s,int kind,int num); // Production of chicken
public Sweetmeats createSweetmeats(print s,int kind,int num); // To produce dessert
public Snack createSnack(print s,int kind,int num); // Production of snacks
public FrenchFries createFrenchFries(print s,int kind,int num); // Make French fries
public SetMeal createSetMeal(print s,int kind,int num); // Production package
}
Specific food factory
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);
}
Specific food
// Hamburg
// Orleans Baked Castle
class Hamburger_1 implements Hamburger{
public double price(int num)
{
System.out.println(" Orleans Baked Castle "+" "+" Quantity: "+num+" "+" Total :"+(num*8));
return num*8; // Return price
}
}
// Spicy chicken leg burger
class Hamburger_2 implements Hamburger{
public double price(int num)
{
System.out.println(" Spicy chicken leg burger "+" "+" Quantity: "+num+" "+" Total :"+(num*9));
return num*9;
}
}
// Crispy chicken leg burger
class Hamburger_3 implements Hamburger{
public double price(int num)
{
System.out.println(" Crispy chicken leg burger "+" "+" Quantity: "+num+" "+" Total :"+(num*10));
return num*10;
}
}
// Beverages
// Orange juice
class Drink_1 implements Drink{
public double price(int num)
{
System.out.println(" Orange juice "+" "+" Quantity: "+num+" "+" Total :"+(num*7));
return num*7; // Return price
}
}
// Pepsi Cola
class Drink_2 implements Drink{
public double price(int num)
{
System.out.println(" Pepsi Cola "+" "+" Quantity: "+num+" "+" Total :"+(num*8));
return num*8;
}
}
// Budweiser beer
class Drink_3 implements Drink{
public double price(int num)
{
System.out.println(" Budweiser beer "+" "+" Quantity: "+num+" "+" Total :"+(num*9));
return num*9;
}
}
// Chicken meat
// Old Beijing chicken rolls
class Chicken_1 implements Chicken{
public double price(int num)
{
System.out.println(" Old Beijing chicken rolls "+" "+" Quantity: "+num+" "+" Total :"+(num*9));
return num*9; // Return price
}
}
// Spicy chicken wings
class Chicken_2 implements Chicken{
public double price(int num)
{
System.out.println(" Spicy chicken wings "+" "+" Quantity: "+num+" "+" Total :"+(num*13));
return num*13;
}
}
// Chicken steak
class Chicken_3 implements Chicken{
public double price(int num)
{
System.out.println(" Chicken steak "+" "+" Quantity: "+num+" "+" Total :"+(num*10));
return num*10;
}
}
// Dessert
// Original sundae
class Sweetmeats_1 implements Sweetmeats{
public double price(int num)
{
System.out.println(" Original sundae "+" "+" Quantity: "+num+" "+" Total :"+(num*9));
return num*9; // Return price
}
}
// Portuguese egg tart
class Sweetmeats_2 implements Sweetmeats{
public double price(int num)
{
System.out.println(" Portuguese egg tart "+" "+" Quantity: "+num+" "+" Total :"+(num*12));
return num*12;
}
}
// Chocolate waffle
class Sweetmeats_3 implements Sweetmeats{
public double price(int num)
{
System.out.println(" Chocolate waffle "+" "+" Quantity: "+num+" "+" Total :"+(num*10));
return num*10;
}
}
// Snacks
// Vegetable salad
class Snack_1 implements Snack{
public double price(int num)
{
System.out.println(" Vegetable salad "+" "+" Quantity: "+num+" "+" Total :"+(num*10));
return num*10; // Return price
}
}
// Mashed potatoes
class Snack_2 implements Snack{
public double price(int num)
{
System.out.println(" Mashed potatoes "+" "+" Quantity: "+num+" "+" Total :"+(num*11));
return num*11;
}
}
// Sweet Corn Bar
class Snack_3 implements Snack{
public double price(int num)
{
System.out.println(" Sweet Corn Bar "+" "+" Quantity: "+num+" "+" Total :"+(num*6));
return num*6;
}
}
// French fries
// Corrugated overlord French fries
class FrenchFries_1 implements FrenchFries{
public double price(int num)
{
System.out.println(" Corrugated overlord French fries "+" "+" Quantity: "+num+" "+" Total :"+(num*12));
return num*12; // Return price
}
}
// Package
// Package 1
class SetMeal_1 implements SetMeal{
public double price(int num) {
System.out.println(" Spicy chicken wings + Pepsi Cola "+" "+" Quantity: "+num+" "+" Total :"+(num*17));
return num*17;
}
}
// Package 2
class SetMeal_2 implements SetMeal{
public double price(int num) {
System.out.println(" Crispy chicken leg burger + Orange juice "+" "+" Quantity: "+num+" "+" Total :"+(num*15));
return num*15;
}
}
// Package 3
class SetMeal_3 implements SetMeal{
public double price(int num) {
System.out.println(" Spicy chicken leg burger + Budweiser beer + Corrugated overlord French fries "+" "+" Quantity: "+num+" "+" Total :"+(num*25));
return num*25;
}
}
Production of specific food
// Production of specific food
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"+" Orleans burger Unit price :"+"8"+" Quantity :"+num+" Total :"+(num*8); // Save information to s Medium
return new Hamburger_1();}
else if(kind==2) {
s.s=s.s+"\n"+" Spicy chicken leg burger Unit price :"+"9"+" Quantity :"+num+" Total :"+(num*9);
return new Hamburger_2();}
else if(kind==3) {
s.s=s.s+"\n"+" Crispy chicken leg burger Unit price :"+"10"+" Quantity :"+num+" Total :"+(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"+" Orange juice Unit price :"+"7"+" Quantity :"+num+" Total :"+(num*7); // Save information to s Medium
return new Drink_1();}
else if(kind==2) {
s.s=s.s+"\n"+" Pepsi Cola Unit price :"+"8"+" Quantity :"+num+" Total :"+(num*8);
return new Drink_2();}
else if(kind==3) {
s.s=s.s+"\n"+" Budweiser beer Unit price :"+"9"+" Quantity :"+num+" Total :"+(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"+" Old Beijing chicken rolls Unit price: "+"9"+" Quantity "+num+" Total :"+(num*9); // Save information to s Medium
return new Chicken_1();}
else if(kind==2) {
s.s=s.s+"\n"+" Spicy chicken wings Unit price: "+"13"+" Quantity "+num+" Total :"+(num*13);
return new Chicken_2();}
else if(kind==3) {
s.s=s.s+"\n"+" Chicken steak Unit price: "+"10"+" Quantity "+num+" Total :"+(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"+" Original sundae Unit price: "+"9"+" Quantity "+num+" Total :"+(num*9); // Save information to s Medium
return new Sweetmeats_1();}
else if(kind==2) {
s.s=s.s+"\n"+" Portuguese egg tart Unit price: "+"12"+" Quantity "+num+" Total :"+(num*12);
return new Sweetmeats_2();}
else if(kind==3) {
s.s=s.s+"\n"+" Chocolate waffle Unit price: "+"10"+" Quantity "+num+" Total :"+(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"+" Vegetable salad Unit price: "+"10"+" Quantity "+num+" Total :"+(num*10); // Save information to s Medium
return new Snack_1();}
else if(kind==2) {
s.s=s.s+"\n"+" Mashed potatoes Unit price: "+"11"+" Quantity "+num+" Total :"+(num*11);
return new Snack_2();}
else if(kind==3) {
s.s=s.s+"\n"+" Sweet Corn Bar Unit price: "+"6"+" Quantity "+num+" Total :"+(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"+" Corrugated overlord French fries Unit price: "+"12"+" Quantity "+num+" Total :"+(num*12); // Save information to s Medium
return new FrenchFries_1();}
else return null;
}
public SetMeal createSetMeal(print s,int kind, int num) {
if(kind==1) {
s.s=s.s+"\n"+" Package 1 Unit price: "+"17"+" Quantity "+num+" Total :"+(num*17); // Save information to s Medium
return new SetMeal_1();}
else if(kind==2) {
s.s=s.s+"\n"+" Package 2 Unit price: "+"15"+" Quantity "+num+" Total :"+(num*15);
return new SetMeal_2();}
else if(kind==3) {
s.s=s.s+"\n"+" Package 3 Unit price: "+"25"+" Quantity "+num+" Total :"+(num*25);
return new SetMeal_3();}
else return null;
}
}
Order food and return the price
class Price{
public FoodFactory create;
// Constructor passes the abstract factory into the
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);
}
}