自动售货机管理程序

合集下载

自动售货机管理程序

自动售货机管理程序

自动售货机管理程序一、引言自动售货机是一种智能化设备,能够提供便捷的商品购买服务。

为了高效管理自动售货机,我们需要开发一款自动售货机管理程序。

本文将详细介绍该程序的功能需求、数据结构和操作流程。

二、功能需求1. 商品管理:程序需要能够管理自动售货机中的商品信息,包括商品名称、价格、库存数量等。

管理员可以通过程序添加、删除或修改商品信息。

2. 售卖记录管理:程序需要记录每次商品的售卖情况,包括商品名称、售卖时间、售卖数量和总售价等信息。

管理员可以通过程序查看售卖记录,以便进行销售数据分析和统计。

3. 库存管理:程序需要实时监测自动售货机中商品的库存情况,并在库存不足时进行提醒。

管理员可以通过程序查看当前库存信息,以便及时补充商品。

4. 收益统计:程序需要根据售卖记录计算出自动售货机的总收益。

管理员可以通过程序查看总收益和每个商品的销售额,以便进行财务管理和业绩评估。

5. 故障管理:程序需要实时监测自动售货机的工作状态,并在出现故障时进行报警。

管理员可以通过程序查看故障记录,以便及时维修和保养自动售货机。

三、数据结构1. 商品数据结构:每个商品包含以下属性:- 商品编号(唯一标识)- 商品名称- 商品价格- 商品库存数量2. 售卖记录数据结构:每条售卖记录包含以下属性:- 记录编号(唯一标识)- 商品编号- 售卖时间- 售卖数量- 总售价3. 库存数据结构:每个商品的库存信息包含以下属性:- 商品编号- 商品库存数量4. 故障记录数据结构:每条故障记录包含以下属性:- 记录编号(唯一标识)- 故障类型- 故障时间- 处理状态四、操作流程1. 商品管理流程:a. 管理员登录管理程序;b. 进入商品管理界面,显示当前所有商品信息;c. 管理员可以选择添加新商品,输入商品信息并保存;d. 管理员可以选择修改已有商品信息,输入修改后的商品信息并保存;e. 管理员可以选择删除商品,确认后删除商品信息。

2. 售卖记录管理流程:a. 管理员登录管理程序;b. 进入售卖记录管理界面,显示当前所有售卖记录;c. 管理员可以根据日期范围筛选售卖记录;d. 管理员可以根据商品名称筛选售卖记录;e. 管理员可以导出售卖记录为Excel或CSV文件。

基于PLC自动售货机控制系统设计

基于PLC自动售货机控制系统设计

基于PLC自动售货机控制系统设计引言自动售货机作为一种便捷的零售方式,已经广泛应用于各种场景,如商场、学校、车站等。

为了提高自动售货机的功能和性能,PLC(可编程逻辑控制器)被引入到控制系统中。

PLC作为一种可编程的电子设备,能够根据预定的程序和逻辑来控制各种设备和过程。

本文将详细介绍基于PLC自动售货机控制系统设计的相关内容。

一、PLC控制系统概述1.1 PLC基本原理PLC是一种用于工业自动化领域的电子设备,它能够根据预定的程序来实现各种控制功能。

其工作原理是通过输入模块接收外部信号,经过处理后通过输出模块输出信号来实现对设备和过程的控制。

1.2 PLC在自动售货机中的应用在传统自动售货机中,通常使用微处理器或嵌入式系统来实现对设备和过程的控制。

然而,这些传统方式存在着功能有限、扩展性差等问题。

而使用PLC作为自动售货机的控制器,则可以克服这些问题,并且具有更好的稳定性和可靠性。

二、PLC自动售货机控制系统设计2.1 系统结构设计PLC自动售货机控制系统的结构主要包括输入模块、处理单元(CPU)、输出模块和外部设备。

其中,输入模块用于接收外部信号,CPU用于处理信号并执行相应的控制程序,输出模块用于输出信号,外部设备包括货道、显示屏等。

