当前位置:文档之家› 自动售货机C++

自动售货机C++

自动售货机C++
自动售货机C++

一、程序名称:自动售货机

二、程序功能:将程序中的数组输出,并分别按从大到小和从小到大的顺序输出,在输出4.4

三、程序设计及实现。

1、主函数:main()实现程序的主界面

2、public公有成员、private私有成员

3、数据设置为string字符串类型、float单精度类型、int整形

4、输出:cout<< <<用来输出显示的内容

5、选择语句:switch() case1:

6、实现简单的界面设计,类的成员变量,调用函数,循环,if语句可操作销售、支付、上架、找零等功能

四、程序运行结果:

五、程序代码

//头文件

#include

#include

#include

#include

using namespace std; //命名空间

struct Drink{

Drink(float pr, string n);

string name; //字符串类型

float price; //单精度

int account; //整形

};

class Vending{

public:

Vending(); //类的公有成员

inline void showStorage() const {

cout << "可乐:" << m_cola->account << endl << "奶茶:" << m_milkT->account << endl;

cout << "凉茶:" << m_T->account << endl;

}

inline void showSoldNum() const{

cout << m_cola->name << endl << "销售量:" << m_soldCola << endl;

cout << "销售额:" << m_soldCola*(m_cola->price) << endl;

cout << m_milkT->name << endl << "销售量:" << m_soldMilkTea << endl;

cout << "销售额:" << m_soldMilkTea*(m_milkT->price) << endl;

cout << m_T->name << endl << "销售量:" << m_soldTea << endl;

cout << "销售额:" << m_soldTea*(m_T->price) << endl;

}

void addStore();

void sellItem();

void popMenu();

private: //类的私有成员

Drink *m_cola, *m_milkT, *m_T;

int m_soldCola, m_soldMilkTea, m_soldTea;

};

Drink::Drink(float pr, string n)

:name(n), price(pr), account(10){} //名称、价格、库存数量

//销售界面

Vending::Vending()

:m_soldCola(0), m_soldMilkTea(0), m_soldTea(0)

{

m_cola = new Drink(float(2.8), "可乐");

m_milkT = new Drink(float(3.0), "奶茶");

m_T = new Drink(float(3.5), "凉茶");

}

//上架界面

void Vending::addStore(){

cout << "请选择要上架的商品:\n1.可乐\n2.奶茶\n3.凉茶\n";

int n, count;

cin >> n;

if(n > 3){

cout << "选择错误" << endl;

return;

}

cout << "请输入要上架的数量:";

cin >> count;

if(n == 1)

m_cola->account += count;

else if(n == 2)

m_milkT->account += count;

else if(n == 3)

m_T->account += count;

else{

cout << "操作失败" << endl;

return;

}

cout << "操作完成" << endl;

}

//销售界面

void Vending::sellItem(){

cout << "1." << m_cola->name << ":" << endl;

cout << "价格:" << m_cola->price << ends << "库存:" << m_cola->account << (m_cola->account == 0 ? "(售完)\n" : "\n");

cout << "2." << m_milkT->name << ":" << endl;

cout << "价格:" << m_milkT->price << ends << "库存:" << m_milkT->account << (m_milkT->account == 0 ? "(售完)\n" : "\n");

cout << "3." << m_T->name << ":" << endl;

cout << "价格:" << m_T->price << ends << "库存:" << m_T->account << (m_T->account == 0 ? "(售完)\n" : "\n");

cout << "请选择:";

int n = 0, num = 0;

cin >> n;

float price = 0;

int acc = 0;

if(n == 1){

price = m_cola->price;

acc = m_cola->account;

}

else if(n == 2){

price = m_milkT->price;

acc = m_milkT->account;

}

else if(n == 3){

price = m_T->price;

acc = m_T->account;

}

do

{

if(num > 0)

cout << "库存不足" << endl;

cout << "请输入数量:";

cin >> num;

}while(num > acc);

price *= num;

//支付

float pay = 0;

do

{

if(pay > 0)

cout << "支付不足" << endl;

cout << "请支付:";

cin >> pay;

}while (pay < price);

cout << "操作完成" << endl;

if(pay - price > 0)

cout << "找零:" << pay-price << endl;

if(n == 1){

m_soldCola += num;

m_cola->account -= num;

}

else if(n == 2){

m_soldMilkTea += num;

m_milkT->account -= num;

}

else if(n == 3){

m_soldTea += num;

m_T->account -= num;

}

}

void Vending::popMenu(){

const string menu1 = "========自动贩卖机========\n1.管理人员界面\n2.销售界面\n3.退出\n";

const string menu2 = "========自动贩卖机========\n1.显示库存\n2.商品上架\n3.销售查询\n";

int n;

while(true){

cout << menu1 << "请选择:";

cin >> n;

if(n == 1){

cout << "请输入密码:";

int password;

cin >> password;

if(password != 123){ //密码为123,输入不是123则现实密码错误

cout << "密码错误" << endl;

continue;

}

cout << menu2 << "请选择:";

cin >> n;

switch(n){ //选择语句

case 1:{

showStorage();

break;

}

case 2:{

addStore();

break;

}

case 3:{

showSoldNum();

break;

}

default:{

cout << "选择错误" << endl;

return;

}

}

}

else if(n == 2)

sellItem();

else if(n == 3)

exit(0);

}

}

