作者:包括萨u盾根本_173 | 来源:互联网 | 2023-09-13 12:11
LabVIEW入门第十二天(简易计算器编写第二步)-LabVIEW入门第十二天欢迎大家阅读本篇文章,今天给大家介绍简易计算器编写第二步,欢迎有兴趣的一起学习探讨。一,简易计算

LabVIEW入门第十二天
欢迎大家阅读本篇文章,今天给大家介绍简易计算器编写第二步,欢迎有兴趣的一起学习探讨。
一,简易计算器编程构思
先根据功能一项项实现:
1.实现五位正数的输入和显示。(根据不同数字按钮按下,依次显示数字,实现五位数的显示)
2.将输入的数值根据按下的任意算法(加减乘除),清零并保存当前显示的值,等待第二个值的输入。
二,实现五位正数的输入和显示。
编程的第一步,拖出一个While循环作为程序的循环体,加上停止条件,如下图所示:

此时要实现前面板按下某一按钮(0-9)时,数值控件显示对应的数字,由于涉及到用户操作,所以采用事件结构,如下图所示:

然后增加每一个按钮按下的事件,并写事件对应的代码(使数值控件显示对应的数值),如下图所示:



由于按钮比较多,我这里采用簇的方式会更简单,如下图:

这里将所有按钮控件全部放在一个簇里面,后面板程序如下图所示:

即簇当中的1按钮被按下。依次类推将数值按钮(0-9)写完。运行会发现按下的数值按钮,数值控件就会显示对应数值。
仔细会发现还得实现连续按下数值按钮,显示个十百千万等位数的数值,这里就要涉及到计算,例如:按下按钮,1、5、7,就必须显示157,计算公式是将前面的数值乘以10再加上当前值就可以实现。我先按下1,即显示1,按下5,即110+5=15,再按下7,即将前面的1510+7=157,具体实现这里采用了移位寄存器的方式,将计算的数据存到内存中随时被使用,数值控件的显示也采用了移位寄存器的方式,在超时事件里面编写,如下图所示:


依次类推将数值按钮写完,再次运行你会发现五位数的数值输入功能实现了。
二,实现五位正数加减乘除。
同理采用按钮事件(+、—、X、÷),将上次保存到移位寄存器的值和按下算法按钮后的数值进行计算,我这里采用了枚举和移位寄存器的方式将按下的算法保存到内存中,如下图所示:

这里注意,操作步骤是先按下一个数值,然后再按下算法按钮,按下算法按钮时,数值显示控件的值必须清零,如上图中的0赋值给移位寄存器,再按下第二组数值,最后按下等于按钮,将两者进行计算,如下图所示:

最后就是按下清零按钮(C),将当前显示的值清零,如下图所示:

退出循环条件这里改成了前面板关闭的事件,如下图所示:

以上就是简易计算器的基本编写,采用移位寄存器的方式会更加简单快捷,省去了局部变量的使用和其他繁琐的代码,有兴趣的可以一起交流学习,这个源码我已上传,可以直接下载,链接如下:https://download.csdn.net/download/LcVong/12256934