肯德基快餐店的收银系统

 同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++/python/Java,结合设计模式(2种以上)至少实现系统的以下功能:

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

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

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

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

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

用时2周。

基本要求:

  1. 程序设计风格良好,控制台界面友好,最多两人一组完成任务。
  2. 实现功能测试代码,确保程序的健壮性。
  3. 画出使用的设计模式图。

源代码:

#include <iostream>
using namespace std;
#include <string>
class kfc
{
public:
	string drink;//饮品
	string food;//主食
	float xuebi; //雪碧
	float cola;//可乐 
	float water; //矿物质水 
	float naicha; //奶茶
	float doujiang; //豆浆 
	float shutiao;//薯条
	float maixiangji; //麦香鸡
	float mailajichi;//麦辣鸡翅
	float jituihanbao;//鸡腿汉堡 
	float xiarenhanbao;//虾仁汉堡
	kfc() //定义构造函数
	{
		xuebi=9.00; //雪碧
		cola=5.50;//可乐 
		water=5.00; //矿物质水 
		naicha=9.00; //奶茶
		doujiang=8.50; //豆浆 
		shutiao=7.00;//薯条
		maixiangji=9.00; //麦香鸡
		mailajichi=16.00;//麦辣鸡翅
		jituihanbao=16.50;//鸡腿汉堡 
		xiarenhanbao=10.00;//虾仁汉堡
	}
	void display()//显示本店信息
	{
		cout<<"--------------------------"<<endl;
		cout<<"以下是本店的饮品信息:"<<endl;
		cout<<"--------------------------"<<endl;
		cout<<"1.雪碧(单价:9.00/杯)"<<endl;
		cout<<"2.可乐(单价:5.50/杯)"<<endl;
		cout<<"3.矿物质水(单价:5.50/杯)"<<endl;
		cout<<"4.奶茶(单价:9.90/杯)"<<endl;
		cout<<"5.豆浆(单价:8.50/杯)"<<endl;
		cout<<"---------------------------"<<endl;
		cout<<"以下是本店的主食信息:"<<endl;
		cout<<"---------------------------"<<endl;
		cout<<"6.薯条(单价:7.00/份)"<<endl;
		cout<<"7.麦香鸡(单价:9.00/份)"<<endl;
		cout<<"8.麦辣鸡翅(单价:16.00/份)"<<endl;
		cout<<"9.鸡腿汉堡(单价:16.50/份)"<<endl;
		cout<<"10.虾仁汉堡(单价:10.00/份)"<<endl;
		cout<<"11.劲爆鸡米花(单价:7.00/份)"<<endl;
		cout<<"----------------------------"<<endl;
		cout<<"以下是本店的套餐信息:"<<endl;
		cout<<"----------------------------"<<endl;
		cout<<"1.麦香鸡超值套餐(单价:20.00/份)"<<endl;
		cout<<"2.鸡腿汉堡超值套餐(单价:18.00/份)"<<endl;
		cout<<"3.麦辣鸡翅超值套餐(单价:11.00/份)"<<endl;
		cout<<"----------------------------"<<endl;
	}
};
class commonpay //: public mfc 正常餐品结算和找零
{
public:
	void paymoney(int x)
	{ 
		float price,sum=0.0,sum1,money;
		int j;
		while(x>0&&x<12)
		{
			switch(x)
			{
			case 1:cout<<"雪碧:(price:9.00)";price=9.00;break;
			case 2:cout<<"可乐:(price:5.50)";price=5.50;break;
			case 3:cout<<"矿物质水:(price:5.00)";price=5.00;break;
			case 4:cout<<"奶茶:(price:9.90)";price=9.90;break;
			case 5:cout<<"豆浆:(price:8.50)";price=8.50;break;
			case 6:cout<<"薯条:(price:7.00)";price=7.00;break;
			case 7:cout<<"麦香鸡:(price:9.00)";price=9.00;break;
			case 8:cout<<"麦辣鸡翅:(price:16.00)";price=16.00;break;
			case 9:cout<<"鸡腿汉堡:(price:16.00)";price=16.50;break;
			case 10:cout<<"虾仁汉堡:(price:10.00)";price=10.00;break;
			case 11:cout<<"劲爆鸡米花:(price:7.00)";price=7.00;break;
			}
			sum+=price;
			cout<<"如果您想继续点,请在1到11选择。否则,按1以下或11以上数退 出"<<endl;
			cin>>x;
		}
		cout<<"如果您没有优惠券请选择1,有优惠券请选择2"<<endl;
		cin>>j;
		switch(j)
		{
		case 1:cout<<"您本次消费的总费用为:"<<sum<<endl;
		case 2:sum=sum*0.8;cout<<"您本次消费的总费用为:"<<sum<<endl;
		}
		cout<<"请您付款(输入付款金额)"<<endl;
		cin>>money;
		sum1=money-sum;
		cout<<"找零:"<<sum1<<endl;
	}
}; 
class basepay //: public mfc基本套餐结算和找零
{
public:
	void paymoney1(int m)
	{
		float price,sum=0.0,sum1,money;
		int j;
		while(m>0&&m<4)
		{
			switch(m)
			{
			case 1:cout<<"麦香鸡超值套餐:麦香鸡+薯条+可乐(单价:20.00/份)";price=20.00;break;
			case 2:cout<<"鸡腿汉堡超值套餐:鸡腿汉堡+薯条+可乐(单价:18.00/份)";price=18.00;break;
			case 3:cout<<"麦辣鸡翅超值套餐:麦辣鸡翅+可乐(单价:11.00/份)";price=11.00;break;
			}
			sum+=price;
			cout<<"如果您想继续点,请在1到3选择。否则,按1以下或3以上数字"<<endl;
			cin>>m;
		}
		cout<<"如果您没有优惠券请选择1,有优惠券请选择2"<<endl;
		cin>>j;
		switch(j)
		{
		case 1:cout<<"您本次消费的总费用为:"<<sum<<endl;
		case 2:sum=sum*0.9;cout<<"您本次消费的总费用为:"<<sum<<endl;
		}
		cout<<"请您付款(输入付款金额)"<<endl;
		cin>>money;
		sum1=money-sum;
		cout<<"找零:"<<sum1<<endl;
	}
};
void main()
{
	kfc kfc1;
	commonpay commonpay1;
	basepay basepay1;
	int y,n,k;
	kfc1.display ();
	cout<<"请您选择1(正常餐品)或2(套餐)"<<endl;
	cin>>k;
	switch(k)
	{
	case 1:cout<<"请输入您要点的食品编号(1到11选择餐品)"<<endl;
		cin>>y;
		commonpay1.paymoney (y);
		break;
	case 2:cout<<"请输入您所需要的套餐编号(1到3选择餐品)"<<endl;
		cin>>n;
		basepay1.paymoney1(n);
		break;
	}
}

调试截屏:

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值