自动售货机程序

合集下载

自动售卖机的操作流程

自动售卖机的操作流程

自动售卖机的操作流程英文回答:How to Use a Vending Machine.1. Locate a vending machine. Vending machines can be found in many public places, such as schools, offices, hospitals, and airports.2. Choose your product. Vending machines typicallyoffer a variety of snacks, drinks, and other items. To choose a product, simply press the button that corresponds to the item you want.3. Insert your payment. Vending machines accept cash, credit cards, and debit cards. To insert your payment, simply insert the bill or card into the designated slot.4. Collect your product. Once you have inserted your payment, the vending machine will dispense your product. Tocollect your product, simply open the door or flap that is located at the bottom of the machine.5. Enjoy your product. Once you have collected your product, you can enjoy it.Here are some additional tips for using a vending machine:If the vending machine does not have the product you want, you can try another machine.If the vending machine is not working properly, you can contact the vending machine company.If you have any questions about how to use a vending machine, you can ask a member of the staff at the location where the machine is located.中文回答:使用自动售货机步骤。

PLC应用指令的运用—自动售货机控制程序设计

PLC应用指令的运用—自动售货机控制程序设计
梯形图
1、对于加法运算ADD的说明: ① 加法运算是代数运算。 ② 若相加结果为0,则零标志位M8020 = 1,可用来判断两个数是否相反数。 ③ 加法指令可以进行32位操作方式。例如,指令语句“DADD D0 D10 D20”的操作数构成如下图所示。
该指令可以进行连连续续//脉脉冲冲 执行方式。
图1 加法指令ADD的举例1
乘法 FNC22 MMULL 除法 FNC23 DDIIVV 操作数 [S1]、[S2]:K、H、KnX、KnY、KnM、KnS、T、C、D、V,Z [D]:KnY、KnM、KnS、T、C、D、V,Z
梯形图
二进制乘除运算指令说明
➢ 指令进行二进制运算,数据最高位为符号位。 ➢ 可以进行16/32位乘除运算,16位运算时,积为32位数据,商和余数为16位数据;32位运算时,
自动售货机控制程序
(一)I/O分配
表4-25 自动售货机I/O分配及软元件说明
输 输入继 电器
X0 X1 X2 X3 X4
X5

作用
1元投币 5元投币 10元投币 雪碧选择 可乐选择
退币按钮

输出继电器
Y1 Y2 Y3 Y4 Y5 Y16~Y10 Y26~Y20

控制对象
雪碧指示 可乐指示 雪碧出口 可乐出口 退币口
(一)使用乘除运算指令实现8盏流水灯控制程序
1.控制要求
用乘除法指令实现8盏流水灯的移位点亮循环。有 一组灯8个,接于Y7~Y0,要求: 当X0=ON时,灯正序每隔1s单个移位,接着,灯反序每 隔1s单个移位并不断循环。
2.程序设计
停车场车位控制
(一)停车场车位控制程序
1.控制要求 (1)在入口和出口处装设 检测传感器,用来检测车 辆进入和出去的数目; (2)尚有车位时,入口栏 杆才可以将门开启,让车 辆进入停放,并有绿灯指 示尚有车位;

plc 自动售货机程序及说明

plc  自动售货机程序及说明

自动售货机程序设计思路整理
一、根据控制要求确定输入、输出元件
输入元件:假币识别传感器(X0)、1元识别传感器(X1)、5元识别传感器(X2)、10元识别传感器(X3)、商品A选择按钮(X4)、商品B选择按钮(X5)、商品A出货限位开关(X6)、商品B出货限位开关(X7)、取消交易按钮(X17)
输出元件:假币识别阀(Y0)、1元接收阀(Y1)、5元接收阀(Y2)、10元接收阀(Y3)、商品A驱动接触器(Y4)、商品B驱动接触器(Y5)、5元找零控制阀(Y6)、1元找零控制阀(Y7)、数码管显示输出Y10~Y16、可购买商品A指示灯(Y20)、可购买商品B指示灯(Y21)
二、I/O分配表
三、程序设计思路
1.处理投币动作程序(真假处理和接收1、5和10币操作程序)
2.投币数据处理程序
3.根据币值处理可购商品显示处理程序
4.根据币值和商品选择处理商品输出和停止输出程序
5.出货后数据处理程序
6.找零处理程序(出货与找零关系处理、判断找零条件、找零完成处理、1元退币处理、5元退币处理、退币后数据处理)
7.币值实时显示处理
四、其他方法编程
状态转移图法
作用元件编号作用元件编号启动开关X0 大于4元指示Y0 投入1元钮X1 大于8元指示Y1 投入5元钮X5 咖啡出口Y2 投入10元钮X10 可乐出口Y3 咖啡钮X3 有余额指示Y4 可乐钮X4
找零钮X11
判断币值真假及投币操作对应程序数据处理及显示可买商品对应程序
根据所选商品驱动出货电机旋转并完成动作对应程序出货后数据处理、退币后数据处理及数据显示对应程序。

