用matlab编程实现计算器

在软件工程工具课程中,通过任老师的指导,学习了MATLAB并亲自编写了一个计算器程序。MATLAB结合了数值计算和可视化,功能丰富,适用于多种场景。以下是实现计算器的MATLAB代码,供分享和交流。
摘要由CSDN通过智能技术生成

    这学期开了软件工程工具及其应用这么课,任老师给我们教了matlab程序设计语言,做了课程实验,自己用matlab实现了计算器,发现MATLAB确实是一门很有用得计算机编程语言,它把数值计算和可视化环境集成到一起,非常直观,而且提供了大量的函数,功能强大,工应用范围广泛。

 

 

附代码,大家交流家流!

calculate.m 函数文件,实现基本计算,可以重用
function answer=calculate(Number1,Number2,opvalue)
switch (opvalue)
    case '+'
       answer=Number1+Number2;%加法
    case '-'
        answer=Number1-Number2;%减法
    case '*'
        answer=Number1*Number2;%乘法
    case '/'
       answer=Number1/Number2;%除法
    case '^'
        answer=Number1^Number2;%求幂次
    case 'log'
        answer=log(Number1)/log(Number2); %取对数
    otherwise
end
 
界面主要回调函数
% --- 开启键盘
function btnStart_Callback(hObject, eventdata, handles)
global    Number1;% --- 操作数1
global    Number2;% --- 操作数2
global opvalue;% --- 运算符
global IsStart;% --- 开启键
global IsNew;% --- 操作数新得开始
Number1='';
Number2='';
opvalue = '';
 IsNew='true';
 IsStart='true';
set(handles.editDisplay,'string','0');
 
% --- 清除全部按键响应
function btnClearAll_Callback(hObject, eventdata, handles)
global    Number1;% --- 操作数1
global    Number2;% --- 操作数2
global opvalue;% --- 运算符
global IsNew;% --- 操作数新得开始
global IsStart;
 if strcmp(IsStart,'true')==1
Number1='';
Number2='';
opvalue = '';
IsNew='true';
set(handles.editDisplay,'string','0');
end
 
% --- 按键清屏响应
function btnClear_Callback(hObject, eventdata, handles)
global    Number2;% --- 操作数2
global IsNew;% --- 操作数新得开始
global IsStart;
 if strcmp(IsStart,'true')==1
Number2='';
IsNew='true';
set(handles.editDisplay,'string','0');
end
 
% --- 回退字符响应
function btnBack_Callback(hObject, eventdata, handles)
global IsNew;% --- 操作数新得开始
global IsStart;
 if strcmp(IsStart,'true')==1
temp=get(handles.editDisplay,'String');
 if strcmp(temp,'0')~=1
     if(max(size(temp))==1)
          set(handles.editDisplay,'String',0);
            IsNew='true';
      else
    set(handles.editDisplay,'String',temp(1:end-1));
     end
else
    set(handles.editDisplay,'String',0);
      IsNew='false';
end
end
 
% --- 按键0响应
function btn0_Callback(hObject, eventdata, handles)
global IsNew;
global IsStart;
 if strcmp(IsStart,'true')==1
temp=get(handles.editDisplay,'String');
 if strcmp(temp,'0
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值