肯德基收银

1.实验目的

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

2.题目描述

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

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

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

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

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

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

3.需求分析

基本要求:

1.程序设计风格良好,控制台界面友好,最多两人一组完成任务。

2.实现功能测试代码,确保程序的健壮性。

3.画出使用的设计模式图。

提高要求:

1.实现可视化界面(使用MFC)。

2.实现会员储值卡功能,完成储值卡消费。

3.实现当天营业额和餐品销量计算和统计,用数据库记录。

4.设计模式

4.1模式定义

抽象工厂模式提供了一个接口,用于创建相关或者依赖对象的家族,而不需要指定具体实现类。

抽象工厂模式允许客户使用抽象接口来创建一组相关的产品,客户类和工厂类分开,客户需要任何产品的时候,只需要向工厂请求即可,客户无须修改就可以获得新产品。

4.2 模式举例

本次设计使用到了工厂模式、抽象工厂模式和策略模式。

4.2.1模式分析

我们借用客户到肯德基店里进行消费这一场景来说明模式,进行抽象分析。

肯德基收银

 

4.2.2抽象工厂模式的静态建模

肯德基收银

4.3代码示例  

1.本项目所有所需包

   肯德基收银

2.包中具体类——工厂基类

肯德基收银

3包中具体类——食物基类

肯德基收银

4.包中具体类——食物实现类

肯德基收银

5.包中具体类——顾客

肯德基收银

6.主函数类

肯德基收银

 

5.调试及测试  

5.1调试界面

肯德基收银

 

肯德基收银

5.2测试界面

肯德基收银