MATLAB仿XP系统计算器编程代码和GUI附图.docx
- 文档编号:27673044
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:49
- 大小:36.45KB
MATLAB仿XP系统计算器编程代码和GUI附图.docx
《MATLAB仿XP系统计算器编程代码和GUI附图.docx》由会员分享,可在线阅读,更多相关《MATLAB仿XP系统计算器编程代码和GUI附图.docx(49页珍藏版)》请在冰豆网上搜索。
MATLAB仿XP系统计算器编程代码和GUI附图
MATLAB仿XP系统计算器编程代码和GUI附图
functionvarargout=Caculater(varargin)
%CACULATERM-fileforCaculater.fig
%CACULATER,byitself,createsanewCACULATERorraisestheexisting
%singleton*.
%
%H=CACULATERreturnsthehandletoanewCACULATERorthehandleto
%theexistingsingleton*.
%
%CACULATER('CALLBACK',hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinCACULATER.Mwiththegiveninputarguments.
%
%CACULATER('Property','Value',...)createsanewCACULATERorraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforeCaculater_OpeningFunctiongetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.AllinputsarepassedtoCaculater_OpeningFcnviavarargin.
%
%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone
%instancetorun(singleton)".
%
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%EdittheabovetexttomodifytheresponsetohelpCaculater
%LastModifiedbyGUIDEv2.519-Jul-201113:
59:
25
%Begininitializationcode-DONOTEDIT
%程序有由于使用num2str函数,是的小数最多为四位,如需更多,可参考num2str(X,N),其中N表示最大容许小数位数
gui_Singleton=1;
gui_State=struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@Caculater_OpeningFcn,...
'gui_OutputFcn',@Caculater_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
ifnargin&&ischar(varargin{1})
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
});
end
%Endinitializationcode-DONOTEDIT
%---ExecutesjustbeforeCaculaterismadevisible.
functionCaculater_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstoCaculater(seeVARARGIN)
%ChoosedefaultcommandlineoutputforCaculater
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesCaculaterwaitforuserresponse(seeUIRESUME)
%uiwait(handles.fig_caculater);
set(handles.edit_show,'String','0','UserData',0);
set(handles.pushbutton_n0,'UserData',0);
set(handles.pushbutton_n1,'UserData',0);
set(handles.pushbutton_n2,'UserData',0);
set(handles.pushbutton_n3,'UserData',0);
set(handles.pushbutton_plus,'UserData',0);
set(handles.pushbutton_M,'UserData',0);
set(handles.pushbutton_MM,'Enable','off','String','','UserData',0);
set(handles.pushbutton_point,'UserData',0);
set(handles.pushbutton_negate,'UserData',0);
set(handles.pushbutton_sqrt,'UserData',0);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=Caculater_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%---Executesonbuttonpressinpushbutton_MC.
functionpushbutton_MC_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton_MC(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
num=get(handles.pushbutton_MM,'UserData',0);
if(rem(num,2)==1)
set(handles.pushbutton_M,'UserData',0);
if(get(handles.pushbutton_n2,'UserData')==0)&&(get(handles.pushbutton_n3,'UserData')==0)
set(handles.pushbutton_n0,'UserData',0);
elseif(get(handles.pushbutton_n2,'UserData')==1)&&(get(handles.pushbutton_n3,'UserData')==0)
set(handles.pushbutton_n1,'UserData',0);
end
set(handles.edit_show,'String','0','UserData',0);
end
set(handles.pushbutton_point,'UserData',0);
set(handles.pushbutton_negate,'UserData',0);
set(handles.pushbutton_sqrt,'UserData',0);
%---Executesonbuttonpressinpushbutton_MR.
functionpushbutton_MR_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton_MR(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
num=get(handles.pushbutton_MM,'UserData');
if(rem(num,2)==1)
num1=get(handles.pushbutton_M,'UserData');
set(handles.edit_show,'String',num2str(num1),'UserData',num1);
if(get(handles.pushbutton_n2,'UserData')==0)&&(get(handles.pushbutton_n3,'UserData')==0)
set(handles.pushbutton_n0,'UserData',num1);
elseif(get(handles.pushbutton_n2,'UserData')==1)&&(get(handles.pushbutton_n3,'UserData')==0)
set(handles.pushbutton_n1,'UserData',num1);
end
end
set(handles.pushbutton_point,'UserData',0);
set(handles.pushbutton_negate,'UserData',0);
set(handles.pushbutton_sqrt,'UserData',0);
%---Executesonbuttonpressinpushbutton_MS.
functionpushbutton_MS_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton_MS(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
num=get(handles.pushbutton_MM,'UserData');
if(rem(num,2)==1)
str=get(handles.edit_show,'String');
set(handles.pushbutton_M,'UserData',str2num(str));
end
set(handles.pushbutton_point,'UserData',0);
set(handles.pushbutton_negate,'UserData',0);
set(handles.pushbutton_sqrt,'UserData',0);
%---Executesonbuttonpressinpushbutton_M.
functionpushbutton_M_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton_M(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
num=get(handles.pushbutton_MM,'UserData')+1;
set(handles.pushbutton_MM,'UserData',num);
if(rem(num,2)==0)
set(handles.pushbutton_MM,'String','');
set(handles.pushbutton_M,'UserData',0);
else
set(handles.pushbutton_MM,'String','M');
end
set(handles.pushbutton_sqrt,'UserData',0);
%---Executesonbuttonpressinpushbutton_n8.
functionpushbutton_n8_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton_n8(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
if(get(handles.pushbutton_sqrt,'UserData')==1)
set(handles.edit_show,'UserData',0);
set(handles.pushbutton_sqrt,'UserData',0);
end
num_point=get(handles.pushbutton_point,'UserData');
num_negate=rem(get(handles.pushbutton_negate,'UserData'),2);
num=get(handles.edit_show,'UserData');
if((num_point==0)&&(num_negate==0))
ifnum<2^48%此处限制输入数字过大,可根据具体情况酌情设置;
num=num*10+8;
end
elseif((num_point==0)&&(num_negate==1))
ifnum>-2^48
num=num*10-8;
end
elseif((num_point~=0)&&(num_negate==0))
ifnum<2^48
num=num+8*10^(-num_point);
set(handles.pushbutton_point,'UserData',num_point+1);
end
else
ifnum>-2^48
num=num-8*10^(-num_point);
set(handles.pushbutton_point,'UserData',num_point+1);
end
end
if(get(handles.pushbutton_n2,'UserData')==0)&&(get(handles.pushbutton_n3,'UserData')==0)
set(handles.pushbutton_n0,'UserData',num);
elseif(get(handles.pushbutton_n2,'UserData')==1)&&(get(handles.pushbutton_n3,'UserData')==0)
set(handles.pushbutton_n1,'UserData',num);
end
set(handles.edit_show,'String',num2str(num),'UserData',num);
%---Executesonbuttonpressinpushbutton_n9.
functionpushbutton_n9_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton_n9(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
if(get(handles.pushbutton_sqrt,'UserData')==1)
set(handles.edit_show,'UserData',0);
set(handles.pushbutton_sqrt,'UserData',0);
end
num_point=get(handles.pushbutton_point,'UserData')
num_negate=rem(get(handles.pushbutton_negate,'UserData'),2)
num=get(handles.edit_show,'UserData')
if((num_point==0)&&(num_negate==0))
ifnum<2^48%此处限制输入数字过大,可根据具体情况酌情设置;
num=num*10+9;
end
elseif((num_point==0)&&(num_negate==1))
ifnum>-2^48
num=num*10-9;
end
elseif((num_point~=0)&&(num_negate==0))
ifnum<2^48
num=num+9*10^(-num_point);
set(handles.pushbutton_point,'UserData',num_point+1);
end
else
ifnum>-2^48
num=num-9*10^(-num_point);
set(handles.pushbutton_point,'UserData',num_point+1);
end
end
if(get(handles.pushbutton_n2,'UserData')==0)&&(get(handles.pushbutton_n3,'UserData')==0)
set(handles.pushbutton_n0,'UserData',num);
elseif(get(handles.pushbutton_n2,'UserData')==1)&&(get(handles.pushbutton_n3,'UserData')==0)
set(handles.pushbutton_n1,'UserData',num);
end
set(handles.edit_show,'String',num2str(num),'UserData',num);
%---Executesonbuttonpressinpushbutton_divisor.
functionpushbutton_divisor_Callback(hObject,eventdata,handles)
%hObjecthandletopushbutton_divisor(seeGCBO)
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
set(handles.edit_show,'UserData',0);
if(get(handles.pushbutton_n2,'UserData')==1)&&(get(handles.pushbutton_n3,'UserData')==0)
num1=get(handles.pushbutton_n0,'UserData');
num2=get(handles.pushbutton_n1,'UserData');
if(get(handles.pushbutton_plus,'UserData')==0)
num=num1+num2;
elseif(get(handles.pushbutton_plus,'UserData')==1)
num=num1-num2;
elseif(get(handles.pushbutton_plus,'UserData')==2)
num=num1*num2;
elseif(get(handles.pushbutton_plus,'UserData')==3)
num=num1/num2;
elseif(get(handles.pushbutton_plus,'Us
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB XP 系统 计算器 编程 代码 GUI 附图
![提示](https://static.bdocx.com/images/bang_tan.gif)