2.2 系统功能设计PLC自动售货机控制系统的功能主要包括货道管理、库存管理、支付管理和故障处理等。

其中,货道管理功能用于管理各个货道上商品的存放和取出;库存管理功能用于实时监测商品库存并生成相应的报表;支付管理功能用于接收用户支付信息并完成交易;故障处理功能用于检测设备故障并进行相应的处理。

2.3 系统程序设计PLC自动售货机控制系统的程序设计是实现各个功能的关键。

在程序设计中,需要考虑到各个输入信号和输出信号之间的关系,并编写相应的逻辑代码。

此外,还需要考虑到异常情况下的处理方式,并编写相应代码进行异常处理。

三、PLC自动售货机控制系统实现3.1 硬件实现PLC自动售货机控制系统的硬件实现主要包括PLC设备的选择和配置,输入模块和输出模块的连接,以及外部设备的接入等。

自动售货机PLC设计(带很十分详细的梯形图等)

自动售货机PLC设计(带很十分详细的梯形图等)

自动售货机PLC设计目录一、引言 (1)二、控制要求 (2)三、设计任务 (2)四、系统总体方案设计方案4.1 系统硬件配置及组成原理 (3)4.2 系统变量定义及分配表 (3)4.3 系统接线图设计 (4)4.4系统可靠性设计 (4)五、控制系统设计5.1 控制程序流程图设计 (5)5.2 控制程序时序图设计 (6)5.3 控制程序设计思路 (7)5.4 编程系统的调试 (7)5.5创新设计内容 (7)六、上位监控系统设计6.1 PLC与上位监控软件通讯 (8)6.2 上位监控系统组态设计 (8)6.3 实现的效果 (12)七、系统调试及结果分析7.1 系统调试及解决的问题 (12)7.2 结果分析 (13)八、结束语 (13)九、参考文献 (14)十、附录 (14)一:引言可编程序控制器(Programmable Logic Controller )简称PLC, 是一种以微处理器为核心的用于工程自动控制的工业控制机,其本质是一台工业控制专用计算机。

它的软、硬件配置与计算机极为类似,只不过它比一般计算机具有更强的与工业过程相连接的接口和更直接的适应于控制要求的编程语言。

硬件主要由中央处理单元CPU、存贮器、输入/输出单元以及编程器、电源和智能输入/输出单元等构成.PLC是一种专为在工业环境应用而设计的数字运算电子系统,它是以微处理机为基础,综合了计算机技术、自动控制技术和通信技术等现代科技而发展起来的一种新型工业自动控制装置,是当今工业发达国家自动控制的标准设备之一。

自动售货机是集声、光、机、电于一体的智能科技产物,进入21世纪,自动售货机也将进一步向节省资源和能源以及高功能化的方向发展。

使未来的自动售货机不仅仅具有售货功能,而是更加多元化,及人性化;如:手机支付、远程联机管理、个性的LCD广告显示屏、更节能。

自动售货机的普及在某种程度上能反映一个国家的科技发展水平,是一个国家文明程度的象征。

自动售货机的工作原理

自动售货机的工作原理

自动售货机的工作原理自动售货机(Vending Machine)是指一种通过自动化技术实现商品销售和交易的设备。

它的工作原理可以简单地概括为接收用户选择、进行支付、发放商品三个环节。

下面将详细介绍自动售货机的工作原理。

一、接收用户选择自动售货机通常提供多种商品选择,用户可以通过触摸屏、按钮或旋转选择器等方式来输入自己的选择。

当用户选择某个商品时,售货机会根据用户的输入来确定用户所需商品的信息。

二、进行支付完成商品选择后,用户需要进行支付。

自动售货机上常见的支付方式包括现金支付和非现金(如信用卡、移动支付)支付。

对于现金支付,用户将钞票或硬币投入自动售货机的投币口或纸币口,售货机会通过光电传感器等设备检测金额并确认支付。

