• 大小: 61KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-27
  • 语言: Matlab
  • 标签: Matlab  GUI  

资源简介

实现具有加,减,乘,除基本四则运算功能、能够实现二进制,八进制,十进制,十六进制转换、具有运算优先级别,包括运算符号的优先级判断,实现基于括号的优先级控制、具有科学函数计算功能,包括三角函数(具有角度与弧度的切换),指数函数,对数函数等

资源截图

代码片段和文件信息

function varargout = jisuanqi4(varargin)

gui_Singleton = 1;
gui_State = struct(‘gui_Name‘       mfilename ...
                   ‘gui_Singleton‘  gui_Singleton ...
                   ‘gui_OpeningFcn‘ @jisuanqi4_OpeningFcn ...
                   ‘gui_OutputFcn‘  @jisuanqi4_OutputFcn ...
                   ‘gui_LayoutFcn‘  []  ...
                   ‘gui_Callback‘   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State varargin{:});
else
    gui_mainfcn(gui_State varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before jisuanqi4 is made visible.
function jisuanqi4_OpeningFcn(hobject eventdata handles varargin)

handles.output = hobject;
javaframe = get(hobject‘Javaframe‘);
javaframe.setFigureIcon(javax.swing.ImageIcon(‘icon1.jpg‘));

global op
op=zeros(17);
handles.exp=‘ ‘;

guidata(hobject handles);

function varargout = jisuanqi4_OutputFcn(hobject eventdata handles) 
varargout{1} = handles.output;


% --- Executes on button press in num7.
function num7_Callback(hobject eventdata handles)
global op
m=‘7‘;
n=[m ‘.‘];
a=op;
str=get(handles.xianshi‘string‘);
if ~a(5)%初始状态
    if (~a(1))&&(~a(2))
        set(handles.xianshi‘string‘n)
    else
        set(handles.xianshi‘string‘m)
    end
elseif (~a(1))&&(~a(2))   %计算状态%十进制
    if length(str)<20   %数的长度小于20
        if a(6)   %小数
            set(handles.xianshi‘string‘[str m])
        else   %整数
            set(handles.xianshi‘string‘[str(1:end-1) n])
        end
    end
elseif length(str)<20
    set(handles.xianshi‘string‘[str m])
end
a([3 5])=[0 1];
op=a;

function num8_Callback(hobject eventdata handles)
global op
m=‘8‘;
n=[m ‘.‘];
a=op;
str=get(handles.xianshi‘string‘);
if ~a(5)%初始状态
    if (~a(1))&&(~a(2))
        set(handles.xianshi‘string‘n)
    else
        set(handles.xianshi‘string‘m)
    end
elseif (~a(1))&&(~a(2))   %计算状态%十进制
    if length(str)<20   %数的长度小于20
        if a(6)   %小数
            set(handles.xianshi‘string‘[str m])
        else   %整数
            set(handles.xianshi‘string‘[str(1:end-1) n])
        end
    end
elseif length(str)<20 %计算状态、其他进制、长度小于20
    set(handles.xianshi‘string‘[str m])
end
a([3 5])=[0 1];
op=a;

function num9_Callback(hobject eventdata handles)
global op
m=‘9‘;
n=[m ‘.‘];
a=op;
str=get(handles.xianshi‘string‘);
if ~a(5)%初始状态
    if (~a(1))&&(~a(2))
        set(handles.xianshi‘string‘n)
    else
        set(handles.xianshi‘string‘m)
    end
elseif (~a(1))&&(~a(2))   %计算状态%十进制
    if length(str)<20   %数的长度小于20
        if a(6)   %小数
            set(handles.xianshi‘string‘[str m])
        else   %整数
            set(handles.xianshi‘string‘[str(1:end-1) n])
        end
    end
elseif length(str)<20 %计算状态、其他进制、长度小于20
    set(handles.xianshi‘string‘[str m])
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      63385  2009-08-15 11:34  科学计算器\无标题.jpg

     文件       9436  2009-04-22 12:05  科学计算器\jisuanqi4.fig

     文件      33196  2009-04-22 12:06  科学计算器\jisuanqi4.m

     文件       2358  2008-12-22 09:29  科学计算器\icon1.jpg

     目录          0  2011-01-10 15:00  科学计算器

----------- ---------  ---------- -----  ----

               108375                    5


评论

共有 条评论