C的++项目实训指导书.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C的项目实训指导书

《》实训指导书 项目一 饮料自动贩卖机模拟程序 一、项目需求 1.项目描述 本项目模拟饮料自动售卖机的销售过程。顾客首先进行投币,机器显示投币金额。接下来顾客选择要购买的饮料,如果投币金额足够并且所购饮料存在,则提示用户在出口处取走饮料,同时找零。如果投币金额不足,显示提示信息。如果所购饮料已经售完,显示售完信息。 2.效果图 图1-1 饮料自动贩卖机项目效果图 3.功能说明 (1)只接受10元、5元、2元、1元和0.5元的纸币和硬币。 (2)顾客一次只能投入上述一种金额的纸币或硬币,当用户重复投入时货币金额累加。 (3)销售的饮料包括5种:可口可乐(2元)、百事可乐(2元)、橙汁(3元)、咖啡(5元)、纯净水(1.5元)。 (4)系统通过必要的提示信息,提示用户完成相应的操作。 (5)若顾客所购买的饮料已经售完,则进行提示并询问用户是否购买其它的饮料。 (6)完成一次售卖后,系统自动进行结算找零。? 二、项目分析 根据系统功能要求,首先设计处理钱币的类和商品信息类。处理钱币的类主要完成与钱币相关的工作,如给顾客找零等过程。商品信息类主要用来处理与商品相关的工作,如获得商品信息等操作。 还需要设计一个自动贩卖机类来实现饮料的售卖过程。在这个类里面,将钱币类和商品信息类作为其数据成员。同时定义了包含5个GoodsInfo对象的数组,负责保存饮料的三个信息:名称、价格和库存量,并且可以反馈这些信息。 项目需要用到类与类之间的一种关系:has-a 拥有关系,has-a关系是指一个对象包含另一个对象,即一个对象是另一个对象的成员。 三、项目设计 1.类的设计 根据上述的设计思想,设计了“MoneyCounter类”、“GoodsInfo 类”和“DrinkMachine类”3个类。 (1) MoneyCounter类的设计 图1-2 MoneyCounter类图 数据成员 float input_money; 用于记录顾客投币金额 函数成员 MoneyCounter(); 构造函数,初始化顾客投币金额为0.00 ~MoneyCounter() {} ??????? 析构函数 void getmoney(); ?????? ? 提示顾客投币 float money_from_buyer(); ?????? 返回投币金额 void clear();??? ??????? 清空,准备下一轮投币 void return_money(float); 返回找的零钱 (2)GoodsInfo 类的设计 图1-3 GoodsInfo类图 数据成员 string name ; 用于记录饮料名称 float price; 用于记录饮料的单价 int? total; 用于记录饮料的总库存数 函数成员 GoodsInfo(); 构造函数,初始化饮料信息 ?~GoodsInfo() {} ?????? 析构函数 void set_goods(string, float, int);??? ??????? 设置每种饮料的属性:名称,价格,数量 string goods_name();???????返回饮料的名称 float goods_price();??????? 返回饮料的价格 int goods_number(); 返回饮料的数量 (3)DrinkMachine类的设计 图1-4 DrinkMachine类图 数据成员 MoneyCounter moneyctr;??????? 定义MoneyCounter的对象,实现投币、找零等功能? GoodsInfo v_goods[5]; 定义GoodsInfo的对象,实现商品信息的维护,此处设计了5种饮料,详见该类的实现 函数成员 DrinkMachine();??????? 构造函数,初始化自动售货机中的商品信息 ~DrinkMachine()??????? 析构函数 void showchoices();? 显示饮料选择信息 void inputmoney();? 获取顾客投入钱币 bool goodsitem(int); 检查饮料状况 void return_allmoney();??? 返回钱数 2.主程序设计 在主函数中,首先定义了一个DrinkMachine类(自动售货机类)的对象dri,并未显式地定义MoneyCounter类和GoodsInfo类的对象。但是在DrinkMachine类中含有MoneyCounter类和GoodsInfo类的数据成员。 其次设计一个两重循环,外循环的持续条件是顾客继续购买,内循环的持续条件是顾客继

文档评论(0)

liwenhua00 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档