对于非现金支付,用户需要使用自己的银行卡或手机绑定的支付账户来完成支付,售货机会将支付信息发送到支付平台进行验证。

三、发放商品完成支付后,售货机会进行库存的管理和商品的发放。

售货机通过内部的传感器和计算机系统来管理各个货道的库存情况,一旦发现某个商品的库存不足,售货机会自动停止对该商品的销售。

而对于库存充足的商品,售货机会根据用户选择的商品和支付的金额来判断是否可以发放。

如果支付的金额足够购买所选商品,售货机会激活货道上的出货设备,将商品从货道上推至取货口,供用户取走。

同时,在自动售货机的工作过程中,还会涉及以下几个重要的点:1. 库存管理:自动售货机的内部系统会通过传感器和计算机程序实时监测每个货道中商品的数量,同时根据销售记录统计出商品的库存情况。

当某个商品的库存低于一定的阈值时,系统会提醒运营人员进行补货,确保自动售货机能够持续供应商品。

2. 交易记录:自动售货机会记录每一笔交易的信息,包括用户选择的商品、支付方式、支付金额等。

这些交易记录不仅对运营人员进行销售统计和财务核对有重要作用,还可以为用户提供售后服务和投诉处理提供依据。

3. 故障诊断:自动售货机的内部系统会监测设备的运行状态,一旦发现异常情况(如温度过高、货道卡住等),系统会自动发出警报并关闭相关设备,以避免可能的事故。

基于PLC的自动售货机的毕业设计论文(1)

基于PLC的自动售货机的毕业设计论文(1)

基于PLC的自动售货机的毕业设计论文摘要自动售货机作为现代零售业的一种重要形式,已经在各个领域得到广泛应用。

本毕业设计致力于设计和实现一种基于PLC(可编程逻辑控制器)的自动售货机系统。

该系统通过使用PLC控制器,实现了自动售货机的货物管理、交易处理和故障处理等功能。

本文详细介绍了自动售货机的背景和发展,设计思路和方案,系统架构,以及实际应用效果等方面。

引言自动售货机是一种能够提供商品销售和交易服务的机械装置。

自动售货机的出现大大提高了商品销售的效率和便利性,减少了人工操作的错误和劳动强度。

目前,自动售货机已经广泛应用于食品、饮料、烟草、报刊等各个行业。

随着科技的不断进步,自动售货机的功能也越来越丰富,包括现金支付、刷卡支付、微信支付等多种支付方式。

本文将重点介绍一种基于PLC的自动售货机系统的设计和实现。

设计思路和方案系统需求分析在设计自动售货机系统之前,首先需要进行系统需求分析,明确系统的功能和性能需求。

根据市场调研和用户需求分析,我们确定了以下主要功能需求: - 商品管理:系统能够实现对不同商品的库存管理、上下架、售价设定等功能。

- 交易处理:系统能够自动处理用户选择商品、支付货款、找零等交易过程。

- 故障处理:系统能够检测并处理售货机的故障情况,如货道堵塞、温度异常等。

硬件设计自动售货机的硬件设计包括主要元件选择、电路设计和传感器接口设计等。

我们选择了可编程逻辑控制器(PLC)作为系统的主控设备,主要基于PLC具有稳定性高、可靠性强、扩展性好等优点。

同时,为了实现对货道状态的检测和控制,我们还需要添加红外传感器、电机驱动器等硬件设备。

软件设计自动售货机的软件设计主要包括PLC程序设计、用户界面设计和数据管理设计等。

我们使用PLC编程软件进行程序开发,主要编写逻辑控制程序,实现对货道的控制和状态监测。

同时,为了提升用户体验,我们还需要设计友好的用户界面,并通过数据库管理系统来存储商品信息和交易记录。

PLC课程设计:自动售货机

PLC课程设计:自动售货机