//main() 函数的实现,程序的主界面的引导int main(){

Vending *vend = new Vending;

vend->popMenu();

return 0;

}

自动售货机控制系统的设计(最终版)

课程设计任务书 设计题目:饮料自动售货机PLC控制系统设计 学院:机械工程学院 专业:机械测控 班级: 姓名: 组员: 指导老师:

【摘要】 本文介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词:自动售货机;可编程序控制器;梯形图 Abstract:This paper introduces the basic principles of vending machines, as well as workflow, and then to a transaction process as an example, the transaction process is divided into several blo ck, and then the block were programmed. Specify the PLC in the r ole of vending machines. Procedures related to the work of the va st majority of vending machine process. PLC control of the use of vending machines enhance the stability of the system to ensure t hat vending machines capable of long-term stable operation. Key words:Vending machines; PLC; Ladder Diagram 一.PLC的概述 1.1 PLC的产生

测试用例设计自动售货机因果图分析

实验三黑盒测试(二) 一、实验目的 通过本实验,掌握因果图法生成测试用例的步骤。 二、相关内容 利用因果图生成测试用例的基本步骤如下: (1)分析软件规格说明中哪些是原因(即输入条件或输入条件的等价类),哪些是结果(即输出条件),并给每个原因和结果赋予一个标识符。 (2)分析软件规格说明中的语义,找出原因与结果之间、原因与原因之间对应的关系,根据这些关系画出因果图。 (3)由于语法或环境的限制,有些原因与原因之间、原因与结果之间的组合情况不可能出现。为表明这些特殊情况,在因果图上用一些记号表明约束或限制条件。 (4)把因果图转换为决策表。 (5)根据决策表中的每一列设计测试用例。 三、实验内容 有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下〖橙汁〗或〖啤酒〗的按钮,则相应的饮料就送出来。若售货机没有零钱找,则一个显示〖零钱找完〗的红灯亮,这时在投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示〖零钱找完〗的红灯灭,在送出饮料的同时退还5角硬币。 编写程序实现之,然后用因果图法对自动售货机设计测试用例并测试之。 要求: 1、编写程序,实现上述自动售货过程。(任选一种自己熟悉的语言,有无界面均可,实现相应的功能即可。) 2、用因果图法设计测试用例。 (1)正确画出因果图。(2)画出决策表。(3)给出测试用例。 提示:可按如下步骤进行: 1)分析这一段说明,列出原因和结果。 2)画出因果图。(所有原因结点列在左边,所有结果点列在右边。可以考虑建立中间结点,表示处理的中间状态。比如,可设如下几种中间状态:该找5角,可找5角,按下按钮、钱已付清) 3)画出决策表。 4)给出测试用例。 四、实验报告 实验报告提交内容:源程序清单、因果图、决策表。(测试用例有时间就设计,没有时间可以不设计) 一,因果图; 因果图-画条件和结果

自动售货机控制系统设计

综合课程设计报告书 自动售货机控制系统设计 题目: 学院:机械与电气工程学院 专业:电气工程及其自动化 班级:13级2班 姓名:付少官 学号: 指导教师:崔茂齐 教师职称:讲师 2016年6月29日

机械与电气工程学院综合课程设计任务书 专业:电气工程及其自动化班级:2013-2 姓名:付少官 自动售货机控制系统设计 (1) 摘要 (1)

Abstrct (1) 1、绪论 (1) 2、自动售货控制系统设计总体方案 (2) 元器件选择 (2) 开发工具 (2) 3、自动售货控制系统硬件设计 (3) 硬件总体框图 (3) AT89C51单片机模块(介绍本次设计所到的功能) (3) (3) (4) 本次所应用的管脚说明 (4) 单片机驱动模块 (5) 选择按键模块 (5) (6) (6) 系统显示模块 (6) 数码管显示器 (6) 显示器的驱动电路 (7) 出货以及退币模块 (8) 4、自动售货控制系统软件设计 (8) 系统流程图 (8) 元器件计算 (9) 5、系统总电路图及调试仿真 (10) 总电路图 (10) 系统调试 (11) 系统仿真 (11) 总结及致谢 (14) 参考文献 (15) 附录 (16) 附录1、元件清单 (16) 附录2、源程序 (16) 附录3、自动售货机控制系统protel99se原理图 (23)