自动售货机程序课程设计

自动售货机程序课程设计

自动售货机程序课程设计一、教学目标本课程旨在通过学习自动售货机程序的相关知识,让学生掌握自动售货机程序的基本原理和编程方法。

在知识目标方面,学生需要了解自动售货机的工作原理、程序设计的基本概念和方法。

在技能目标方面,学生需要能够运用编程语言实现简单的自动售货机程序,并能够进行调试和优化。

在情感态度价值观目标方面,学生能够认识到自动售货机程序在现实生活中的应用和价值,增强对计算机科学的兴趣和热情。

二、教学内容本课程的教学内容主要包括自动售货机的工作原理、程序设计的基本概念和方法。

首先,介绍自动售货机的工作原理,包括硬件结构和软件系统。

然后,讲解程序设计的基本概念,如变量、数据类型、控制结构等。

最后,教授如何运用编程语言实现自动售货机程序,并进行调试和优化。

三、教学方法为了提高教学效果,本课程将采用多种教学方法。

首先,讲授法用于讲解自动售货机的工作原理和程序设计的基本概念。

其次,讨论法用于引导学生探讨和解决问题,培养学生的创新思维和团队协作能力。

此外,案例分析法将用于分析实际案例,使学生更好地理解和应用所学知识。

最后,实验法将用于锻炼学生的动手能力,培养实际操作和解决问题的能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备适当的教学资源。

教材方面,将选用权威、实用的自动售货机程序设计教材。

参考书方面,将提供相关的计算机科学书籍,供学生拓展阅读。

多媒体资料方面,将制作精美的教学PPT和视频,以直观地展示自动售货机程序的设计过程。

实验设备方面,将准备计算机和自动售货机模型,以便学生进行实际操作和调试。

五、教学评估本课程的教学评估将采用多元化方式,全面客观地评价学生的学习成果。

平时表现方面,将评估学生的课堂参与度、提问和回答问题的情况,以及小组讨论的贡献。

作业方面,将布置编程练习和项目任务,评估学生的编程能力和解决问题的能力。

考试方面,将设置期中考试和期末考试,评估学生对课程知识的掌握程度。

自动售货机使用说明书

自动售货机使用说明书

自动售货机使用说明书
一、设备概述
自动售货机是一种自助式的商业设备,提供饮料、零食等商品的售卖服务。

用户可以通过投币、扫码等方式购买商品。

自动售货机内部配有制冷和加热系统,可以提供冷饮和热饮等不同温度的商品。

二、使用步骤
投币或扫码:自动售货机通常接受硬币、纸币和移动支付方式,如微信、支付宝等。

选择相应的支付方式,将钱币或移动支付二维码对准自动售货机的识别器。

选择商品:在自动售货机的显示屏上选择要购买的商品,点击购买按钮。

取货:支付成功后,自动售货机将打开相应的商品货道,用户可以直接取出购买的商品。

退币/退款:如果用户需要退币或退款,可以按下自动售货机上的退币/退款按钮。

三、注意事项
请确保您购买的商品与您的支付金额相符,避免出现找零或退款的问题。

请勿在自动售货机上投掷硬币或使用暴力方式打开商品货道,以免损坏设备。

请勿在自动售货机上购买违禁物品或非法商品。