目录第1章自售货机控制工艺流程分析 (1)1.1自动售货机控制过程描述 (1)1.2自动售货机控制工艺分析 (1)第2章控制系统总体方案设计 (2)2.1系统硬件组成 (2)2.2控制方法分析 (2)2.3I/O分配、 (3)2.4系统结线图设计 (3)第3章控制系统梯形图程序设计 (5)3.1控制程序流程图设计 (5)3.2控制程序时序图设计 (5)第4章监控系统设计 (7)4.1PLC与上位监控软件通讯 (7)4.2上位监控系统组态设计 (7)4.3实现效果..................................... 错误!未定义书签。

第5章系统调试及结果分析. (9)5.1系统调试及解决的问题 (9)5.2结果分析 (9)课程设计心得 (11)附录 (13)第1章自售货机控制工艺流程分析1.1自动售货机控制过程描述本次设计的题目是基于PLC自动售货机的系统设计,主要是应用三菱FX-2N型PLC的梯形图来设计控制程序,并简单介绍相关的知识,如:PLC的定义、PLC的编程语言、PLC的硬件组成等。

根据设计内容和控制要求画出顺序功能图和梯形图,再根据PLC的相关知识设计出它的外部接线结合梯形图和外部接线图分析说明该设计的控制原理过程。

本次设计的重要部分是第四章的设计部分,即自动售货机梯形图的设计。

根据设计内容和控制要求准确画出它的顺序功能图,再根据所画出的顺序功能图准确设计出它的梯形图,这样才能真正理解自动售货机的系统控制原理。

1.2自动售货机控制工艺分析自动售货机是集声、光、机电一体化的高新智能化产品,在我国也开始得到应用。

在中国人们可以看到现代化的自动售货机摆放在一些大商场门口、繁华街道两旁、公园入口处以及其它热闹的场所。

自动售货机在中国有着广阔的发展前景。

从自动售货机的发展趋势来看,它的出现是由于劳动密集型的产业构造向技术密集型社会转变的产物。

大量生产、大量消费以及消费模式和销售环境的变化,要求出现新的流通渠道;而相对的超市、百货购物中心等新的流通渠道的产生,人工费用也不断上升;再加上场地的局限性以及购物的便利性等这些因素的制约,无人自动售货机作为一种必须的机器便应运而生了。

PLC课程设计:自动贩卖机

PLC课程设计:自动贩卖机

摘要本论文设计的是基于三菱FX2N系列PLC构成的自动售货机监控系统,本文阐述了自动售货机的来源与发展,以及它在国内外发展的现状,对自动售货机的方案进行了论证,介绍了PLC的基本组成、特点以及工作原理,对基于三菱FX2N 系列PLC构成的自动售货机系统整体设计过程进行较为细致的论述。

文中详尽地介绍了自动售货机的各硬件组成,并完成了PLC外部接线图。

在PLC梯形图的编写时,文中采用的是三菱FX2N的梯形图编译软件FXGPWIN来进行编写。

介绍了自动售货机的基本原理以及工作流程,然后以一次交易过程为例,把交易过程分为几个程序块,然后分别对程序块进行编程。

具体说明了可编程序控制器在自动售货机中的作用。

程序涉及到了自动售货机工作的绝大部分过程。

利用PLC控制的自动售货机提高了系统的稳定性,保证自动售货机能够长期稳定运行。

关键词: PLC;梯形图;I/O点的分配目录摘要 0第1章绪论 (3)1.1 自动售货机的理论背景与实际意义 (3)1.2 自动售货机的主要内容 (4)1.3 自动售货机的设计思路 (4)第2章 PLC概述 (5)2.1 PLC的定义 (5)2.2 PLC的简介 (5)2.3 PLC的工作原理 (5)2.4 PLC的工作方式 (6)2.5 PLC的硬件组成 (7)2.6 PLC的编程语言 (8)2.7 PLC的特点 (8)第3章自动售货机的设计 (9)3.1 系统的硬件设计 (9)3.1-1 PLC的选型 (9)3.1-2 I/O分配表 (9)3.1-3 PLC的外部接线图 (10)3.2 系统的软件设计 (11)3.2-1 主程序流程图 (11)3.2-2 投币、显示子程序流程图 (12)3.2-3 比较币值子程序流程图 (13)3.2-4 饮料选择子程序流程图 (13)3.2-5 退币子程序流程图 (14)3.3 程序梯形图 (15)3.3-1 主程序梯形图 (15)3.3-2 判键、显示子程序P1及比较币值子程序P2 (16)3.3-3 饮料选择子程序P3 (17)3.3-4 退币子程序P4 (18)第4章仿真与调试 (19)4.1 GX Developer的特点 (19)4.2 程序的仿真过程与步骤 (20)第五章总结 (23)参考文献 (23)第1章绪论1.1自动售货机的理论背景与实际意义自动售货机是一种全新的商业零售形式,20世纪70年代自日本和欧美发展起来。

