MATLAB:[1]纯代码实现简单计算器
1、 所有的代码如下,最后的界面如图所示:
%简单计算器
hf=figure('Color',[0,1,1],'Position',[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
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);'];
![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)