自动售货机控制系统设计 付少官 摘要本文详细介绍了自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。该系统以单片机AT89C51芯片为核心,采用集中控制方式实现了对自动售货机全过程的自动控制。本系统选择独立式键盘按键作为货物选择端,实现了投币总数的显示功能。此外,系统程序采用keil软件进行程序的编写和编译,该软件具有编程简单、查错方便、阅读容易等特点。汇编语言是程序的基本语言,具有容易理解,便于记忆和使用等特点。 关键词:自动售货机,AT89C51,LCD显示 Abstrct T his paper describes a vending machine system design, hardware selection, software planning and preparation, and describes the focus of the work vending machine system theory, system design, software programming principles and techniques. AT89C51in the system as the core chip, the realization of a centralized control of the vending machine's automatic control the entire process. Choice of the system as a stand-alone keyboard keys to choose the goods side, the realization of the coin shows the total number of features. In addition, the system program using keil software to prepare and compile procedures, the software programming is simple, convenient error checking, easy to read and so on. Assembly language is the basic language program with easy to understand, easy to remember and use and so on. Key words:Vending Machines,AT89C51,LED Display 1、绪论 自动售货机是一种全新的商业零售形式,从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。 随着科技的发展及人们生活水平的提高,自动售货机市场越来越呈现出多元化及个性化的需求。人们通过自动售货机自助购物,这种简单、快捷的方式正逐渐成为市民的一种新的消费时尚,并且满足了人们在当今科技高速发展的现代社会追求高品质生活的需要。自动售货机在城市商业区、写字楼大厅、风景区、车站、码头、繁华街道等公共场所的布设能够美化城市环境,方便群众生活,它已经成为城市各角落的一道亮丽风景线。 自动售货机必将在国内普及,并成为城市现代文明程度的一种象征性标志。本文详细介绍了如何控制、要求进行自动售货机系统的方案设计、硬件选择、软件规划和编写,并重点描述了自动售货机系统的工作原理、系统设计、软件编程的原则和技巧。

自动售货机控制系统的设计

课程设计题目:自动售货机控制系统的设计 目的与任务: (1)进一步掌握MAX+PLUSⅡ软件的使用方法; (2)会使用VHDL语言设计小型数字电路系统; (3)掌握应用MAX+PLUSⅡ软件设计电路的流程; (4)掌握自动售货机的设计方法; (5)会使用GW48实验系统。 内容和要求: 设计一个简易的自动售货机,它能够完成钱数处理、找零、显示、退币等功能。 (1)用3个键表示3种钱,再用3个键表示3种物品。 (2)用2个数码管显示输入的钱数,再用2个数码管显示所找的钱数,以元为单位。 (3)买东西时,先输入钱,用数码管显示钱数,再按物品键,若输入的钱数大于物品的价格,用数码管显示所找的钱数,并用发光二极管表示购买成功。 (4)若输入的钱数少于物品的价格,用数码管显示退出的钱数,并用发光二极管表示购买失败。

设计内容(原理图以及相关说明、调试过程、结果) 一、系统设计方案 根据系统要求,系统的组成框图如图1所示。 (1) 即可,改变设 (a2)控制模块是这个系统的核心模块,它具有判断按键、计算输入钱数总和、计算找零、控制显示四个作用。它的工作原理是每当时钟上升沿到来时,判断哪个按键按下,若按下的是钱数键,则将钱数保存于中间信号COIN,若下次按下的仍是钱数键,COIN的值则加上相应的值并显示于数码管;当物品键按下时,则将COIN的值与物品价格进行比较,然后控制找零。 (3)由于钱数可能大于9,所以译码显示模块的作用就是将钱数译码后用两个数码管显示,这样方便观察。 根据各个功能模块的功能并进行整合,可得到一个完整的自动售货机系统的整体组装设计原理图,如图2所示。 图2 设计原理图 二、系统主要VHDL源程序 (1)分频器的源程序(外部时钟选用3MHz,实现3万分频)

自动售货机

程序设计与实践 实验报告 实验二:自动售货机 姓名: 学号: 班级: 实验时间:2015/03/09 一:实验名称:自动售货机 二:实验环境: 一台安装有VC6.0程序的电脑。

三:实验目的 (1)培养和锻炼对具有一定复杂度和规模的问题的分析与求解能力。 (2)掌握程序设计的综合方法,能综合应用各种数据类型实现较复杂数据的存储。 (3)培养良好的C程序设计风格与代码规范意识。 四:实验内容: 下图所示为简易自动售货机,物品架1、2上共有10样商品,按顺序进行编号分别为1~10,标有价格与名称,一个编号对应一个可操作按钮,供选择商品使用。如果物品架上的商品被用户买走,储物柜中会自动取出商品送到物品架上,保证物品架上一定会有商品。用户可以一次投入较多钱币,并可以选择多样商品,售货机可以一次性将商品输出并找零钱。 用户购买商品的操作方法如下。 (1)从“钱币入口”放入钱币,依次放入多个硬币或纸币。钱币可支持1元(纸币、硬币)、2元(纸币)、5元(纸币)、10元(纸币),放入钱币时,控制器会先对钱币进行检验以识别出币值,并统计币值总额,显示在控制器显示屏中,提示用户确认钱币放入完毕。 (2)用户确认钱币放入完毕,便可选择商品,只要用手指按对应商品外面的编号按钮即可。每选中一样商品,售货机控制器会判断钱币是否足够购买,如果钱币足够,自动根据编号将物品进行计数和计算所需钱币值; 如果钱币不足,则结束购物。