PLC自动售货机报告

PLC自动售货机报告

PLC自动售货机报告1.引言自动售货机在现代化社会中越来越受欢迎,为消费者提供了方便快捷的购物体验。

本报告旨在介绍一种基于PLC的自动售货机的设计和实现。

2.设计目标我们的设计目标是创建一个功能完善且可靠的自动售货机,具备以下特点:-支持多种支付方式,例如硬币、纸币和移动支付;-具备货物售空检测功能,及时通知管理人员补货;-具备购物篮检测功能,防止用户未支付而偷取商品。

3.硬件设计我们使用了以下硬件设备来实现自动售货机:-PLC控制器:作为核心控制单元,负责执行程序和与其他设备进行通信;-电子支付设备:集成硬币接收器、纸币接收器和条码扫描仪,支持多种支付方式;-货物储存系统:包括货道、电动门和传送带;-传感器:用于检测货道是否为空、购物篮是否存在等。

4.软件设计我们使用PLC编程软件进行自动售货机的程序设计,主要包括以下几个模块:-用户界面:通过触摸屏显示菜单和购物篮状态,用户可以选择商品和支付方式;-支付处理:根据用户选择的支付方式进行支付处理,验证支付金额是否足够;-货物管理:监测货道状态,当货道为空时通知管理人员及时补货;-购物篮检测:通过传感器检测购物篮状态,防止用户未支付而偷取商品;-交互控制:根据用户的选择和支付信息,控制电动门开启和传送带运行。

5.功能实现在实现过程中,我们成功地完成了自动售货机的所有功能要求:-用户能够通过触摸屏选择商品和支付方式,实现快速购物;-自动售货机能够支持硬币、纸币和移动支付,满足不同用户的支付需求;-通过传感器监测货道状态和购物篮状态,及时通知管理人员进行补货和防止商品偷取。

6.总结通过PLC技术的应用,我们成功地实现了一个功能完善且可靠的自动售货机。

通过合理的硬件设计和软件编程,我们实现了多种支付方式、货物售空检测和购物篮检测等功能。

该自动售货机提供了方便快捷的购物体验,减少了人力资源的浪费。

未来,我们将进一步改进该系统,提升其性能和稳定性。

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

1引言21世纪,我们已经进入了信息时代,计算机的使用大大方便了我们的日常生活,超市和网上购物已经不能满足我们对便利生活的要求,不能随时随地购物的缺点不能克服的。

在此情况下,就需要一个程序化的自动售货机来满足人们日常生活的需求。

在C语言的平台下实现,用户可以方便的进行各项购物操作。

C语言是一种程序设计语言,早在20世纪90年代,C语言表现出了强劲的生命力,C语言是一种结构化语言。

它层次清晰,便于按模块化方式组织程序,易于调试和维护。

C语言的表现能力和处理能力极强。

它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。

它还可以直接访问内存的物理地址,进行位一级的操作。

由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体,既可用于系统软件的开发,也适合于应用软件的开发。

此外,C语言还具有效率高,可移植性强等特点。

因此可以广泛地移植到了各类型计算机上,从而形成了多种版本的C语言。