如遇设备故障或无法正常购买商品,请联系相关人员处理。

四、常见问题及解决方案
无法识别硬币/纸币:请确保硬币/纸币平整、无破损、无污渍,并按照正确的方向放入识别器。

无法识别移动支付二维码:请确保二维码清晰、无遮挡,并按照正确的方向对准识别器。

商品货道无法打开:请检查支付是否成功,如有问题请联系相关人员处理。

找零/退款出现问题:请检查找零/退款按钮是否按下,如有问题请联系相关人员处理。

以上为自动售货机使用说明书及常见问题解决方案,希望能对您有所帮助。

如有其他问题,欢迎随时咨询。

自动售货机C++程序设计简版

自动售货机C++程序设计简版

自动售货机C++程序设计自动售货机C++程序设计简介自动售货机是一种智能化设备,可以为用户提供各种商品的购买服务。

本文将介绍如何使用C++语言设计一个简单的自动售货机程序。

程序结构类设计我们将使用面向对象的方式设计自动售货机程序。

在程序中,我们将创建以下几个类:1. 商品类 (Product):用于表示售货机中的商品,包含名称、价格等属性。

2. 售货机类 (VendingMachine):用于管理售货机的机制,包括商品的存储、购买过程等。

3. 用户类 (User):用于表示用户,包含购买商品等操作。

类之间的关系在程序中,售货机类将包含商品类的对象,并与用户类进行交互。

用户可以通过售货机类购买商品。

