题目要求:通过解锁程序,以及 电子琴程序,大家对簇,和条件结构应该有一定的了解了吧,接下来就要做一个小米标准计算器了,要求按照能实现加减乘除,退格,清空功能,想要加入更多细节,请查看小米计算器
可能很多人不喜欢一直看 labview的书,但是我认为看书还是有必要的,否则一直按照自己的想法走,总有走不通的时候,我的建议是,做东西,遇到问题,看书,解决,自然就理解了,而且也不会很烦
福利:计算器制作过程分解啦,在回复里看,其实有一个简单点的办法,但是发帖一周了,大家也该做一个逻辑性强一点的程序了,步骤足够详细,认真看一下吧。至于简单的方法,等你们以后学好了,想要把电脑里的程序全换成自己做的时候,自然就做出来了。还有就是这个程序做的很长,本应该用字VI的,但是如果做子VI,写步骤的时候就会有很多暂时不知道为什么这么写的地方,所以使用这种由浅入深的方法写了
每日一练汇总:https://bbs.elecfans.com/jishu_456394_1_1.html
LabVIEW每日一练qq群:73498596
6
|
|
|
|
好问题,许多计算器都是这样实现的,直观又简单,如果我们的程序这么做会简单很多,我说的简单的方法就是这个,实现方法就是,数学-脚本与公式-一位及二维分析-字符串公式求值
|
|
|
|
|
图裂开了!!!话说小米计算器是什么样子的呀?还没有一个练习顺利完成。还是回去看书吧。
|
|
|
|
|
1.建立一个簇,按下一个键,就会对应显示一个顺序(前面板右键可以调整顺序)
|
|
|
|
|
利用条件结构,将之前的索引值连接到判断结构,时间就从真假,变为0。1。。。但是因为我们,我们有18个键子,所以要添加0-17个判断条件,加上默认,切记0和默认不同,0也是一个输入,默认是无输入等其他所有情况,这时一般不做处理
|
|
|
|
|
本帖最后由 mengfx 于 2014-11-11 00:53 编辑
不好意思,去抢小米了,啥也没抢着,赶紧回来继续写,看你的每个索引,对应着字符常量0-9,每次输入,就把它添加到字符串里,或者其他一会处理
|
|
|
|
|
本帖最后由 mengfx 于 2014-11-11 10:37 编辑
接下来是清空和退格。清空就直接用一个空字符串替代,退格要提取最后提取出了最后一位,其他的字符串。
|
|
|
|
|
看了楼主的程序,有一个问题,就是条件分支的值和字符的值是怎么确定的,比如条件分支0对应的字符值是7
|
|
-
亦久123
2020-8-18 10:09
在簇中右键可以重新排列簇中控件,控件要对应每个分支,比如条件分支是0,显示的值是7,那么簇中的控件7就要对应条件分支0
|
|
|
本帖最后由 mengfx 于 2014-11-11 11:34 编辑
加减乘除时分别让标志位为1.2.3.4
等于时,检查标志位,为1.则执行加,为零则将当前值输出。
小数点之前忘记了,应该是和数字0-9一起输入的。
至此,基本功能已经实现,接下来就该修改bug了
|
|
|
|
|
bug1:输入012则显示012,正常是不会有零在那里的
|
|
|
|
|
bug2:等于后默认小数点后有6位,不足6位则为零,不需要0,将其去掉
|
|
|
|
|
bug3:输入7,+, -, 5,按照我们的想法,加是输错了,应该算7-5,但是程序在输入“+”的时候,当前值变为0,存储值变为7,输入“-”的时候,当前值变为0,存储值变为0(想想为什么)
|
|
|
|
|
bug4:可以输入1.2.3.4,但是实际是不可能有这个数的;输入的第一个如果是小数点,会出现 .123,不好看,改掉
|
|
|
|
|
bug5:按“1,+,2,=”当前值变为3,存储值变为0,若是按“+,1,=”,则合理,结果为4,但如果是直接按“1”,正常人的逻辑应该是开始一个全新的计算,但是它会显示“31”,这个问题我本来想把显示挪到条件结构里,对每个计算分别处理,但是那连要18根线,太麻烦了,我就不改了,你们有什么好办法吗?
bug6:不能计算1+2+3+4=,解决办法,每次输入加减乘除的时候,先做一个“等法”,确保没有连续的计算,也先不做了,你们可以试试
|
|
|
|
|
跟着长见识了
|
|
|
|
|
嗯,试试吧,版主在身体不适的情况下依然把这个程序做出来了
|
|
|
|
|