采用输入函数和输出函数方式,可以完成对待售物品的名称、数量、价格的输出、顾客所选物品的输入、以及其它购物信息显示。

在对自动售货机管理程序进行需求分析的过程中,需要确定系统的主要功能,对程序开发的主要目的、程序的使用领域和有关该程序开发的软硬件环境进行详细的分析。

下面从系统概述、功能模块描述两个方面进行需求分析。

2.1程序概述自动售货机管理程序是运行于Windows系统下的应用软件,主要用于对待售商品的品名、价钱、数量、生产日期、保质期、编号进行输出等操作。

2.2功能需求自动售货机管理程序为路边的行人提供了一个随时随地进行购物的平台,给消费者提供了一个简单友好的购物窗口,功能需求如下:(1)输出模块程序在消费者购物前将所售商品的品牌输出以供消费者选择品牌,然后将消费者选择的品牌下的商品信息输出让消费者选择所需的商品,最后输出“请你付款班级”提示消费者完成购物。

(2)输入模块让将消费者选定的商品的编码输入程序中然后进行价格的输出,以上述的方式让消费者把购物数量输入进程序中,最后将消费者付款金额输入,进而完成找钱。

(3)返回模块如果消费者所输入的商品编码自动售货机上没有,则程序自动跳转到商品品牌的选择,提示消费者输入正确的商品编码。

并且如果消费者输入的购买数量大于库存数量,程序将自动返回到商品的数量选择界面下,还有如果消费者的付款金额小于消费金额时,程序将自动返回到付款界面。

(4)找钱模块将消费者付款金额进行判断后,进行一定运算后按50元、20元、10元、1元的分类分别找对。

程序由上述几个模块组成,能帮助消费者以自助的方式完成所需商品的购买并且有效地减少购物时间。

另外还能节省售货者的管理时间,大大的提高管理的效率。

3.1 输出模块本模块主要有输出函数printf()构成,printf()函数是C语言系统提供的格式化输出函数,用于向标准输出设备(通常为显示器)按规定格式输出信息,这是程序中使用最多的标准函数之一。

它的使用格式如下:printf(“格式化字符串”,表达式表);“表达式表”是要输出的一系列表达式,各表达式之间用“,”分隔。

“格式化字符串”用于说明要输出表达式的形式,包括两部分内容:一部分是以“%”开头的格式控制参数,它规定对应表达式的输出格式;另一部分是普通字符或转义字符,对普通字符按原样输出,对转义字符,输出的是其转义后的形式。

例如:int a=5,b=10;printf(“Sum = %d\n”,a+b);输出结果为:Sum = 15。

在自动售货机程序中,其输出模块源代码为:printf(" \n 欢迎光临\n");printf("请选择:1.百事可乐2.可口可乐3.非常可乐\n");printf("请选择:1听式百事可乐(3元每听)剩%d听,2.瓶装百事可乐(8元每瓶)剩%d听\n",a1 ,a2);printf("数量?");printf("商品数量不足,请重新输入:")printf( "请选择: 1继续购物,2停止购物\n");printf("请您结账");printf("金额不够请重新输入:");printf("找您50元1张,20元%d张,10元%d张,1元%d张",m,q,l);printf("找您20元%d张,10元%d张,1元%d张",m,q,l);printf("请您收好!");printf("购物结束,谢谢光临");输出流程图如下;图1 输出流程图其运行时图如下:图2 输出模块运行时截图3.2输入模块本模块主要有输出函数scanf()构成,它是格式化输出函数,即从标准输入设备(键盘)为变量输入数据。

它也是程序中使用最多的一个标准函数。

其使用格式如下:scanf(“格式化字符串”,变量地址表);“格式化字符串”中控制参数的个数必须与变量地址的个数一致;可以在格式化字符串中的“%”和格式控制符之间加入一个整数,表示任何读操作中的最大位数。

例如:Main(){Int m,n;Scanf(“%3d%2d”,&m,&n);Printf(“m=%d,n=%d\n”,m,n);}输入数据流:123456789输出结果为:m=123,n=45。

