饮料自动售货机系统程序.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象程序设计课外实践报告 项 目 名 称: 所 在 班 级: 小 组 成 员: 指 导 教 师: 起 止 时 间: 目 录 项目基本信息 2 一、问题描述及分析: 3 二、功能模块及结构描述: 3 功能模块: 3 结构描述: 3 三、主要流程描述: 4 流程图: 4 四、使用说明: 5 五、问题及解决方法 8 问题1: 8 解决方法: 8 问题2: 8 解决方法: 8 六、课外实践总结: 9 七、源代码: 9 参 考 文 献 20 项目基本信息 项目名称 设计一个排课程序 项目简介 1.问题描述 设计饮料自动售货机系统模拟自动售货机的销售过程。首先由顾客投币。接下来顾客选择要购买的饮料,如果投币金额足够并且所购饮料存在,则提示用户在出口处取出饮料,同时找零钱。如果投币金额不足,则显示信息“金额不足”,如果所购饮料已经售完,显示售完信息“对不起,饮料已经卖完”。 2.基本要求 ⑴只接受10元、5元、2元、1元和0.5元的硬币; (2)顾客一次只能投入一种上述的纸币或者是硬币,当用户重复的进行投币时金额累加。 (3)销售的饮料包括5种:可口可乐(2元),百事可乐(2元)、橙汁(3元)、咖啡(5元)、纯净水(1.5元); (4)系统通过必要的提示信息,提示用户完成相应的操作。 (5)如果顾客所购买饮料已经售完,则提示用户是否要购买其他的饮料。 (6)完成第一次售货后,系统自动进行结算找零。 (7) 实现一次购买多种商品的功能。 3.测试数据 小组成员 任务分工 xxx:钱币类的实现,程序的调试,程序的代码框架,部分其它类中函数实现的协助 xxx:商品信息类的实现,图片的制作,部分其它类中函数实现的协助 xxx:自动售货机类的实现,资料的查找,部分其它类中函数实现的协助 一、问题描述及分析: 首先提示用户投币,然后用户选择要购买的饮料,先检查钱数是否足够,如果不够就提示用户“余额不足”,并且提示用户是否继续投币然后购买,如果是就继续执行购买操作,否则退出程序,且提示用户取回自己的钱;如果钱数足够,再判断所购饮料是否存在,如果存在就结算钱数,然后询问用户是否还要购买其它饮料,如果所购饮料不存在就给出售完信息“对不起,该饮料已经售完”,询问顾客是否选择其它饮料,如果是就继续执行购买操作,否则退出程序。 二、功能模块及结构描述: 功能模块: 实现钱的各种处理 实现商品的各种处理 实现自动售货机的各种处理 判断输入的是否为钱,是否为购买饮料的操作,是否为再次购买,是否为一次购买多种商品 结构描述: class Money(钱币类) { 钱的找零 钱的累加 钱的重置 获取钱数 } 2. class Product(商品信息类) { 获取产品的名称 获取产品的数量 更改产品的数量 判断产品是否还有剩余 } 3. class Machine(自动售货机类) { 继承钱币类和商品信息类 重新定义商品信息类和钱币类的虚函数 给出必要的机器提示信息 } 三、主要流程描述: 流程图: 图1 系统的操作流程图 Y Y Y Y Y N N N N N Y N Y N 图2 主要算法“结算找零”的操作流程图 四、使用说明: 程序运行后,进入界面: 图3 系统进入界面 图4 没有投币就选择购买时提示“金额不足” 图5 完成多次购买,并退出 图6 第一次操作完成,进行第二次操作 图7 所购饮料已经卖完,提示用户购买其它饮料 在如上所示的界面下,根据提示进行基本的操作。 五、问题及解决方法 问题1:解决方法:问题2:解决方法:#ifndef MARKET_H_H #define MARKET_H_H #include <string> #include <iostream> using namespace std; extern bool isAgain; extern bool isMore; class Machine; class Money { public: Money(){} Money(double p); virtual void Change(int m,Machine *info); void PutMoney(double n); double GetMoney(); void WarnPrompt(); void CurrentMoney(); void Reset(); private: double money; }; c

文档评论(0)

金不换 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档