您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 虚拟仪器设计 计算器设计步骤及方法
标准计算器的设计一、设计思想:.创建3个字符串显示控件num1,num2,num3,其中:1、第一个输入数据存储在num1中2、第二个输入数据存入num2中3、将其赋给num3,并使num2为空,以便输入的数据存入num24、所有的运算是在num1和num3间进行5、运算结果都赋给result,同时赋给num1,用于下一次的运算.创建4个布尔开关按钮change,change1,change2,change3,其中:1、Change的真假用来判断是第一个数据还是第二个数据2、change1的功能是在输入=,运算完后,不需要初始化即可进行下一次运算3、change2用来去掉数据小数末尾的04、change3用来保证backspace键仅对输入的数据有效,对运算结果无效.创建2个数值显示控件type1,type2,并分别在其后面板的属性——数据类型——表示法中选择U8其中:1、type1用来存储运算符号2、type2用来保证连续“+、-、*、/”的正确性3、所有的运算结果都赋给result4、result经过去零处理后得到result1,将数据显示在前面板上。二、实现过程1、面板按键的设计及感应首先,在前面板上建立一个簇然后在簇中再建立布尔量,复制20个以满足键的需求(0--9十个数字键,一个小数点键,一个等号键,四则运算键,一个开方键,一个倒数键,一个反号键,一个清零键及一个退出键并注意按键的顺序)。将按键给值并作适当的美化处理在后面板中通过将簇中元素按产生的顺序组成一个一维数组,这样就实现了每个键与数字(0--20)之间的对应。每次按下一个键时,通过查找出对应的键并把结果(对应的数字)连接到一个case结构,然后执行对应case结构中的程序,至此就完成了对一个键的感应过程。2、数字的键入(0~8键入1~9数字)由于第一个输入和第二个输入所存放的地方不同(第一个存于num1,第二个存于num2→mun3再清空num2),所以有必要对此分开处理。创建2分支(真、假)的case结构。用change控制分支的选择:在处创建局部变量并转换为读入。由于数字的键入是数据输入,change3用来保证backspace键仅对输入的数据有效,故应设置分支结构的设计由于初始化中布尔量改变设置都为“F”,则若change为假,表示数字为第一个输入,将得到的数据送给result1经处理后由result显示,同时送入num1用于即将的运算。考虑到计算的连续性,即:当前一次计算结束后,不需要再次清零即可进行下一次的运算,还需用到change1。由于上一次运算结束后,所得到的结果可能会出现多零现象,所以又必要设置change2状态。具体的设计如图:Change为假时:Change为真时,表示数据的第二次输入,具体设计如下:至此,数字1~9的键入完成。3、“0”的输入由于存在多零的问题,多零开头时,删除多于零所以“0”的输入应区别于1~9的输入。输入“0”,涉及到多零和数据输入,应设置和状态。当change为真时,表示是第二次输入数据,与1~9的输入类似,另外考虑到多零的处理。具体设计如下:当change为假时,表示数据的第一次输入,与第二次输入的第一帧类似,具体设计如下:4、小数点的键入小数点的键入也相当于数据的录入,需要设置change3的状态另外需考虑到:一个数中不允许存在2个或者2个以上的小数点。同上,根据change个数改变判断当前输入的小数点是第一输入还是第二输入。Change为假:Change为真:5、等号的键入当num1和num3都键入值,且有确定的运算关系后,按下等号键,显示出结果。由于结果可能存在多零显现,所以需设置状态。由于开方、取反、取倒操作不涉及到等于键,故只需设计+、-、*、/四个键。具体设计如下:6、四则运算的连续实现具体的实现过程和上一步类似,但是应加入,保证计算的连续性7、C键清零作用C键的作用是:当按下此键后,程序初始化8、CE退出键CE键的作用是,当按下此键后,程序结束循环,并将0显示在前面板上。9、开方键10、倒数键11、反号键12、backspace键backspace键仅对输入数据有效13、默认事件14、对result的处理上述所有结果都赋值给result,result经0值处理后,由result1输出并在前面板上显示。利用while循环,检测result最后一位是否为0,若为0,则减去末位后赋值给本身;若不为0,则退出循环显示数据,从而实现去0的功能。用change2控制条件分支的选择,当change2为假时,直接将result值给result1并结束result处理循环。当change2真时,进行数据处理。至此,计算器的基本功能已实现,后面板程序框图结构如下图所示。前面板结构将字符串显示控件、布尔开关按钮、数值显示控件隐藏,即可得到最后的计算器了。三、总结此计算器可以实现基本的加减乘除以及开方、取倒、取反功能,可以进行数据的连续运算以及简单的报错、纠错功能,在此计算器模版上,可以继续添加条件分支,实现更多功能的运算,但是不支持第二个数位为开方、取反、取倒的功能。
本文标题:虚拟仪器设计 计算器设计步骤及方法
链接地址:https://www.777doc.com/doc-30523 .html