在自动售货机程序中,输入模块流程图如下:图3 输入模块流程图在自动售货机程序中,其输入模块源代码为:scanf("%d",&a);用于输入选择的购买品牌。

scanf("%d",&b);用于输入所选品牌下的商品。

scanf("%d",&n);用于输入所选品牌下的商品的数量scanf( "%d",&b);用于输入是否继续购物。

scanf("%d",&Money);用于输入付款金额。

其输入截图如下:图4 输入模块运行时截图3.3返回模块本模块if语句和goto语句构成,if语句简单形式如下:语句结构为:If(表达式){语句组}其中的“语句组”是若干个C语句,当它只有一个语句时,花括号{}可以省略。

该if语句的过程是:若表达式的值非0(即真),则执行{语句组},然后执行if语句的下一个语句;否则不执行{语句组}之下的语句,即if语句的下一个语句。

简言之该if语句的功能就是根据条件(表达式的值),决定是否执行{语句组},如下图所示:图5 if语句逻辑结构示意图goto语句是一种无条件转移语句,主要用于控制程序的执行方向,也可以利用它反复执行同一段程序。

它的用法比较简单。

一般格式如下:goto语句标号;语句标号是一个标识符,它的语句之间以“:”分隔,可以单独的占一个程序行,也可以和程序语句处于同一行上。

执行goto语句后,程序将跳转到该标号处,并执行其后的语句。

在自动售货机程序设计时,其流程图如下:图6 返回模块流程图在自动售货机程序中,其源代码如下:loop: i=p=0;printf(" \n 欢迎光临\n");loop1: i++;m=q=0;printf("请选择:1.百事可乐2.可口可乐3.非常可乐\n");scanf("%d",&a);if(a!=1&&a!=2&&a!=3){goto loop;}运行时截图如下:图7 返回模块运行时截图3.4找钱模块本模块由if-else if结构构成,它属于if-else结构的嵌套形式,它的一般结构如下:If(表达式1){语句组1}else If(表达式2){语句组2}……从上到下逐个对条件进行判断,一旦发现条件满足就执行与它有关语句组,其下的所有条件都不在判断,当然它们的语句组也不在执行;执行最后一个语句组。

最后这个else常起着“默认条件”的作用。