请为自动售货机编程,输入钱币值序列,以-1作为结束,依次输入多个购买商品编号,若编号超出范围或余额不足则输入结束,输出钱币总额与找回零钱,以及所购买商品名称及数量。

自动售货机后台管理系统说明书版本TCNVMMS318一系统功能

自动售货机后台管理系统说明书 版本:TCN VMMS 3.18 一系统功能说明 运营监控、历史记录、系统设置、货机管理、商品管理、报表统计、系统日志 1、运营监控包括:状态监控和销售监控 ○1状态监控显示机器状态,可选择机器组和机器组合查询(如果没有选择机器组,默认查 询当前用户下所有的机器。如果选择了机器组没有选择机器号,查询的是该组下的机器。) ○2销售监控默认显示当天的销售数据,如要查看明细先选中要查询查看机器记录呈蓝色, 然后单击【查询明细】,交易流水显示出货的流水记录,单击每一条出货记录,在右边会显示该笔记录的收、退币信息。 2、历史记录包括:销售明细、出货记录、钱币记录、刷卡记录、报警 ○1销售明细与运营监控和销售监控相似,多了时间段选择。 ○2出货记录需要指定机器查询

○3钱币记录需要指定机器查询 ○4刷卡记录需要指定机器查询 ○5报警需要指定机器查询 3、系统设置包括:角色管理和用户管理 ○1角色管理不同的角色可分配不同的权限,选中要授权的角色单击【授权】,打勾的是该角色拥有的功能。

○2用户管理新增、修改、删除用户,设置用户角色、是否启用。

4、货机管理包括:机器组设置、机器管理、货道管理 ○1机器组设置新增、修改删除机器组,实现机器的分组管理。例如:客户购买了100台机器可分多个组管理。 ○2机器管理可看到当前用户下的所有机器,点击某一行记录或弹出编辑对话框,设置机器的别名、部署地址,选择机器组名。

○3货道管理需要指定机器,点击查询会显示机器的所有货道号,双击某个道会出现对话框,可选择更改货道商品 5、商品管理包括:厂商类型、商品类型、厂商管理、商品信息 ○1在新增商品信息前需要把厂商类型、商品类型、厂商信息录入。

电子商务系统分析与设计课程设计实验报告

江苏科技大学电子商务系统分析与设计课程设计网上书城系统的开发 学生姓名张颖 学号0840412117 班级08404121 指导老师 成绩 经济管理学院信息管理系 2012年1月8日

目录 一.系统规划 (2) 1.1明确用户需求 (3) 1.2初步调查 (3) 1.3确定电子商务模式和模型 (4) 1.4可行性分析和可行性分析报告 (4) 二.系统分析 (5) 2.1系统调查 (5) 2.2需求规格说明书 (5) 2.2.1 引言 (5) 2.2.2项目概述 (6) 2.2.3需求规定 (6) 2.2.4环境要求 (10) 2.3组织结构分析 (10) 2.4业务流程分析 (11) 2.5数据流程分析 (13) 三.系统设计 (14) 3.1系统总体结构 (14) 3.2网络基本结构 (15) 3.3系统平台选择 (16) 3.4应用系统方案 (16) 3.4.1各功能模块简要描述 (16) 3.4.4数据库设计 (18) 3.4.5用户界面设计 (23) 3.5实施方案 (24) 3.5.1客户端要求 (24) 3.5.2服务器端要求 (24) 3.5.3系统测试 (24) 四.支付系统设计 (28) 4.1支付协议选择 (28) 4.2支付系统数据流程分析 (29) 4.3支付系统安全需求分析 (29) 4.4支付系统总体设计 (30) 4.5支付系统功能 (32) 4.6交易流程设计 (33) 4.7支付系统安全设计 (34) 五.心得体会 (34) 一.系统规划

1.1明确用户需求 随着当今社会新系统大度的提高,网络的高速发展,计算机已被广泛应用于各个领域,因而网络成为人们生活中不可或缺的一部分。互联网用户应经接受了电子商务,网购成为一种时尚潮流。 书籍交易网站就是Internet和电子商务发展的产物,近几年在我国发展迅猛,如同一些书店纷纷在各地开设分店以拉近书店与顾客间距离一样。随着科学技术得分速发展,Internet这个昔日只被少数科学家接触和使用的科研工具已经成了普通百姓都可以触及的大众型媒体传播手段。随着现金全民素质和科学技术水平的不断提高,知识更新的越来越快。人们随时都会有被淘汰的危机,为了不让社会淘汰,做到与时俱进就必须多读书不断的学习,21世纪是网络的时代、信息的时代,时间是非常宝贵的,人们由于种种原因没有时间到书店去,也不知道哪家书店有自己需要的书籍,同时那些传统书店的经营者又没什么好的方法让人们知道我这就有顾客需要的书籍,这种买卖双方之间信息交流上的阻碍成为“网上书城”网站发展的原动力。 网上书城网站的建立可以跟好的解决这方面的问题,向广大用户推出的是一种全新的网上信息服务,旨在书店与消费者之间架起了一座高速、便捷的网上信息桥梁。 1.2初步调查 截止至2010年6月底,中国网民的数量达到4.21亿人,互联网电子商务化的程度也越来越高,网络购物、网上支付和网上银行的使用率分别达到33.8%、30.5%和29.1%。而在众多的电子商务行为中,因网上购书具有较高的可信性和打折优惠,网上购书的比例逐年提高。当当网、卓越亚马逊两间网上书城更是在同类B2C网站中占据头两位。很多人看到了书这种网上销售的诸多好处:方便购买、金额小、风险小、用户容易决定;信息的完整性以及很少出现质量问题和退货现象等,无论是当当、卓越还是99读书人,网上书店的强大搜索功能帮助顾客查找图书和选择图书,与传统书店中令人无所适从的货架分类不同,网上书店通过强大的搜索引擎为用户挑书提供了最大的便利。早在2005年底,著名调查公司AC尼尔森的

《自动售货机仿真》实验报告

《自动售货机仿真》实验报告 一、问题描述 –①有一种自动售货机VM,可售三种商品:可乐(每听$0.25),咖啡(每听$0.30),餐巾纸(每包$0.05)。每种商品的示意图形下方 都有一个按钮。一台VM中最多能够容纳NC听可乐、NF听咖啡、 NT包餐巾纸。 –②顾客使用VM购买商品时,先从投币口投入硬币(共有三种硬币:$0.05;$0.10;$0.25),在投入的硬币总值达到或超过其欲购商 品之价格后,再按下对应商品的按钮,VM即从出货口自动吐出一件 商品,并从找币口找零。 –③如果顾客在其投入的硬币总值没有达到其欲购商品之价格时就按下了对应商品的按钮,或者最近一次投币30秒后既不继续投币,也 不按下商品按钮,VM均从找币口吐出与该顾客已投入的硬币总值等 值的硬币,但不吐出商品。 –④如果顾客欲购之商品已经售完,则在顾客按下该商品的按钮后,VM从找币口吐出与该顾客已投入的硬币总值等值的硬币。 –⑤当某种商品还剩NL听/包时,VM即自动发出短信,将VM的代号和缺货的商品名称通知管理人员。管理人员将在时间TM后收到短 信,再用时间TS到达VM,并使VM的所有商品存货都达到最大容 纳量,取走VM中的硬币,并留有找零的硬币:$0.05、$0.10、$0.25 分别留C5、C10、C25枚。 须仿真的活动及开发结果的行为特征 –1、开始仿真时,应随机产生VM中三种商品的存货量(不能超过其最大容纳量)和VM中三种硬币的数量(分别不小于C5、C10、C25 枚)。 –2、仿真中,应随机产生前来购物的顾客,随机产生其欲购买的商品种类,随机产生顾客的投币行为(包括③描述的行为),按问题域概 述给出的要求进行VM自动售货活动的仿真。 –3、NC、NF、NT、NL、C5、C10、C25的值应在运行仿真程序时用命令行给出,或者在开始仿真时从界面输入。 –4、实时显示各种商品的当前存货量。 –5、出现情况⑤时,应显示所发的短信内容,并随机决定TM和TS 的值。在管理人员到达VM之前,应照常进行顾客购物的仿真。管 理人员加货和取款的持续时间可忽略不计。 –6、仿真开始后,应自动记销售流水帐。该流水帐的每一行对应着一次售货,记录着所售出的商品名称和售出时间。 –7、仿真结束时,应自动产生销售报表。该报表应给出本次模拟过程中:每种商品的销售总量与价值合计;所有售出商品的价值总计;每 种商品的库存量;模拟开始、结束时各自的库存金额;管理人员每次 加货的时间、各商品加货量、取走的硬币总额。 二、程序设计过程

饮料自动售货机系统

百度文库- 让每个人平等地提升自我 南华大学 计算机科学与技术学院实验报告 (2012 ~2013学年度第2学期) 课程名称现代软件工程 实验名称饮料自动售货机系统 姓名Xx 学号Xx 班级软卓01班教师Xx 2013年5月

目录 实验目的...................................................................................................................................... - 0 -实验题目...................................................................................................................................... - 0 -饮料自动售货机系统.......................................................................................................... - 0 -实验结果...................................................................................................................................... - 0 -1.用例图.......................................................................................................................... - 0 -2.类图.............................................................................................................................. - 1 -3.时序图.......................................................................................................................... - 1 -4.活动图.......................................................................................................................... - 2 -放置货物活动图.......................................................................................................... - 3 - 计算金额活动图.......................................................................................................... - 4 - 给出饮料活动图.......................................................................................................... - 5 - 取消交易活动图.......................................................................................................... - 5 - 投掷硬币活动图.......................................................................................................... - 6 -

自动售货机控制系统的设计最终版

精品文档 课程设计任务书 PLC控制系统设计设计题目:饮料自动售货机 学院:机械工程学院 机械测控专业: 班级: 姓名: 组员: 指导老师:

