MATLAB:[1]纯代码实现简单计算器

时间:2024-10-12 13:56:22

下面这个例子是一个简单计算器的实现过程,完全用代码实现,只用了一个.m文件。这个计算啊可以实现加减乘除功能。

计算器实现过程

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]纯代码实现简单计算器

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]纯代码实现简单计算器

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]纯代码实现简单计算器

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]纯代码实现简单计算器

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]纯代码实现简单计算器

6、运算效果如图所示,所有功能正常。

MATLAB:[1]纯代码实现简单计算器
© 手抄报圈