📄 untitlend.m
字号:
switch s
case '+'
result=str2num(str1)+str2num(str2);
case '-'
result=str2num(str1)-str2num(str2);
case '*'
result=str2num(str1)*str2num(str2);
case '/'
result=str2num(str1)/str2num(str2);
if str2num(str2) == 0
errordlg({'泡泡虫提醒您:0 不能作为除数,请检查!'},'警告');
end
case 'x^y'
result=power(str2num(str1),str2num(str2))
case 'sqrt'
result=sqrt(str2num(str1))
if str2num(str1)<0
errordlg({'泡泡虫提醒您:被开方数要大于 0,请检查!'},'警告');
end
case 'log'
result=log10(str2num(str1))
if str2num(str1)<=0
errordlg({'泡泡虫提醒您:对数必须大于0,请检查!'},'警告');
end
otherwise('unknown OP');
end
str1=num2str(result) %将结果放入str1
h=findobj('tag','screen');
set(h,'string',str1) %显示结果
mutex=2
str2=' ' %将下一个操作数设为空
% --------------------------------------------------------------------function edit_Callback(hObject, eventdata, handles)% hObject handle to edit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function Untitled_3_Callback(hObject, eventdata, handles)% hObject handle to Untitled_3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function Untitled_5_Callback(hObject, eventdata, handles)% hObject handle to Untitled_5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function Untitled_6_Callback(hObject, eventdata, handles)% hObject handle to Untitled_6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function Untitled_7_Callback(hObject, eventdata, handles)% hObject handle to Untitled_7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function help_Callback(hObject, eventdata, handles)% hObject handle to help (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% --------------------------------------------------------------------function Untitled_8_Callback(hObject, eventdata, handles)% hObject handle to Untitled_8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)helpdlg({'中南大学'...
'电子信息工程0204'...
'汪崇 30号'},'关于主题');% --------------------------------------------------------------------function Untitled_9_Callback(hObject, eventdata, handles)% hObject handle to Untitled_9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)helpdlg({'泡泡虫完整版V1.0'...
'本计算器还有许多不完善的地方,希望老师多加指正'...
'联系方式:E-mail:goodboy_18@163.com'},'关于我的计算器');% --------------------------------------------------------------------function Untitled_10_Callback(hObject, eventdata, handles)% hObject handle to Untitled_10 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)quit %退出
%-------------------------功能函数------------------------------
function operator()
global s
global mutex
h=findobj(gco); % 当前点击按钮的句柄赋给h
h1=findobj('tag','screen');
s=get(h,'string') % s中存放运算符
set(h1,'string','0')
mutex=1
function connectstr()
global str1
global str2
global mutex
global s
h=findobj('tag','screen');
h1=findobj(gco); %将当前按钮句柄赋给h1
r=get(h1,'string') %获取当前字符
%--------------------保存操作数1改变符号后的值---------------------
if mutex==2
if r=='+/-'
if str1(1)=='+' | str1(1)=='-'
if str1(1)~='-'
str1(1)='-'
else
str1(1)=' '
end
else
str1=['-',str1] %在第一个数前加个-号
end
end
set(h,'string',str1)
return
end
%------------------如果第一个数字为0则不能继续输入----------------
if mutex==0
if str1=='0'
set(h,'string',' ')
str1 = ' '
end
%-------------------------+/-键功能------------------------------
if r=='+/-'
if str1(1)=='+' | str1(1)=='-'
if str1(1)~='-'
str1(1)='-'
else
str1(1)=[]
end
else
str1=['-',str1] %在第一个数前加个-号
end
%------------------------防止输入多小数点-------------------------
elseif r=='.'
for k=1:length(str1)
if str1(k) == '.'
errordlg({'泡泡虫友情提示:您已经输入了一个小数点' },'警告');
return
end
end
str1=strcat(str1,r)
else
str1=strcat(str1,r) %继续输入数字
end
set(h,'string',str1) %显示第一个操作数
else %输入第二个操作数
str2=get(h,'string')
%---------------如果第一个数字为0则不能继续输入-----------------
if str2=='0'
set(h,'string',' ')
str2 = ' ';
end
%-------------------------+/-键功能------------------------------
if r=='+/-'
if str2(1)=='+'|str2(1)=='-'
if str2(1)~='-'
str2(1)='-'
else
str2(1)=[];
end
else
str2=['-',str2]
end
%-------------------------防止输入多小数点---------------------------
elseif r=='.'
for k=1:length(str2)
if str2(k) == '.'
errordlg({'泡泡虫友情提示:您已经输入了一个小数点'},'警告');
return
end
end
str2=[str2,r]
else
str2=strcat(str2,r)
end
set(h,'string',str2) %显示第二个操作数
end
%-----------------------清屏功能-----------------------
function clearscreen()
global str1
global str2
global s
global mutex
str1='0'
str2='0'
s=' '
mutex=0
h=findobj('tag','screen');
set(h,'string','0')
%-------------------颜色设置---------------------------
function blue_callback(hObject, eventdata, handles)
h=findobj('tag','PK');
set(h,'color','blue');
function red_callback(hObject, eventdata, handles)
h=findobj('tag','PK');
set(h,'color','red');
function yellow_callback(hObject, eventdata, handles)
h=findobj('tag','PK');
set(h,'color','yellow');
function white_callback(hObject, eventdata, handles)
h=findobj('tag','PK');
set(h,'color','white');
function black_callback(hObject, eventdata, handles)
h=findobj('tag','PK');
set(h,'color','black');
function default_callback(hObject, eventdata, handles)
h=findobj('tag','PK');
set(h,'color','default');
function green_callback(hObject, eventdata, handles)
h=findobj('tag','PK');
set(h,'color','green');% --------------------------------------------------------------------function Untitled_15_Callback(hObject, eventdata, handles)% hObject handle to Untitled_15 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -