下载此文档

饮料自动售货机系统。.doc


文档分类:通信/电子 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
面向对象程序设计课外实践报告
项目名称:
所在班级:
小组成员:
指导教师:
起止时间:
目录
项目基本信息 2
一、问题描述及分析: 3
二、功能模块及结构描述: 3
功能模块: 3
结构描述: 3
三、主要流程描述: 4
流程图: 4
四、使用说明: 5
五、问题及解决方法 8
问题1: 8
解决方法: 8
问题2: 8
解决方法: 8
六、课外实践总结: 9
七、源代码: 9
参考文献 20
项目基本信息
项目名称
设计一个排课程序
项目简介

设计饮料自动售货机系统模拟自动售货机的销售过程。首先由顾客投币。接下来顾客选择要购买的饮料,如果投币金额足够并且所购饮料存在,则提示用户在出口处取出饮料,同时找零钱。如果投币金额不足,则显示信息“金额不足”,如果所购饮料已经售完,显示售完信息“对不起,饮料已经卖完”。

⑴只接受10元、5元、2元、;
(2)顾客一次只能投入一种上述的纸币或者是硬币,当用户重复的进行投币时金额累加。
(3)销售的饮料包括5种:可口可乐(2元),百事可乐(2元)、橙汁(3元)、咖啡(5元)、纯净水();
(4)系统通过必要的提示信息,提示用户完成相应的操作。
(5)如果顾客所购买饮料已经售完,则提示用户是否要购买其他的饮料。
(6)完成第一次售货后,系统自动进行结算找零。
(7) 实现一次购买多种商品的功能。

小组成员

任务分工
xxx:钱币类的实现,程序的调试,程序的代码框架,部分其它类中函数实现的协助
xxx:商品信息类的实现,图片的制作,部分其它类中函数实现的协助
xxx:自动售货机类的实现,资料的查找,部分其它类中函数实现的协助
一、问题描述及分析:
首先提示用户投币,然后用户选择要购买的饮料,先检查钱数是否足够,如果不够就提示用户“余额不足”,并且提示用户是否继续投币然后购买,如果是就继续执行购买操作,否则退出程序,且提示用户取回自己的钱;如果钱数足够,再判断所购饮料是否存在,如果存在就结算钱数,然后询问用户是否还要购买其它饮料,如果所购饮料不存在就给出售完信息“对不起,该饮料已经售完”,询问顾客是否选择其它饮料,如果是就继续执行购买操作,否则退出程序。
二、功能模块及结构描述:
功能模块:
实现钱的各种处理
实现商品的各种处理
实现自动售货机的各种处理
判断输入的是否为钱,是否为购买饮料的操作,是否为再次购买,是否为一次购买多种商品
结构描述:
class Money(钱币类)
{
钱的找零
钱的累加
钱的重置
获取钱数
}
2. class Product(商品信息类)
{
获取产品的名称
获取产品的数量
更改产品的数量
判断产品是否还有剩余
}
3. class Machine(自动售货机类)
{
继承钱币类和商品信息类
重新定义商品信息类和钱币类的虚函数
给出必要的机器提示信息
}
三、主要流程描述:
流程图:
如果钱数够而且所购饮料还有就提示用户取回饮料,并且询问否继续购买。
如果继续购买就冲顾客选择购买饮料处重新开始,否则退出系统
顾客投币后选择要购买的饮料
提醒顾客投币
如果钱数够但是所购饮料不在,就询问是否购买其它饮料
如果钱数不够就提示用户“金额不足”,并且询问是否继续投币然后购买
图1 系统的操作流程图
Money::Change()
n=?
money<
Machine::Change()
Product::Surplus()?
BuyMore()
OK?
BuyAgain()
Product::GetProductName()
退出
<2?
<2?
<3?
<5?
Y
Y Y Y Y
N N N N N
Y
N
Y
N
图2 主要算法“结算找零”的操作流程图
Money::Change()
n=?
money<
Machine::Change()
Product::Surplus()?
BuyMore()
OK?
BuyAgain()
Product::GetProductName()
退出
<2?
<2?
<3?
<5?
四、使用说明:
程序运行后,进入界面:
图3 系统进入界面
图4 没有投币就选择购买时提示“金额不足”
图5 完成多次购买,并退出
图6 第一次操作完成,进行第二次操作
图7 所购饮料已经卖完,提示用户购买其它饮料
在如上所示的界面下,根据提示进行基本的操作。
五、问题及解决方法
问题

饮料自动售货机系统。 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
最近更新