类的实现商品类 (Product)首先,我们定义商品类,它包含以下成员变量:cppclass Product {private:std::string name; // 商品名称double price; // 商品价格public:// 构造函数Product(std::string n, double p) : name(n), price(p) {}// 获取商品名称std::string getName() {return name;}// 获取商品价格double getPrice() {return price;}};商品类有一个构造函数,用于初始化商品的名称和价格。

通过getName()和getPrice()方法可以获取商品的名称和价格。

售货机类 (VendingMachine)接下来,我们定义售货机类。

这个类将包含商品类的对象,并实现购买商品的过程。

cppclass VendingMachine {private:std::vector<Product> products; // 售货机中的商品列表public:// 添加商品void addProduct(Product product) {products.push_back(product);}// 购买商品bool buyProduct(std::string productName, double &change) {for (Product &p : products) {if (p.getName() == productName) {if (change >= p.getPrice()) {change -= p.getPrice();return true;} else {return false;}}}return false;}};售货机类有一个属性`products`,用于存储售货机中的商品列表。

自动饮料售货机(C语言程序设计)

自动饮料售货机(C语言程序设计)

源码在后面! 一、需求分析本程序为饮料自动售货机的程序,能实现饮料的自动销售,并采用文件的形式记录购买数据,能起到节约人力、减少成本的目的。

二、总体设计本设计主要分为两大系统(顾客购买以及管理员管理系统)以及放于d 盘中“饮料.txt ”的文件系统,每个系统分别执行一些特定的功能。

如下图所示:图一 总体设计概念图三、详细设计3.1 管理员模块管理员是自动售货机系统中权限最高的用户。

在管理员工作模式下,管理员可以进行货物进行补充操作、商品库存信息查询、销售额信息查询、切换到销售界面几大操作。

自动饮料售货机顾客购买系统管理员管理系统选择饮料投币找币记录数据登录界面查询销售额查询剩余数量补货管理员模块的功能结构图,如下:图3.1 管理员操作流程图3.2 顾客购买模块用户模块主要是销售商品的界面。

销售商品的整个过程是,用户投入货币,然后输入商品代号,然后进行找零等操作,最后放出商品,完成交易。

下面来看一下用户模块的流程。

管理员输入密码选择商品库存信息查询销售额信息查询货物补充操作结束图3.2 顾客购买饮料流程图四、系统调试分析它的的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统”做得怎样?”。

这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确:确认测试,测试整个软件系统是否满足用户功能和性能的要求。

该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。

测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。

是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。

系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。

4.1 系统启动主界面如图,由用户选择执行某一个操作。

用户选择投币饮料d饮料a......饮料d饮料和零钱图4.1系统启动主界面图4.2 顾客购买饮料操作测试在主界面下,输入口令“1”,进入购买饮料模块。

自动售货机程序实训报告

自动售货机程序实训报告

一、实训背景随着科技的不断进步,自动售货机已经成为了人们生活中不可或缺的一部分。

它以其便捷、高效、智能的特点,为广大消费者提供了极大的便利。

为了更好地掌握自动售货机程序的设计与开发,提高自身的实践能力,我参加了本次自动售货机程序实训。

二、实训目的1. 学习自动售货机程序的设计原理和开发方法;2. 掌握C++编程语言在自动售货机程序中的应用;3. 提高动手能力和团队协作能力;4. 熟悉软件工程的基本流程,培养良好的编程习惯。

三、实训内容本次实训主要分为以下几个部分:1. 需求分析:了解自动售货机的基本功能,包括商品展示、选择、付款、找零等;2. 系统设计:根据需求分析,设计自动售货机的系统架构和功能模块;3. 编码实现:使用C++编程语言进行自动售货机程序的编码实现;4. 测试与调试:对程序进行功能测试、性能测试和异常测试,确保程序稳定可靠;5. 文档编写:撰写自动售货机程序的设计报告和测试报告。

四、实训过程1. 需求分析在实训初期,我们通过查阅相关资料、了解市场情况,对自动售货机的基本功能进行了分析。

主要包括以下方面:(1)商品展示:自动售货机需要具备商品展示功能,让消费者能够清楚地看到所售商品;(2)商品选择:消费者通过触摸屏或按钮选择所需商品;(3)付款方式:支持多种付款方式,如现金、刷卡、支付宝等;(4)找零:自动售货机在收到付款后,根据消费者所购买商品的价格,自动找零;(5)库存管理:自动售货机需要具备库存管理功能,实时更新库存信息;(6)故障处理:自动售货机在运行过程中,可能遇到各种故障,如商品缺货、系统故障等,需要具备故障处理功能。

2. 系统设计根据需求分析,我们设计了自动售货机的系统架构和功能模块。

系统架构分为以下几个部分:(1)硬件模块:包括触摸屏、按钮、传感器、打印机、钱箱等;(2)软件模块:包括商品展示模块、商品选择模块、付款模块、找零模块、库存管理模块、故障处理模块等。

3. 编码实现在编码实现阶段,我们使用C++编程语言进行自动售货机程序的编写。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重庆科技学院《C语言程序设计》课程设计报告学院:_电气与信息工程学院_ 专业班级:测控1302 学生姓名:张宇学号: 2013441294 设计地点(单位)_____重庆科技学院___ ________ __设计题目:_____________自动售货机系统________________完成日期: 2014 年 07月 04 日指导教师评语: ______________________ _____________________________________________________________________________________________________________________________________________________________________________________成绩(五级记分制):______ __________指导教师(签字):________ ________重庆科技学院课程设计任务书设计题目:自动售货机系统2014年6月02日摘要有史以来,人类发明了无数的信息技术来扩展自身的信息交流、处理和记忆能力。

然而,以1946年世界第一台电子计算机的出现为开端,信息技术开始走向一个全新的数字时代。

50年多年来,计算机技术飞速发展,日新月异。

人们发现起初为解决计算问题而发明的计算机用途越来越广,几乎渗透到涉及信息活动的一切领域。

计算机软件的开发更是帮助到各个领域对计算机的使用,更加优化了计算机的功能。

根据本次课程设计内容及要求,完成自动售货机系统的设计。

这种无人值守自动售货机贩卖价值为A、B、C的三种商品,价格分别为2元,3元和6元。

顾客投入10元的纸币,然后选择购买3种商品之一,自动售货机吐出商品,并且找给用户零钱。

如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。

在自动售货机系统中,数据的固化采用.out文件格式进行储存。

关键词:计算机自动售货机储存目录摘要 (III)1 设计内容和要求 (1)2 概要设计 (2)2.1 数据固化 (2)3 详细设计 (4)3.1 管理员模块 (4)3.2 用户模块的详细设计 (5)4 系统测试 (7)4.1系统启动选择界面 (7)4.2库存查询功能测试 (8)4.3 商品上架功能测试 (9)4.4 销售查询功能测试 (10)4.5 会计查询功能测试 (11)4.6 销售功能测试 (12)5 总结 (13)致谢 (14)参考文献 (15)源代码 (15)1 设计内容和要求某公司请你为其生产的自动售货机编写软件。

这种无人值守自动售货机贩卖价值为A、B、C的三种商品,价格分别为2元,3元和6元。

顾客投入10元的纸币,然后选择购买3种商品之一,自动售货机吐出商品,并且找给用户零钱。

如果商品已经卖完,或者无法找零,则给出用户一个提示,商品已售完,并且退还纸币。

自然,你的售货机用户希望尽可能地给用户找零,以免流失顾客。

为了调查用户的喜好,希望得到三种商品的每日消费数据,由此来调整货柜中三种货物的存贮量。

你的程序将实现以下功能:库存查询:检索当前三种商品的储存量商品上架:为三种商品增加或者减少储量销售查询:分别统计今天每种商品的销售量和销售额会计查询:打印当天的往来帐目以及剩余零钞数目结算功能:取出今天所有的10元纸币,并且分别设置零钞的数目销售界面:顾客投入纸币,选择商品,获得商品和零钱;或者直接显示错误并退还纸币2 概要设计本自动售货机系统根据题意有以下6个模块,但前5个需要管理者密码,最后一个为普通用户模块,不需要密码。

图2.12.1 数据固化数据:在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,数据经过加工后就成为信息。

在本系统中涉及的数据只是一些简单的字符和数字的组合,对于它的数据固化也将采用比较简单的文本方式进行存储。

但是,文件中的数据存储格式必须是我们程序员给出定义的。

在自动售货机系统的使用到的文件是goods.out,用以存储货物的基本信息,他们的具体含义如下:1)商品的数据定义以行为单位,描述一类商品,数据格式为:商品名商品总量商品价格(以空格隔开)3 详细设计3.1 管理员模块管理员是自动售货机系统中权限最高的用户。

在管理员工作模式下,管理员可以进行货物进行上/下架操作、商品库存信息查询、销售信息查询、会计查询、结算功能、切换到销售界面几大操作。

管理员模块下的功能结构图,如下:图3.1 管理员模块流程图库存查询和销售查询处理流程大概相同,下面只给出商品上架的流程图。

图3.2 商品上架流程图3.2 用户模块的详细设计用户模块主要是销售商品的界面。

销售商品的整个过程是,用户输入商品代号,然后投入货币,然后进行找零等操作,最后放出商品,完成交易。

下面来看一下用户模块的流程。

图3.3 用户模块流程图4 系统测试它的的任务是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性,其目的是检验系统"做得怎样?"。

这阶段又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和性能的要求。

该阶段结束应交付测试报告,说明测试数据的选择,测试用例以及测试结果是否符合预期结果。

测试发现问题之后要经过调试找出错误原因和位置,然后进行改正。

是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件。

系统测试是针对整个产品系统进行的测试,目的是验证系统是否满足了需求规格的定义,找出与需求规格不相符合或与之矛盾的地方。

4.1系统启动选择界面。

图4.1系统启动选择界面图4.1系统启动选择界面4.2库存查询功能测试库存功能的设计是为了检索当前三种商品的储存量,输入操作指令“1”进入库存查询功能。

图4.2 库存查询功能测试结果图4.3 商品上架功能测试商品上架功能设计是为了实现三种商品增加或者减少储量。

输入指令“2”,进入商品上架功能界面。

图 4.3 商品上架功能测试界面图4.4 销售查询功能测试销售查询功能是设计为了完成分别统计今天每种商品的销售量和销售额的功能。

输入口令“3”,进入销售查询功能界面。

图 4.4 销售查询功能测试界面图4.5 会计查询功能测试会计查询功能是设计为了完成分别统计今天每种商品的销售量和、销售额和一元、五元剩余张数的功能。

输入口令“4”,进入销售查询功能界面。

图 4.5 销售查询功能测试界面图4.6 销售功能测试在管理模式下,输入口令“6”,进入销售模式。

图4.6 商品销售操作图5 总结通过自动售货机系统的设计,进一步掌握了C语言的基础知识。

尤其对指针的操作、文件的操作更加熟悉。

总之,又让我重新认识了C语言的魅力。

致谢感谢父母的精心培养和无私的给予,您们是我学习和生活的源动力。

感谢你们让我懂得了如何生活。

感谢老师辛勤培养,无私的栽培。

参考文献[1] 何钦铭,C语言程序设计,北京,高等教育出版社,2008[2] 谭浩强张基温,C语言程序设计教程,高等教育出版社,2006 源代码#include"stdio.h"#include"stdlib.h"#include"math.h"typedef struct je{int yy;int wy;int sy;}JE;typedef struct SP{int xsje;int sc;int kc;char name[20];}SP;int main(){FILE *fp;int sl,ye,sp,cd,pd;SP a,b,c;JE money;a.kc=b.kc=c.kc=50;a.sc=b.sc=c.sc=0;money.yy=200;money.wy=50;money.sy=0;a.xsje=a.sc*2;b.xsje=b.sc*3;c.xsje=c.sc*6;fp=fopen("jilu.txt","a");do{printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^\n");printf("\t^* *^\n");printf("\t^* 。

欢迎使用自动售货机管理系统。

*^\n");printf("\t^* *^\n");printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^\n");printf("\n");printf("\t 菜单:\n\n");printf(" ************************************************\n");printf(" *************自*动*售*货*机*系*统***************\n");printf(" ** 1、库存查询**\n");printf(" ** 2、商品上架**\n");printf(" ** 3、销售查询**\n");printf(" ** 4、会计查询**\n");printf(" ** 5、结算功能**\n");printf(" ** 6、销售界面**\n");printf(" ************************************************\n");printf(" ************************************************\n");printf(" **请输入1-6 选择:");scanf("%d",&cd);switch(cd){case 1:printf(" **************库*存*查*询************\n");printf(" * 1、A 商品单价: 2 元*\n");printf(" * 2、B 商品单价: 3 元*\n");printf(" * 3、C 商品单价: 6 元*\n");printf(" *************************************\n");printf(" **请输入1-3 选择:");scanf("%d",&sp);printf("\n");switch(sp){case 1:printf(" *************************************\n");printf(" * 你选择的2元的商品*\n");printf(" * 2元商品的库存量为: %d \n",a.kc);printf(" *************************************\n");fputs("2元商品的库存量为", fp);fprintf(fp, "%d\n", a.kc);break;case 2:printf(" *************************************\n");printf(" * 你选择的3元的商品*\n");printf(" * 3元商品的库存量为: %d \n",b.kc);printf(" *************************************\n");fputs("3元商品的库存量为", fp);fprintf(fp, "%d\n", b.kc);break;case 3:printf(" *************************************\n");printf(" * 你选择的6元的商品*\n");printf(" * 6元商品的库存量为: %d \n",c.kc);printf(" *************************************\n");fputs("6元商品的库存量为", fp);fprintf(fp, "%d\n", c.kc);break;}printf(" 输入任意数值返回上层\n");system("PAUSE");break;case 2:printf(" **************商*品*上*架************\n");printf(" * 1、A 商品单价: 2 元*\n");printf(" * 2、B 商品单价: 3 元*\n");printf(" * 3、C 商品单价: 6 元*\n");printf(" *************************************\n");printf(" **请输入1-3 选择:");scanf("%d",&sp);switch(sp){case 1:printf(" *************************************\n");printf(" * 你选择的2 元的商品*\n");printf(" * 请输入商品的改变量: ");scanf("%d",&sl);a.kc+=sl;printf(" *************************************\n");printf(" * 2 元商品现在的库存为: %d \n",a.kc);printf(" *************************************\n");fputs("2元商品现在的库存为", fp);fprintf(fp, "%d\n",a.kc);break;case 2:printf(" *************************************\n");printf(" * 你选择的3 元的商品*\n");printf(" * 请输入商品的改变量: ");scanf("%d",&sl);b.kc+=sl;printf(" *************************************\n");printf(" * 3 元商品现在的库存为: %d \n",b.kc);printf(" *************************************\n");fputs("3元商品现在的库存为", fp);fprintf(fp, "%d\n",b.kc);break;case 3:printf(" *************************************\n");printf(" * 你选择的6 元的商品*\n");printf(" * 请输入商品的改变量: ");scanf("%d",&sl);c.kc+=sl;printf(" *************************************\n");printf(" * 6 元商品现在的库存为: %d \n",c.kc);printf(" *************************************\n");fputs("6元商品现在的库存为", fp);fprintf(fp, "%d\n",c.kc);break;}system("PAUSE");break;case 3:printf(" **************销*售*查*询************\n");printf(" * 1、A 商品单价: 2 元*\n");printf(" * 2、B 商品单价: 3 元*\n");printf(" * 3、C 商品单价: 6 元*\n");printf(" *************************************\n");printf(" **请输入1-3 选择:");scanf("%d",&sp);switch(sp){case 1:printf(" **************销*售*查*询************\n");printf(" * 你选择的2 元的商品*\n");printf(" * 销售数量为: %d \n",a.sc);printf(" * 销售金额为: %d \n",a.xsje);printf(" *************************************\n");fputs("2元商品的销售数量和金额为", fp);fprintf(fp, "%d,",a.sc);fprintf(fp, "%d\n",a.xsje);break;case 2:printf(" **************销*售*查*询************\n");printf(" * 你选择的3 元的商品*\n");printf(" * 销售数量为: %d \n",b.sc);printf(" * 销售金额为: %d \n",b.xsje);printf(" *************************************\n");fputs("3元商品的销售数量和金额为", fp);fprintf(fp, "%d,",b.sc);fprintf(fp, "%d\n",b.xsje);break;case 3:printf(" **************销*售*查*询************\n");printf(" * 你选择的6 元的商品*\n");printf(" * 销售数量为: %d \n",c.sc);printf(" * 销售金额为: %d \n",c.xsje);printf(" *************************************\n");fputs("6元商品的销售数量和金额为", fp);fprintf(fp, "%d,",c.sc);fprintf(fp, "%d\n",c.xsje);break;}system("PAUSE");break;case 4:printf(" ****************会*计*查*询*************\n");printf(" * 至今2元商品卖出:%d,交易额为: %d \n",a.sc,a.xsje);printf(" * 至今3元商品卖出:%d,交易额为: %d \n",b.sc,b.xsje);printf(" * 至今6元商品卖出:%d,交易额为: %d \n",c.sc,c.xsje);printf(" * 1元零钞剩余量为: %d \n",money.yy);printf(" * 5元零钞剩余量为: %d \n",money.wy);printf(" ****************************************\n");fputs("至今2元商品的销售数量和金额为", fp);fprintf(fp, "%d,",a.sc);fprintf(fp, "%d\n",a.xsje);fputs("至今3元商品的销售数量和金额为", fp);fprintf(fp, "%d,",b.sc);fprintf(fp, "%d\n",b.xsje);fputs("至今6元商品的销售数量和金额为", fp);fprintf(fp, "%d,",c.sc);fprintf(fp, "%d\n",c.xsje);fputs("1元零钞剩余量为", fp);fprintf(fp, "%d\n",money.yy);fputs("5元零钞剩余量为", fp);fprintf(fp, "%d\n",money.wy);system("PAUSE");system("cls");break;case 5:fputs("取出的10元钞票数量", fp);fprintf(fp, "%d\n",money.sy);money.sy=0;printf(" *************************************\n");printf(" * 已取出10 元钞票*\n");printf(" * 请输出1元钞票的初始值: ");scanf("%d",&money.yy);fputs("重置的1元钞票数量", fp);fprintf(fp, "%d\n",money.yy);printf(" * 请输出5元钞票的初始值: ");scanf("%d",&money.wy);fputs("重置的5元钞票数量", fp);fprintf(fp, "%d\n",money.wy);a.sc=b.sc=c.sc=0;system("PAUSE");system("cls");break;case 6:while(sp!=110)//管理员密码为110{printf(" * 请放入10 元纸币*\n");printf(" ");scanf("%d",&pd);if(pd==10){printf(" **************销*******售***********\n");printf(" * 1、A 商品单价: 2 元*\n");printf(" * 2、B 商品单价: 3 元*\n");printf(" * 3、C 商品单价: 6 元*\n");printf(" *************************************\n");printf(" **请输入1-3 选择:");scanf("%d",&sp);switch(sp){case 1:while(1){printf(" *************************************\n");printf(" * 你选择的2 元的商品*\n");printf(" * 你选择的商品为:2 元商品*\n");printf(" * 请选择购买数量:");scanf("%d",&sl);if(sl>0&&sl<=5){if(a.kc>=sl&&(money.yy+money.wy*5)>=(10-sl*2)){ye=10-sl*2;a.xsje+=sl*2;a.sc+=sl;a.kc-=sl;money.sy++;if(ye>5&&money.wy>=1){money.wy-=1;money.yy=money.yy-ye+5;}else{money.yy=money.yy-ye;}printf(" *************************************\n");printf(" * 请从商品口拿出商品及余额: %d 元*\n",ye);fputs("此次卖出2元商品的数量及收入为", fp);fprintf(fp, "%d,",sl);fprintf(fp, "%d\n",sl*2);;system("PAUSE");system("cls");break;}else{system("cls");printf(" * 商品不足或零钞不足*\n");system("PAUSE");break;}}else{system("cls");printf(" * 请输入正确数量*\n");system("PAUSE");}}break;case 2:while(1){printf(" *************************************\n");printf(" * 你选择的3 元的商品*\n");printf(" * 你选择的商品为:3 元商品*\n");printf(" * 请选择购买数量:");scanf("%d",&sl);if(sl>0&&sl<=3){if(a.kc>=sl&&(money.yy+money.wy*5)>=(10-sl*3)){ye=10-sl*3;b.xsje+=sl*3;b.sc+=sl;b.kc-=sl;money.sy++;if(ye>5&&money.wy>=1){money.wy-=1;money.yy=money.yy-ye+5;}else{money.yy=money.yy-ye;}printf(" *************************************\n");printf(" * 请从商品口拿出商品及余额: %d 元*\n",ye);fputs("此次卖出3元商品的数量及收入为", fp);fprintf(fp, "%d,",sl);fprintf(fp, "%d\n",sl*3);system("PAUSE");system("cls");break;}else{system("cls");printf(" * 商品不足或零钞不足*\n");system("PAUSE");break;}}else{system("cls");printf(" * 请输入正确数量*\n");system("PAUSE");}}break;case 3:while(1){printf(" *************************************\n");printf(" * 你选择的6 元的商品*\n");printf(" * 你选择的商品为:6 元商品*\n");printf(" * 请选择购买数量:");scanf("%d",&sl);if(sl>0&&sl<=1){if(a.kc>=sl&&(money.yy+money.wy*5)>=(10-sl*6)){ye=10-sl*6;c.xsje+=sl*6;c.sc+=sl;c.kc-=sl;money.sy++;if(ye>5&&money.wy>=1){money.wy-=1;money.yy=money.yy-ye+5;}else{money.yy=money.yy-ye;}printf(" *************************************\n");printf(" * 请从商品口拿出商品及余额: %d 元*\n",ye);fputs("此次卖出6元商品的数量及收入为", fp);fprintf(fp, "%d,",sl);fprintf(fp, "%d\n",sl*6);system("PAUSE");system("cls");break;}else{system("cls");printf(" * 商品不足或零钞不足*\n");system("PAUSE");break;}}else{system("cls");printf(" * 请输入正确数量*\n");system("PAUSE");}}break;default: system("cls");}}else {system("cls");}}break;}system("cls");}while(cd<=6);printf(" * 请输入正确数量*\n");printf(" * 程序结束! *\n");printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^\n"); printf("\t^* *^\n");printf("\t^* 感谢使用张宇设计的自动售货机系统*^\n"); printf("\t^* *^\n"); printf("\t^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^*^\n");fclose(fp);return 0;}。

相关文档
最新文档