精品文档 摘要】【本文介绍了自动售货机的基本原理以及工作流程,然后以一 次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。具体说明了可编程序控制器在自动售货机中的作用。程序涉及到了自动售货机工作的绝大部分过程。利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。 关键词:自动售货机;可编程序控制器;梯形图 Abstract:This paper introduces the basic principles of vending machines, as well as workflow, and then to a transaction process as an example, the transaction process is divided into several block, and then the block were programmed. Specify the PLC in the role of vending machines. Procedures related to the work of the vast majority of vending machine process. PLC control of the use of vending machines enhance the stability of the system to ensure that vending machines capable of long-term stable operation.

c语言自动售货机实验报告

课程设计 课程名称C语言高级程序设计学院xxx 小组成员1 XXX 小组成员2 XXX 小组成员3 XXX 任课教师XXX 2016——2017学年第1学期

一.所选题目与要求 自动售货机 问题情景: 分析学校教学楼自动售货机的功能,设计一个自动售货系统。 功能要求: 1.系统能提供所售商品的清单(编号,名称,单价,数量) 2.客户输入商品编号及购买数量,系统显示应付的金额,输入客户实付的钱数,系统计算应找的钱数系统如果没有足够的库存或零钱时,现实应返还客户已付的金额。(不考虑用支付宝付款的情况) 3.可增加商品种类,增加商品库存,查询商品库存,查询商品销售量及销售额。 成果要求: 通过网络教学平台中的“研究型教学”建立分组,每组2-3人,通过小组讨论,确定每人的分工,并确定系统设计方案。 各小组成员在网络教学平台上进行讨论、并完成最终的报告,整个过程作为小组及个人工作评价的重要依据。 各小组成员根据系统设计方案分模块进行编程,在系统各模块编码完成后集成调试,并最终完成整个系统的测试。 根据下面的报告模板完成综合实验总结报告,并打印成纸质报告,作为大作业课程结束时上交。 附:综合实验总结报告应包含的内容: 1. 系统功能说明 2. 程序结构 程序结构说明 重要数据说明 函数清单 /* 每个函数的书写格式 */ 函数名:所在文件名 函数功能

参数说明 算法描述或程序代码 3. 系统运行结果 4. 系统设计难点及其解决方法 5. 不足之处 6. 人员分工说明 二.问题分析及算法设计 主函数 void main() //主函数模块 { do{ system("pause"); show(); //显示屏幕函数,商品清单 loop1:printf("现在你有%.1f元\n你可以选择商品序号开始选购或按0 退出\n",M); input(); //输入函数 if(M-goods[n-1].price>v) {t=0;printf("对不起,售货机没有足够的零钱了\n谢谢光临!退还%.1f元\n",M);break;} //判断售货机是否有足够的零钱,0表无if(n==0){ //确认用户是选择离开还是买东西开始购买 t=1; change(M);} //找零函数 else { loop2:sell(n,M,1,1); //购买函数 if(A==0)//货没有了怎么办 input(); //输入函数………………………………………………………………………..

易触科技自动售货机管理系统使用说明书

易触科技Easy Touch 自动售货机管理系统 使用说明书 Vending machine management system An instruction manual

目录 一首页登录 (3) 1. 商家用户登录 (3) 2. 访客用户登录 (3) 二运营管理模块 (5) 1. 售货机监控预览 (5) 2. 售货机实时状态 (7) 3. 售货机位置地图 (10) 4. 售货机离线报表 (11) 三售货统计模块 (12) 1. 销售统计报表 (12) 2. 货品销售报表 (14) 3. 货品销售报表 (16) 四售货机管理模块 (17) 1. 商品ID库 (17) 2. 售货机录入 (23) 五系统管理模块 (29) 1. 用户管理 (29) 六修改信息 (34) 1. 修改个人信息 (34) 2. 修改密码 (34)

一首页登录 1. 商家用户登录 (1)点击主界面左侧的“我是商家用户”按钮,如图1-1-1所示,弹出“登录对话框”, 图1-1-1 (2)在对话框中输入用户名和密码,将滑块慢慢地拖动到最后,显示“验证通过”为止,如图1-1-2所示,点击“登录”按钮,即可登录成功。 图1-1-2 2. 访客用户登录

(1)点击主界面右侧的“我是访客用户”按钮,如图1-1-3所示, 图1-1-3 页面会跳转到“易触科技产品展示界面”如图1-1-4所示。 图1-1-4

二运营管理模块 1. 售货机监控预览 (1)点击主界面菜单栏的“运营管理”菜单,在下拉列表中选择“售货机监控预览”选项,如图2-1-1所示, 图2-1-1 (2)此时,页面将进入“监控预览”界面,该界面中会显示“售货机状态”、“巡线准备信息”、“机器系统故障”、“今日销售预览”等信息,如图2-1-2所示, 图2-1-2 (3)点击页面左上角的“”按钮,会显示出本公司所有的售货机信息,如图2-1-3所示,

自动售货机系统

