c++程序设计课程设计。
题目: 饮料零售机。
学院 专业
年级 学号
姓名 饮料零售机。
正文宋体,小四,行距固定值20磅,页边距2.5厘米)
一、设计要求(功能设计,设计思想、总体设计、文件及函数的组成)
1、功能设计。
找几个硬币,到餐馆或商场观察一下饮料零售机,你正执行一项重要的任务,站在旁边观察几分钟,观察一下顾客在零售机上购买饮料的行为。一位顾客投币,机器报告投币总额,顾客选择要买饮料的按键。如果顾客投币数量足够并且所选饮料存在,则顾客买的那罐饮料会被放在出口处,同时找回零钱。
如果顾客投币数量不足,则什么也不会发生,如果买的饮料已售完,就会给**完的信息。
2、设计思想。
利用面向对象的程序设计,可以对这个零售机建模,先考察一下用户与程序交互的过程。
欢迎使用饮料零售机!
情投入硬币!
用户输入了硬币面值,一次输入一个。此过程用一个while循环来完成。假设用户输入了4个25美分的硬币,程序输出如下信息:
你输入了$1.00
输入商品号码(**)
1 coke ($1.00)
2 pepsi ($1.00)
3 brandx cola($0.80)
4 blue sky cola($1.25)
5 jolt ($2.50)
6 退款并退出程序。
现在用户可以进行选择了,有几种情况,如果用户选择了pepsi,程序显示:
你选择了pepsi
祝你快乐!再见!
如果用户输入了$1.00并选择了brandx cola,程序输出如下信息:
你选择了brandx cola
找钱:0.20
祝你快乐!再见!
第3种情况是所选商品售价高于用户输入的钱数。假设用户输入了1.00,选择的是blue sky cola:
钱不够。选择其他饮料吗?y=yes;
这次用户输入的钱不够,程序输出相关信息并询问用户是否选择其他饮料。如果回答是肯定的,程序就会进入输入钱的循环。如果用户不想进行其他选择,程序就会退款。
另一种考虑的情况是用户选择的商品已售完,下面演示了jolt售完的情况:
已售完。选择其他饮料吗?y=yes;
最后一种考虑的情况是如果用户不买,退款就可以了。
找钱1.00
祝你快乐!再见!
3、总体设计。
设计一个零售机类用来实现用户和零售机之间的交互操作,设计一个货币交易类用来实现关于钱的操作,设计一个类用来负责饮料的相关操作。
4、文件及函数的组成。
工程名:饮料零售机。
a、 零售机类 vendingmachine
功能:实现用户和零售机之间的交互操作。
参数:money bank;
dispenser d[5];
返回值:void;
工作方式:通过和其他两个类的协调工作实现;
b、 货币交易类 moneyctr
功能:实现找钱等和钱有关的操作;
参数:输入的钱数input_amount;
返回值:void;
工作方式:通过功能函数的调用实现相关操作。
c、 饮料交易类dispenser
功能:实现饮料的交易操作。
参数:string beverang;
float cost;
int total;
返回值:void
工作方式:通过功能函数的调用实现相关操作。
d、 主函数main
功能:控制程序。
参数:void
返回值:void
要求:管理菜单命令并完成初始化
二、参考程序。
零售机类。h
# include"饮料交易。h"
# include"货币交易。h"
class vendingmachine
private:
moneyctr bank;
dispenser d[5];
public:
vendingmachine();
void showchoices();
void insertmoney()
bool dispenseitem(int selection);
void returnallmoneyandexit();
货币交易。h
class moneyctr
private:
float input_amount;
public:
moneyctr构造函数。
void getmoney投币。
float howmuchdoweh**e当前所拥有的钱数。
void clear()
void returnmoney(float);
饮料交易。h
class dispenser
private:
char bererage;
float cost;
int total;
public:
dispenser()
void setstock(char n,float c,int t);
float howmuchdoicost()
void whatami()
void letemh**eit();
int checkstock()
# include""
# include""
# include"零售机类。h"
# include"货币交易。h"
# include"饮料交易。h"
int main()
vendingmachine cola;
char answer[5],selectbuf[5];
int selection;
bool gimme_cash=true,got_it,go_again;
cout<<"n欢迎使用饮料零售机";
do显示菜单。
selection=atoi(selectbuf);
if(selection==5)
else}while(go_again==true);
cout<<"n谢谢使用欢迎下次使用!再见 ";
return 0;
零售机。cpp
# include""
# include"零售机类。h"
# include"货币交易。h"
# include"饮料交易。h"
vendingmachine::vendingmachine()
d[0].setstock("coke",1.00,25);
d[1].setstock("pepsi",1.00,25);
d[2].setstock("brandx cola",0.80,25);
d[3].setstock("blue sky cola",1.25,25);
d[4].setstock(""2.50,0);
void vendingmachine::showchoices()
int i;
cout<<"n你输入了$"<
cout<<"n输入饮料号码(**)";
for(i=0;i<5;i++)
cout<<"n 5 退款并退出程序!";
bool vendingmachine::dispenitem(int selection)
int instock;
instock=d[selection].checkstock();
if(instock>0)else
else货币。cpp
# include""
C 课程设计
自动走迷宫小游戏。根据课堂讲授内容,做相应的自主练习,消化课堂所讲解的内容 通过调试典型例题或习题积累调试c 程序的经验 通过完成辅导教材中的编程题,逐渐培养学生的编程能力 用计算机解决实际问题的能力。同时在设计的过程中发现自己的不足之处,对以前所学过的知识理解的更加深刻,掌握得更加牢固。迷宫生成。...
c 课程设计
哈尔滨 课程设计报告。课程 c 学号 姓名 班级 教师 1.管理系统的功能说明。课程信息管理 能够增加数据,删除数据,显示数据,修改数据,按姓名和首字母查询数据和一些基本的程序功能。2.存储数据的描述。coursenumber 课程号coursename 课程名subject 所属专业xingzhi...
C课程设计
面向对象程序设计课程设计。一 设计要求。1 课程设计以3 4人为一组,每人一个模块 2 课程设计时间为1周 在处理系统的时候,要从分析系统的需求入手,根据系统需求进行详细分析,明确系统功能,然后设计系统整体架构以及划分系统模块,按照模块分配小组中每个组员的具体任务,完成设计。二 系统设计规范。1 命...