MATLAB:[1]纯代码实现简单计算器
下面这个例子是一个简单计算器的实现过程,完全用代码实现,只用了一个.m文件。这个计算啊可以实现加减乘除功能。
计算器实现过程
1、所有的代码如下,最后的界面如图所示:%简单计算器 hf=figure('Color',[0,1,1],'Position泌驾台佐39;,[100,200,400,200],... 'Name','简单计算器','NumberTitle','off','MenuBar','none'); %文本1 用于输入数1 ht1=uicontrol(hf,'Style','Text','Position',[0.1,0.8,0.2,0.1],... 'Units','normalized','String','数1'); %文本2 用于输入数2 ht2=uicontrol(hf,'Style','Text','Position',[0.4,0.8,0.2,0.1],... 'Units','normalized','String','数2'); %文本3 用于输入数2 ht3=uicontrol(hf,'Style','Text','Position',[0.7,0.8,0.2,0.1],... 'Units','normalized','String','结果'); %编辑框1 用于输入数1 he1=uicontrol(hf,'Style','Edit','Position',[0.1,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); %编辑框2 用于输入数2 he2=uicontrol(hf,'Style','Edit','Position',[0.4,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); %编辑框2 用于输入数2 he3=uicontrol(hf,'Style','Edit','Position',[0.7,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); %下面这段代码用于实现数1加数2,并把结果显示到编辑框3 ADD=['n1=str2num(get(he1,''String''));','n2=str2num(get(he2,''String''));',... 'res=n1+n2;','set(he3,''string'',res);']; %下面这段代码用于实现数1减数2,并把结果显示到编辑框3 SUB=['n1=str2num(get(he1,''String''));','n2=str2num(get(he2,''String''));',... 'res=n1-n2;','set(he3,''string'',res);']; %下面这段代码用于实现数1乘数2,并把结果显示到编辑框3 MUL=['n1=str2num(get(he1,''String''));','n2=str2num(get(he2,''String''));',... 'res=n1*n2;','set(he3,''string'',res);']; %下面这段代码用于实现数1除数2,并把结果显示到编辑框3 DIV=['n1=str2num(get(he1,''String''));','n2=str2num(get(he2,''String''));',... 'res=n1/n2;','set(he3,''string'',res);']; %加法按钮 uicontrol(hf,'Style','Push','Position',[0.1,0.3,0.2,0.12],... 'String','+','Units','normalized','Call',ADD); %减法按钮 uicontrol(hf,'Style','Push','Position',[0.3,0.3,0.2,0.12],... 'String','-','Units','normalized','Call',SUB); %乘法按钮 uicontrol(hf,'Style','Push','Position',[0.5,0.3,0.2,0.12],... 'String','*','Units','normalized','Call',MUL); %除法按钮 uicontrol(hf,'Style','Push','Position',[0.7,0.3,0.2,0.12],... 'String','/','Units','normalized','Call',DIV);
![MATLAB:[1]纯代码实现简单计算器](https://exp-picture.cdn.bcebos.com/e0c73a2fa872941fae342a6f7b5e4a237871e664.jpg)
2、静态文本的实现用了三行代码,用于显示文字数1、数2和结果: %文本1 用于输入数1 ht1=uicontrol(hf,'Style','Text','Position',[0.1,0.8,0.2,0.1],... 'Units','normalized','String','数1'); %文本2 用于输入数2 ht2=uicontrol(hf,'Style','Text','Position',[0.4,0.8,0.2,0.1],... 'Units','normalized','String','数2'); %文本3 用于输入数2 ht3=uicontrol(hf,'Style','Text','Position',[0.7,0.8,0.2,0.1],... 'Units','normalized','String','结果');
![MATLAB:[1]纯代码实现简单计算器](https://exp-picture.cdn.bcebos.com/a68c126efbf202b3680787ce30f4da5873dadb64.jpg)
3、数1、数2和结果:用了编辑框来实现:he1=uicontrol(hf,'Style','Edit','Position',[0.1,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); %编辑框2 用于输入数2 he2=uicontrol(hf,'Style','Edit','Position',[0.4,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]); %编辑框2 用于输入数2 he3=uicontrol(hf,'Style','Edit','Position',[0.7,0.6,0.2,0.1],... 'Units','normalized','Back',[0,1,0]);
![MATLAB:[1]纯代码实现简单计算器](https://exp-picture.cdn.bcebos.com/ac45306817e951e1272846e35e3da824d9e9cf64.jpg)
4、加减乘除的算法实现放在四个代码块中: %下面这段代码用于实现数1加墙绅褡孛数2,并把结果显示到编辑框3 A肛舀辨乔DD=['n1=str2num(get(he1,''String''));','n2=str2num(get(he2,''String''));',... 'res=n1+n2;','set(he3,''string'',res);']; %下面这段代码用于实现数1减数2,并把结果显示到编辑框3 SUB=['n1=str2num(get(he1,''String''));','n2=str2num(get(he2,''String''));',... 'res=n1-n2;','set(he3,''string'',res);']; %下面这段代码用于实现数1乘数2,并把结果显示到编辑框3 MUL=['n1=str2num(get(he1,''String''));','n2=str2num(get(he2,''String''));',... 'res=n1*n2;','set(he3,''string'',res);']; %下面这段代码用于实现数1除数2,并把结果显示到编辑框3 DIV=['n1=str2num(get(he1,''String''));','n2=str2num(get(he2,''String''));',... 'res=n1/n2;','set(he3,''string'',res);'];
![MATLAB:[1]纯代码实现简单计算器](https://exp-picture.cdn.bcebos.com/05a320a23a42a07a97c0a286673834bb18efc164.jpg)
5、下面的代码实现了四个按钮的显示和回调方法的设置: %加法按钮 uicontrol(hf,'Style','Push','Position',[0.1,0.3,0.2,0.12],... 'String','+','Units','normalized','Call',ADD); %减法按钮 uicontrol(hf,'Style','Push','Position',[0.3,0.3,0.2,0.12],... 'String','-','Units','normalized','Call',SUB); %乘法按钮 uicontrol(hf,'Style','Push','Position',[0.5,0.3,0.2,0.12],... 'String','*','Units','normalized','Call',MUL); %除法按钮 uicontrol(hf,'Style','Push','Position',[0.7,0.3,0.2,0.12],... 'String','/','Units','normalized','Call',DIV);
![MATLAB:[1]纯代码实现简单计算器](https://exp-picture.cdn.bcebos.com/b6f0f0f97fbd4c7c726322f4b8bad341027d3065.jpg)
6、运算效果如图所示,所有功能正常。
![MATLAB:[1]纯代码实现简单计算器](https://exp-picture.cdn.bcebos.com/d4071b96b814f4d0e0d3d667cdfe474ec3832365.jpg)