摘要:本设计利用通讯领域的前沿技术GPRS网络,采用能够实现远程测控的GPRS模块,以实现自动售货机的远程管理。 关键词:自动售货机;MDB;GPRS;SIM300C 引言: 自动售货是20世纪70年代在日本、欧美发展起来的一种全新的消费方式,自动售货机又被称为24小时营业的微型自助超市,它的售货领域非常广泛,是发达国家商品零售的一种主要方式。近几年,自动售货机在国内迅速普及,逐渐被越来越多的消费者所接受。但由于售货机分布零散、范围广阔的特点,自动售货机在为消费者带来方便的同时,也为经营者在监控、管理、维护等方面带来很大的不便。目前售货机运行的各种情况都需要由人工判断,包括缺货、缺零钱、币箱已满、售货机机械故障等,经营者普遍采用人工定时巡回视察的管理办法,既费时费力,又无法及时准确获取自动售货机状态报告,给经营者增加了管理成本和难度,也有可能给消费者的正常消费造成不便。 本系统的设计和实现可以使自动售货机的经营者可以根据网络统计的销售状况进行商品销售状况分析,预测商品的销售走势,确定合理的采购和配送策略,以期获得最高的投资回报率。同时售货机的一些故障信息和警报信息可以实时的传送到相应运营人员,从而可以在第一时间内发现并解决问题。 1 GPRS通信 1.1 GPRS通讯技术优势 在自动售货机无线管理系统实现的前期,大部分都是采用GSM(Global System for Mobile Communications)通信技术来实现的,GSM是一种电路交换系统,通常使用短信形式传送数据:用户发出的短消息首先被发送到短信息中心的服务器中,然后短信中心的服务器对所收到的短消息进行排队处理,按顺序再发送给相应的接收用户终端,很容易发生短消息拥塞,造成短消息丢失,同时短消息在短消息中心服务器中保留的时间也有一定的期限,无法做到“实时在线”、“按量计费”,另外每一条短消息只能传送140个字节,大大限制了使用的灵活性和应用范围,增加了通信成本。 GPRS是通用分组无线业务(General Packet Radio Service)的简称,是在GSM系统基础上发展起来的分组数据承载和传输业务。GPRS与GSM系统最根本的区别是,GSM是一种电路交换系统,而GPRS是一种分组交换系统,具有"高速"和"永远在线"的优点。与GSM比较,GPRS在数据业务的承载和支持上具有非常明显的优势,更有效的利用无线网络信道资源,特别适用于间歇、非周期数据传输、少量的数据传输,较大容量数据不频繁传输等。GPRS的技术优势资源利用率高,接入时间短,支持IP协议和X.25协议,收费合理等。 GPRS网络是在现有GSM网络中增加GGSN和SGSN 来实现的,使得用户能够在端到端分组方式下发送和接收数据。其系统结构如图1所示。

EDA实验报告---自动售货机

自动售货机的设计 一.实验内容: 本自动售货机系统,结合EDA技术,采用ALTERA公司可编程逻辑器件(CPLD)EPM7128SLC84-15芯片作为控制核心,再配以必要的外围电路从而实现只销售两种饮料,售价均为15元,可以找零和退币等功能的EDA应用系统。芯片的设计是以MAX_PLUS II 作为开发平台,VHDL语言作为开发语言,使用掌宇公司CIC_310 CPLD/FPGA数字开发系统完成软件测试。自己制作下载板与外围电路。 二.实验分析: 本自动售货机只销售两种罐装饮料。售价均为15元。顾客可以由两个不同投币孔分别投入3个5元硬币或2个10元硬币。一次交易只能买一罐,且自动找零。只要按下取消键就会马上无条件退币。本设计的硬件电路用2个按键电路代替2个投币孔,以LED点亮的数量显示各币种的投入数量,在以4Hz闪烁的LED来显示退币种类与数量。因为投币是计次电路,应先经过抖动消除电路处理。本设计采用1000Hz的系统时钟信号来控制所有买卖行为。系统中设计的复位键为管理人员所用,并未在用户界面中设计。 三.系统设计流程图:

四.自动售货机外观图:(为指示灯) 五.电路原理图 六.PCB图: 根据PROTEL99画的系统原理图,成生PCB图。然后进行布局与布线。

注意:布线时将晶振这种易产生噪声的器件的输出端与芯片时钟输入端的连线尽量布为直线;将电源与地线的宽度定为30mil到100mil之间。本系统的电流不是很大,所以不用将板子的两面分别布成电源与地。 七.系统实物图: 八.软件系统框图

九.源程序: 1.产生系统频率和退币信号电路 首先要根据硬件电路的晶振频率确定分频系数,先产生系统频率,在进一步 分频产生退币信号。由于掌宇公司的开发系统上的晶振频率为20MHz,所以要分 频系数分别为20000(COUNT)和250(COUNT1)。(注:由于在自制的下载板上使 用了1MHz的有源晶振,所以把程序中的COUNT的范围改为0到1000即可。详见 下面括号内部分) return_clock: block --input:reset and clk ,output:return_clk signal count : integer range 1 to 20000; (1 to 1000) signal count1 : integer range 1 to 250;---000; signal f1hz : std_logic; begin process (clk) begin if rising_edge(clk) then count<=count+1; if count<=10000 then (count<=500) f1hz<='0'; elsif (count>10000 and count<=20000) then (count>500 and count<=1000)