在自动售货机程序设计中,找钱模块流程图如下:图 8 找钱模块流程图在自动售货机程序中,起源代码为:if(p<Money){c=Money-p;j=c/10;l=c%10;if(j>=5){k=j-5;if(k/2>=1){m=k/2;q=k-2*m;}printf("找您50元1张,20元%d张,10元%d张,1元%d张",m,q,l);} else{k=j;if(k/2>=1){ m=k/2;q=k-2*m;}printf("找您20元%d张,10元%d张,1元%d张",m,q,l);}其运行时截面图如下:图8 找钱模块运行时截图4 结论通过对C程序设计基础的学习,我掌握了一些基本的编程方法和思路,出色的完成了这次自动售货机管理程序课程设计,这次课程设计是对我接触C语言这个新事物以来的第一次比较系统的检验,我很重视,也很刻苦的钻研自己的课题,当然,通过努力完成设计的也不只我一个人,大家都很出色,都很优秀,这次设计对我以后学习编程都有着深远的影响,所以,完成这次课程设计,我很高兴,这也为我以后的学习增加了很多信心,在以后的学习生活中,我一定会努力钻研C语言,为以后的发展铺下宽广的道路.。

通过这次实训,增加了我学习软件技术的兴趣,虽然还不明确软件技术包含的具体内容,但从C语言这门课程开始,已发现程序设计的乐趣,在学习C语言的过程中也学到了许多计算机应用基础知识,对计算机的机体也有了一个大体的了解。

这次课设先做简单的输出模块、输入模块,一步步的再做其它功能,如返回模块、找钱模块。

在实际操作过程中犯的一些错误还会有意外的收获,感觉课设很有意思。

例如在找钱模块中,刚开始程序找钱不对,我便反复的寻找错误的原因,终于发现“p=Money”中的“=”是赋值而非等于的意思,应该用“==”。

在具体操作中对这学期所学的C语言的理论知识得到巩固,达到实训的基本目的,也发现自己的不足之出,在以后的上机中应更加注意,同时体会到C语言具有的语句简洁,使用灵活,执行效率高等特点。

发现课设的重要作用,对C语言有了更深刻的理解。

在此希望以后应多增加练习,加长时间,培养独立思考问题的能力,提高实际操作水平。

在这次设计中我学到了很多,也发现了自己的不足,也难免有错误之处,敬请老师提出!参考文献[1] 张磊.C语言程序设计[M].北京:高等教育出版社,2006[2] 吕凤煮.C语言基础教程——基础理论与案例[M].北京:清华大学出版社,2005[3] 黄明、梁旭、万洪莉.C语言课程设计[M].北京:电子工业出版社,2006附录:自动售货机管理程序源代码#include <stdio.h>void main(){int Money;int n,a,b,c,a1,a2,a3,a4,a5,a6,p,q,i,j,k,m,l;int sum[4]={0,0,0};a1=a2=a3=a4=a5=a6=50;loop: i=p=0;printf(" \n 欢迎光临\n");loop1: i++;m=q=0;printf("请选择:1.百事可乐2.可口可乐3.非常可乐\n");scanf("%d",&a);if(a!=1&&a!=2&&a!=3){goto loop;}switch(a){case 1: printf("请选择:1听式百事可乐(3元每听)剩%d听,2.瓶装百事可乐(8元每瓶)剩%d听\n",a1 ,a2);scanf("%d",&b);}loop2: printf("数量?");scanf("%d",&n);if(b==1&&n<=a1||b==2&&n<=a2){switch(b){case 1:sum[i]=3*n;a1=a1-n;break;case 2:sum[i]=8*n;a2=a2-n;break;}}else{ printf("商品数量不足,请重新输入:");goto loop2;}break;case 2: printf("请选择:小瓶可口可乐(2元每瓶)剩%d瓶,2.大瓶(7元每瓶)剩%d瓶\n",a3,a4);scanf("%d",&b);loop3: printf("数量?");scanf("%d",&n);if(b==1&&n<=a3||b==2&&n<=a4){switch(b){case 1:sum[i]=2*n;a3=a3-n;break;case 2:sum[i]=3*n;a4=a4-n;break;}}else{printf("商品数量不足,请重新输入:");goto loop3;}break;case 3: printf("请选择:1听式非常可乐(3元每听)剩%d听,2.小瓶非常可乐(4元每瓶)剩%d听\n",a5,a6);scanf("%d",&b);loop4: printf("数量?");scanf("%d",&n);if(b==1&&n<=a5||b==2&&n<=a6){switch(b){case 1:sum[i]=1*n;a5=a5-n;break;case 2:sum[i]=2*n;a6=a6-n;break;}}else{printf("商品数量不足,请重新输入:");goto loop4;}break;}if(i<10){printf( "请选择: 1继续购物,2停止购物\n");scanf( "%d",&b);switch(b){case 1:goto loop1;case 2:printf("请您结账");}}for(i=0;i<=3;i++ )p=p+sum[i];printf("共消费%d元",p);loop5: printf("请输入金额:");scanf("%d",&Money);if(p>Money){printf("金额不够请重新输入:");goto loop5;}if(p==Money)printf("购物结束,谢谢光临");if(p<Money){c=Money-p;j=c/10;l=c%10;if(j>=5){k=j-5;if(k/2>=1){m=k/2;q=k-2*m;}printf("找您50元1张,20元%d张,10元%d张,1元%d张",m,q,l); }else{k=j;if(k/2>=1){m=k/2;q=k-2*m;}printf("找您20元%d张,10元%d张,1元%d张",m,q,l);}printf("请您收好!");}goto loop;}。

相关文档
最新文档