自动售货机程序找零博图程序实现

news2024/7/6 18:16:03

 1、操作界面

2、程序实现


REGION 找零确认
    IF #找零确认 THEN                    //复位
        #"50元张数" := 0.0;
        #"20元张数" := 0.0;
        #"10元张数" := 0.0;
        #"5元张数" := 0.0;
        #"1元张数" := 0.0;
        #"5毛张数" := 0.0;
        "HMI.data".I输入价格 := 0.0;
        FILL_BLK(IN := 0,
                 COUNT := 12,
                 OUT => #St饮料数量[0]);
        #余额不足 := 0;
    END_IF;

END_REGION


REGION    饮料选择 
IF #饮料选择.%X1 THEN
    #购买价格Temp := 2;
END_IF;
IF #饮料选择.%X2 THEN
    #购买价格Temp := 3;
END_IF;
IF #饮料选择.%X3 THEN
    #购买价格Temp := 2;
END_IF;
IF #饮料选择.%X4 THEN
    #购买价格Temp := 4;
END_IF;
IF #饮料选择.%X5 THEN
    #购买价格Temp := 4.5;
END_IF;
IF #饮料选择.%X6 THEN
    #购买价格Temp := 3;
END_IF;
IF #饮料选择.%X7 THEN
    #购买价格Temp := 2;
END_IF;
IF #饮料选择.%X8 THEN
    #购买价格Temp := 4;
END_IF;
IF #饮料选择.%X9 THEN
    #购买价格Temp := 3;
END_IF;
IF #饮料选择.%X10 THEN
    #购买价格Temp := 2;
END_IF;
IF #饮料选择.%X11 THEN
    #购买价格Temp := 1.5;
END_IF;
IF #饮料选择.%X12 THEN
    #购买价格Temp := 1.5;
END_IF;
IF #饮料选择<>0 THEN
    #购买力Temp := #找零 - #购买价格Temp;
    IF #购买力Temp < 0 THEN
        #余额不足 := 1;
    ELSE
        #余额不足 := 0;
    END_IF;
END_IF;
END_REGION

REGION #找零
    #找零 := #输入价格 - (#饮料数量[0] * 2 + #饮料数量[1] * 3 + #饮料数量[2] * 2 + #饮料数量[3] * 4 + #饮料数量[4] * 4.5 + #饮料数量[5] * 3
    + #饮料数量[6] * 2 + #饮料数量[7] * 4 + #饮料数量[8] * 3 + #饮料数量[9] * 2 + #饮料数量[10] * 1.5 + #饮料数量[11] * 1.5);
    
    
    
    #UP1(CLK := #饮料选择 <> 0 AND NOT #余额不足);
    #COUNT := LN(#饮料选择) / LN(2) - 1;
    IF #UP1.Q THEN
        #St饮料数量[#COUNT] := #St饮料数量[#COUNT] + 1;
    END_IF;
    
    
    
    
    #饮料数量 := #St饮料数量;
    
END_REGION

REGION 找零比较
    IF #找零 > 0 AND CEIL(#找零) > #找零 THEN   //找零有小数,
        #"50元张数" := FLOOR(#找零 / 50.0);
        #temp1 := #找零 - 0.5 - #"50元张数" * 50.0;
        #"20元张数" := FLOOR(#temp1 / 20.0);
        #temp2 := #temp1 - #"20元张数" * 20.0;
        #"10元张数" := FLOOR(#temp2 / 10.0);
        #temp3 := #temp2 - #"10元张数" * 10.0;
        #"5元张数" := FLOOR(#temp3 / 5.0);
        #temp4 := #temp3 - #"5元张数" * 5;
        #"1元张数" := FLOOR(#temp4);
        #"5毛张数" := 1;
        ;
    END_IF;
    
    
    IF #找零 > 0 AND CEIL(#找零) = #找零 THEN    //找零是整数
        #"50元张数" := FLOOR(#找零 / 50.0);
        #temp1 := #找零 - #"50元张数" * 50.0;
        #"20元张数" := FLOOR(#temp1 / 20.0);
        #temp2 := #temp1 - #"20元张数" * 20.0;
        #"10元张数" := FLOOR(#temp2 / 10.0);
        #temp3 := #temp2 - #"10元张数" * 10.0;
        #"5元张数" := FLOOR(#temp3 / 5.0);
        #temp4 := #temp3 - #"5元张数" * 5;
        #"1元张数" := FLOOR(#temp4);
        #"5毛张数" := 0;
        ;
    END_IF;
    
    #找5毛张数 := REAL_TO_INT(#"5毛张数");
    #"找1元张数" := REAL_TO_INT(#"1元张数");
    #"找5元张数" := REAL_TO_INT(#"5元张数");
    #"找10元张数" := REAL_TO_INT(#"10元张数");
    #"找20元张数" := REAL_TO_INT(#"20元张数");
    #"找50元张数" := REAL_TO_INT(#"50元张数");
    
END_REGION


 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/517268.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysten Labs宣布推出积极贡献者和早期支持者ACES计划

Mysten Labs宣布推出积极贡献者和早期支持者&#xff08;ACES&#xff0c;Active Contributors & Early Supporters&#xff09;计划。这是对进入Sui主网的社区成员所做努力的巨大认可。 如果您在5月3日Sui主网启动之前就加入Sui Discord&#xff0c;请于5月18日凌晨2点&a…

JUC并发编程16 | CAS自旋锁

CAS自旋锁 是什么&#xff0c;干什么&#xff0c;解决了什么痛点&#xff1f;如何解决&#xff0c;如何使用。 原子类&#xff1a;java.util.concurrent.atomic 在没有CAS之前&#xff0c;多线程环境不使用原子类保证线程安全i等操作&#xff0c;会出现数据问题&#xff0c;…

LeetCode特训 -- Week3 (字符串)

目录 字符串基础 字符串基本操作 字符串匹配算法 字符串异位词问题 分组分类问题和快速查找数据结构之间存在一定的关系。 字符串回文串问题 留下悬念&#xff1a;高级字符串算法题目(字符串 dp) 字符串基础 字符串定义&#xff1a;n个字符顺次排列而成的序列. 子串&…

MySQL好玩新特性:离线模式

GreatSQL社区原创内容未经授权不得随意使用&#xff0c;转载请联系小编并注明来源。GreatSQL是MySQL的国产分支版本&#xff0c;使用上与MySQL一致。作者&#xff1a;Yejinrong/叶金荣文章来源&#xff1a;GreatSQL社区原创 继续吹MySQL 8.0~ 在以前&#xff0c;当需要对MySQL数…

CVPR 2023 | VoxelNeXt实现全稀疏3D检测跟踪,还能结合Seg Anything

在本文中&#xff0c;研究者提出了一个完全稀疏且以体素为基础的3D物体检测和跟踪框架VoxelNeXt。它采用简单的技术&#xff0c;运行快速&#xff0c;没有太多额外的成本&#xff0c;并且可以在没有NMS后处理的情况下以优雅的方式工作。VoxelNeXt在大规模数据集nuScenes、Waymo…

《编程思维与实践》1064.A-B(Big Integer)

《编程思维与实践》1064.A-B(Big Integer) 题目 思路 两个大整数做减法有可能出现结果为负的情况,因此结构体BIGINT需要补充符号位sign, 因为减法是个位对齐进行操作,为了方便起见,本题还是采用逆序(个位开始)存储. 注意到本题的两个整数均非负,所以不需要考虑转化为加法的情况…

TOOM舆情监测系统:从原理到应用

舆情监测系统是一种可以帮助企业、政府等机构了解公众对自己的看法和态度&#xff0c;提前发现和预测可能出现的危机或负面舆情&#xff0c;从而进行预警和应对的工具。本文将从原理到应用&#xff0c;通过国内具体案例分析&#xff0c;探讨舆情监测系统的相关知识。 一、舆情…

DSP:数字信号处理的原理及应用

什么是DSP&#xff1f;DSP一般有两种解释&#xff1a; 1、Digital Signal Processing&#xff0c;数字信号处理技术&#xff0c;简称DSP。是一门涉及许多学科而又广泛应用于许多领域的新兴学科。数字信号处理是围绕着数字信号处理的理论、实现和应用等几个方面发展起来的。数字…

有哪些好用的AI工具?

现在有很多好用的AI工具&#xff0c;以下是一些常用的&#xff1a; 1. TensorFlow&#xff1a;谷歌开发的深度学习框架&#xff0c;支持多种编程语言&#xff0c;包括Python、C、Java等。 2. PyTorch&#xff1a;Facebook开发的深度学习框架&#xff0c;易于使用&#xff0c;…

干货分享:PCB防静电设计的必要性

平时通过走路穿衣等日常活动带来的摩擦&#xff0c;会产生不同幅值的静电电压&#xff0c;但其能量很小不会对人体产生伤害&#xff0c;不过对于电子元器件来说&#xff0c;这种静电能量却是不能忽视的。 在干燥的环境下&#xff0c;人体静电&#xff08;ESD&#xff09;的电压…

matlab实验二可视化

学聪明点&#xff0c;自己改&#xff0c;别把我卖了 一、实验目的及要求 要求 1、掌握 MATLAB常用的二维和三维绘图函数 2、掌握MATLAB的图形注释 3、熟悉MATLAB常用的图形修饰 4、熟悉MATLAB的图形动画 实验原理 1、MATLAB二维绘图&#xff1a;plot,fplot,fimplicit&#xf…

Matlab 非线性迭代法(2)高斯牛顿法

一、思想 高斯牛顿法的对象是最小二乘法。 采用一定的方法对Hession 矩阵进行近似&#xff0c;这样的话可以减少计算量&#xff0c;只需要计算一阶偏导数得到雅可比矩阵即可。 minF(x)|| f(x)||^2 那么x在xk处的增量Δxk出的最小二乘法为 minF(xkΔxk)∣∣f(xk​Δxk​)∣…

Word处理控件Aspose.Words功能演示:使用 Java 处理 Word 文档的原始版本或修订版本

Aspose.Words是一种高级Word文档处理API&#xff0c;用于执行各种文档管理和操作任务。API支持生成&#xff0c;修改&#xff0c;转换&#xff0c;呈现和打印文档&#xff0c;而无需在跨平台应用程序中直接使用Microsoft Word。 Aspose API支持流行文件格式处理&#xff0c;并…

企业电子招投标采购系统源码之登录页面-java spring cloud

​ 信息数智化招采系统 服务框架&#xff1a;Spring Cloud、Spring Boot2、Mybatis、OAuth2、Security 前端架构&#xff1a;VUE、Uniapp、Layui、Bootstrap、H5、CSS3 涉及技术&#xff1a;Eureka、Config、Zuul、OAuth2、Security、OSS、Turbine、Zipkin、Feign、Monitor、…

制造业为什么要数字化?有何意义?

制造业为什么要数字化&#xff1f;有何意义&#xff1f; 党的二十大报告指出&#xff0c;要“坚持把发展经济的着力点放在实体经济上&#xff0c;推进新型工业化”“促进数字经济和实体经济深度融合”。 新一代信息技术催生第四次工业革命&#xff0c;互联网、大数据、人工智能…

MISC:图片隐写的破解方法.

MISC&#xff1a;图片隐写的破解方法. Misc即杂项&#xff0c;是信息隐藏又称信息伪装&#xff0c;就是通过减少载体的某种冗余&#xff0c;如空间冗余、数据冗余等&#xff0c;来隐藏敏感信息&#xff0c;达到某种特殊的目的。 信息隐藏打破了传统密码学的思维范畴&#xff0…

软件开发企业如何合理解决企业增值税和所得税问题?

业务是流程&#xff0c;财税是结果&#xff0c;税收问题千千万&#xff0c;关注《税算盘》来帮你找答案。 软件开发是根据用户的要求建造出软件系统或者系统中的软件部分的过程&#xff0c;软件开发是一项包括需求捕捉、需求分析、设计、实现和测试的系统工程。 与传统产业的…

实现高并发秒杀的 7 种方式

1.引言 高并发场景在现场的日常工作中很常见&#xff0c;特别是在互联网公司中&#xff0c;这篇文章就来通过秒杀商品来模拟高并发的场景。文章末尾会附上文章的所有代码、脚本和测试用例。 本文环境&#xff1a; SpringBoot 2.5.7 MySQL 8.0 X MybatisPlus Swagger2.9.2 …

【GPT-4理论系列篇】GPT-4核心技术探秘 | 京东云技术团队

作者&#xff1a;京东零售 刘岩 前言 GPT-4已经发布有一段时间了&#xff0c;但是出于安全性等各种原因&#xff0c;OpenAI并没有公布GPT-4的技术细节和代码&#xff0c;而是仅仅给出了一个长达100页的技术报告[1]。这个技术报告着重介绍了GPT-4的强大之处&#xff0c;仅仅给…

分享Python采集66个html5代码,总有一款适合您

分享Python采集66个html5代码&#xff0c;总有一款适合您 Python采集的66个html5代码下载链接&#xff1a;https://pan.baidu.com/s/1z0AsahthBcpDECA1bVg5ZA?pwd168a 提取码&#xff1a;168a 基于canvas的背景颜色渐变动画插件 jquery音乐播放器插件jsRapAudio HTML5 sv…