点餐系统

一、题目说明
同学们应该都去麦当劳或肯德基吃过快餐吧?请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统,合理使用C++或Java或Python结合设计模式(2种以上)至少实现系统的以下功能:
1.正常餐品结算和找零。
2.基本套餐结算和找零。
3.使用优惠劵购买餐品结算和找零。
4.可在一定时间段参与店内活动(自行设计或参考官网信息)。
5.模拟打印小票的功能(写到文件中)。
二、基本要求
1.程序设计风格良好,控制台界面友好,最多两人一组完成任务。
2.实现功能测试代码,确保程序的健壮性。
3.画出使用的设计模式图。
三、提高要求
1.实现可视化界面(使用MFC)。
2.实现会员储值卡功能,完成储值卡消费。
3.实现当天营业额和餐品销量计算和统计,用数据库记录。
四、设计模式图
在这里插入图片描述

五、实验代码

package 点餐系统;

public abstract class Simplefood implements Food{
public String kind;
public float price;
public int num;
public float totalprice( int num)
{return this.num*this.price;}
public String printmessage() {
	return ("**"+this.kind+"\t单价:"+this.price+"\t数量:"+this.num+"\t合计:"+this.totalprice(num));
}
}


 package 点餐系统;

public class Hamburg extends Simplefood{
	
	public void show(int num) {
		this.kind ="鸡腿堡";
		this.price=(float) 9.9;
		this.num=num;
	}
	}

其余类都以Hamburg为例继承Simplefood

private void menu() {
		
		try {

			System.out.print("欢迎使用KFC点餐系统~ ");

			

			SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式

			System.out.println(df.format(new Date()));// new Date()为获取当前系统时间

			

			System.out.println("Good news: 12:00~14:00就餐8折优惠");

			

			printmessage();//调用定义在Food类中的显示函数用于显示出菜单信息

			System.out.println("1.正常购买\n2.套餐购买");

			Scanner sc2= new Scanner(System.in);

			int order=sc2.nextInt();

			if(order==1) {

				showsingleFoods();

			}

			if(order==2) {

				showsetMeal();

			}

			//sc2.close();

		}catch(InputMismatchException e) {

			System.out.println("输入异常,请正确输入");
		}

	}

}

六、运行截图与结果
在这里插入图片描述
调试:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
六、实现总结
此次只简单的完成了基本要求,其中还参考了别人的代码,其实对所学的几种设计模式还不是太熟悉,只是明白了大概所以还需要练习。
参考博客:https://blog.csdn.net/qq_18372191/article/details/83476176

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值