实验04.使用基本路径测试法求解“自动售货机”问题

实验报告 实验序号:04 实验项目名称:使用基本路径测试法求解“自动售货机”问题

步骤: 1、解压eclemma软件包,并放到eclipse安装目录的dropins文件夹下: 2、重新启动eclipse软件,菜单栏会出现新的图标: 3、查看Windows的Customize perspective项中的Command Groups Availabiity 多了Coverage项: 4、编写待测试类SaleMachine.jav a文件和测试Junit Test Case文件SaleMachineTest.jav a:

5、先点击运行看看,覆盖了33.1%: 6、分析:红色代表未执行、黄色代表条件没有全部执行、绿色代表执行过了:

7、继续修改测试代码,直到覆盖率达到100%: 共编写了12个测试用例,使待测试代码100%被覆盖,运行如图: 四、实验结果与数据处理 a、最终待测试代码如下: public class SaleMachine { private int countOfBeer, countOfOrangeJuice, countOfFiveCents, countOfOneDollar; private String[] typeOfGoods = {"Beer", "OrangeJuice"}; private String resultOfDeal; public SaleMachine() { initial(); } public void initial() { countOfBeer = 6; countOfOrangeJuice = 6; countOfFiveCents = 6; countOfOneDollar = 6; } public SaleMachine(int fiveCents, int oneDollar, int numOfBeer, int

自动售货机系统源代码

#include #include #include #include "goods.h" bool GetCharge(int Sum,int Money); void Getsmalcharge(int Money,int *ChargeNum); int KouLing(); char ChooseJieMian(); char SaleCenter(); void loadGoodsFromFile(Goods* gs); char ManageCenter(); void KunCun(); void Sale(); void ShangJia(); void TongJiFun(); Goods goods[3]; TongJi tj[3]; void init(){ for(int i = 0; i < 3; ++i){ tj[i].jrxl = 0; tj[i].jrzje = 0; } } void main() { //初始化 init(); int op = 0; //读取商品信息 loadGoodsFromFile(goods); char c = ChooseJieMian(); while(true) { system("cls"); if( c == '1'){ c = SaleCenter(); }else if(c == '2'){ op = KouLing(); if(op == 1){ //进入管理界面 c = ManageCenter();

//system("pause"); } else if(op == 0){ //进去销售界面 c = SaleCenter(); } } } } //---------------------------------------------------- /** * @return 1销售界面2管理界面 */ char SaleCenter() { char state='N'; int Sum=0; char Pro = 'd'; // printf("\n********************************\n"); while(true) { state='N'; Sum=0; while(!(Pro == 'c' || Pro == 'a' || Pro == 'b' || Pro == 'q')) { system("cls"); printf("\n\t*******************************************"); printf("\n\t*********顾客您好,请选择商品**************\n"); printf("\n\t·a·商品%s ·b·商品%s ·c·商品%s ·q·管理\n",goods[0].name,goods[1].name,goods[2].name); printf("\n\t -%d- -%d- -%d- (单位:件)",goods[0].totalCount,goods[1].totalCount,goods[2].totalCount); printf("\n\t*******************************************\n\t\t"); Pro = getchar(); } if(Pro == 'q') break; switch(Pro) {

售货机系统实现功能

售货机系统的实现功能 一:背景 自动售货机是一种全新的商业零售形式,20世纪70年代自日本和欧美发展起来。它又被称为24小时营业的微型超市。在日本,70%的罐装饮料是通过自动售货机售出的;全球著名饮料商可口可乐公司在全世界就布有50万台饮料自动售货机。在中国自动售货机1999年开始进人中国市场.如今,在机场、地铁、商场、公园等客流较大的场所,已不难发现自动售货机的身影。 从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了. 它的售货领域非常广泛,是发达国家商品零售的一种主要方式。近几年,自动售货机逐渐被越来越多的消费者所接受。但由于售货机分布零散、范围广阔的特点,自动售货机在为消费者带来方便的同时,也为经营者在监控、管理、维护等方面带来很大的不便。目前售货机运行的各种情况都需要由人工判断,包括缺货、缺零钱、币箱已满、售货机机械故障等,经营者普遍采用人工定时巡回视察的管理办法,既费时费力,又无法及时准确获取自动售货机状态报告,给经营者增加了管理成本和难度,也有可能给消费者的正常消费造成不便。 本系统的设计和实现可以使自动售货机的经营者可以根据网络统计的销售状况进行商品销售状况分析,预测商品的销售走势,确定合理的采购和配送策略,以期获得最高的投资回报率。同时售货机的一些支付信息、故障信息和警报信息可以实时的传送到相应运营人员,从而可以在第一时间内发现并解决问题。

相关主题
文本预览
相关文档 最新文档