赞
踩
题目要求:
同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能:
1.正常餐品结算和找零。
2.基本套餐结算和找零。
3.使用优惠劵购买餐品结算和找零。
4.可在一定时间段参与店内活动(自行设计或参考官网信息)。
5.模拟打印小票的功能(写到文件中)。
基本要求:
1.程序设计风格良好,控制台界面友好,最多两人一组完成任务。
2.实现功能测试代码,确保程序的健壮性。
3.画出使用的设计模式图。
提高要求:
1.实现可视化界面(使用MFC)。
2.实现会员储值卡功能,完成储值卡消费。
3.实现当天营业额和餐品销量计算和统计,用数据库记录。
算法思路:
抽象实物基类:
食物接口:
饮品类:
汉堡类:
鸡肉类:
套餐类:
抽象工厂:
具体工厂:
工厂模式类图:
策略模式类图:
调试测试截图
调试截图:
点餐是否继续:
点餐价格:
对应选择相应的支付选择:
在对应支付方式下的应付价格:
最后根据实付结果进行找零,并生成小票:
测试截图:
正常支付:
优惠卷支付:
参与打折活动:
文件打印小票展示:
总结:
在此次作业中,使用了两个设计模式,一个是工厂模式,用于餐品点餐方面;一个是策略模式,用于餐品的支付时的选择;
在点餐时,使用工厂模式,包含一个抽象食物类和食物接口,工厂方面有一个抽象工厂和具体工厂用于具体产品的生产
通过使用设计模式进行相关的功能实现时,对设计模式将产品的生产时的方便有所体会,比如要生产一个汉堡类产品,只需要生成一个相关的汉堡对象,调用工厂中的相关函数就可以完成汉堡的生产。
在这次作业过程中对于相应的模式运用和理解有所加强,但使用起来还不是特别上手,还需更加深刻的理解与运用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。