您现在的位置:首页 >> 技术文章 >> MATLAB技术 >> 内容

MATLAB代做|FPGA代做-简易计算机设计

时间:2021-2-11 11:16:36 点击:

  核心提示:MATLAB代做|FPGA代做-简易计算机设计...

function varargout = Calculator(varargin)

% CALCULATOR M-file for Calculator.fig

%      CALCULATOR, by itself, creates a new CALCULATOR or raises the existing

%      singleton*.

%

%      H = CALCULATOR returns the handle to a new CALCULATOR or the handle to

%      the existing singleton*.

%

%      CALCULATOR('CALLBACK',hObject,eventData,handles,...) calls the local

%      function named CALLBACK in CALCULATOR.M with the given input arguments.

%

%      CALCULATOR('Property','Value',...) creates a new CALCULATOR or raises the

%      existing singleton*.  Starting from the left, property value pairs are

%      applied to the GUI before Calculator_OpeningFunction gets called.  An

%      unrecognized property name or invalid value makes property application

%      stop.  All inputs are passed to Calculator_OpeningFcn via varargin.

%

%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one

%      instance to run (singleton)".

%

% See also: GUIDE, GUIDATA, GUIHANDLES

 

% Edit the above text to modify the response to help Calculator

 

% Last Modified by GUIDE v2.5 17-Dec-2008 17:12:53

 

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

                   'gui_Singleton',  gui_Singleton, ...

                   'gui_OpeningFcn', @Calculator_OpeningFcn, ...

                   'gui_OutputFcn',  @Calculator_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 Calculator is made visible.

function Calculator_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject    handle to figure

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

% varargin   command line arguments to Calculator (see VARARGIN)

 

% Choose default command line output for Calculator

handles.output = hObject;

 

% Update handles structure

guidata(hObject, handles);

 

% UIWAIT makes Calculator wait for user response (see UIRESUME)

% uiwait(handles.figure1);

 

 

% --- Outputs from this function are returned to the command line.

function varargout = Calculator_OutputFcn(hObject, eventdata, handles) 

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global a

global e

global b

global c

global d

global f

global g

global h

global t

global S

global PP

global MP

global MS

global MMP

global MC

MMP='0.';

MC='0.';

S='0.';

PP='0.';

MP='0.';

MS='0.';

a='';

b='';

c='';

d='';

e='';

f='';

g='';

h='';

t=0;

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','0.')

% varargout  cell array for returning output args (see VARARGOUT);

% hObject    handle to figure

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

 

% Get default command line output from handles structure

varargout{1} = handles.output;

 

 

 

function edtxt_Callback(hObject, eventdata, handles)

% hObject    handle to edtxt (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

 

% Hints: get(hObject,'String') returns contents of edtxt as text

%        str2double(get(hObject,'String')) returns contents of edtxt as a double

 

 

% --- Executes during object creation, after setting all properties.

function edtxt_CreateFcn(hObject, eventdata, handles)

% hObject    handle to edtxt (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

 

% Hint: edit controls usually have a white background on Windows.

%       See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

    set(hObject,'BackgroundColor','white');

end

 

 

% --- Executes on button press in Backspace.

function Backspace_Callback(hObject, eventdata, handles)

% hObject    handle to Backspace (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MP

global t

Backspace1=get(handles.edtxt,'string');

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

    beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

    beep;

elseif (~isempty(multiply) | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

elseif (strcmp(MP,'0.')~=1)

elseif strcmp(Backspace1,'0.')

elseif (t==1)

    back=char(Backspace1);

    l=length(Backspace1);

    Backspace=back(1:l-1);

    if strcmp(back(end),'.')

        back=char(Backspace1);

        l=length(Backspace1);

        Backspace=back(1:l-1);

        Backspace=strcat(Backspace(1:end-1),'.');

        if (strcmp(Backspace,'.'))

            set(handles.edtxt,'String','0.');

            t=0;

        elseif ((strcmp(Backspace(end-1),'-')))

            set(handles.edtxt,'String','0.');

            t=0;

        else

            set(handles.edtxt,'String',Backspace);

 

        end

 

    else

        set(handles.edtxt,'String',Backspace);

    end

 

 

 

else

    back=char(Backspace1);

    l=length(Backspace1);

    Backspace=back(1:l-2);

    if (isempty(Backspace))|(strcmp(Backspace,'-'))

        set(handles.edtxt,'String','0.');

    else

        Backspace=strcat(Backspace,'.');

        set(handles.edtxt,'String',Backspace);

    end

 

end

 

 

 

 

% --- Executes on button press in CE.

function CE_Callback(hObject, eventdata, handles)

% hObject    handle to CE (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

set(handles.edtxt,'String','0.')

 

 

% --- Executes on button press in C.

function C_Callback(hObject, eventdata, handles)

% hObject    handle to C (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

a='';

b='';

c='';

d='';

e='';

f='';

g='';

h='';

t=0;

MP='0.';

MC='0.';

MS='0.';

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','0.')

 

 

 

% --- Executes on button press in n1.

function n1_Callback(hObject, eventdata, handles)

% hObject    handle to n1 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1| strcmp(MC,'0.')~=0| strcmp(MP,'0.')~=1|~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','1.');

else

    n1=get(handles.edtxt,'string');

    if (strcmp(n1,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.1');

        else

            set(handles.edtxt,'String','1.');

        end

    else

        if (t==1)

            n1=strcat(n1,'1');

            set(handles.edtxt,'String',n1);

        else

            n1=strcat(n1(1:end-1),'1.');

            set(handles.edtxt,'String',n1);

        end

    end

end

 

 

 

% --- Executes on button press in n2.

function n2_Callback(hObject, eventdata, handles)

% hObject    handle to n2 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus='';

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','2.');

else

    n2=get(handles.edtxt,'string');

    if (strcmp(n2,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.2');

        else

            set(handles.edtxt,'String','2.');

        end

    else

        if (t==1)

            n2=strcat(n2,'2');

            set(handles.edtxt,'String',n2);

        else

            n2=strcat(n2(1:end-1),'2.');

            set(handles.edtxt,'String',n2);

        end

    end  

 end   

    

 

 

% --- Executes on button press in n3.

function n3_Callback(hObject, eventdata, handles)

% hObject    handle to n3 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','3.');

else

 n3=get(handles.edtxt,'string');

    if (strcmp(n3,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.3');

        else

            set(handles.edtxt,'String','3.');

        end

    else

        if (t==1)

            n3=strcat(n3,'3');

            set(handles.edtxt,'String',n3);

        else

            n3=strcat(n3(1:end-1),'3.');

            set(handles.edtxt,'String',n3);

        end

    end     

end   

  

    

% --- Executes on button press in n4.

function n4_Callback(hObject, eventdata, handles)

% hObject    handle to n4 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','4.');

else

 n4=get(handles.edtxt,'string');

    if (strcmp(n4,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.4');

        else

            set(handles.edtxt,'String','4.');

        end

    else

        if (t==1)

            n4=strcat(n4,'4');

            set(handles.edtxt,'String',n4);

        else

            n4=strcat(n4(1:end-1),'4.');

            set(handles.edtxt,'String',n4);

        end

    end

end

 

 

 

% --- Executes on button press in n5.

function n5_Callback(hObject, eventdata, handles)

% hObject    handle to n5 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','5.');

else

  n5=get(handles.edtxt,'string');

    if (strcmp(n5,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.5');

        else

            set(handles.edtxt,'String','5.');

        end

    else

        if (t==1)

            n5=strcat(n5,'5');

            set(handles.edtxt,'String',n5);

        else

            n5=strcat(n5(1:end-1),'5.');

            set(handles.edtxt,'String',n5);

        end

    end  

end      

 

 

 

% --- Executes on button press in n6.

function n6_Callback(hObject, eventdata, handles)

% hObject    handle to n6 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','6.');

else

n6=get(handles.edtxt,'string');

    if (strcmp(n6,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.6');

        else

            set(handles.edtxt,'String','6.');

        end

    else

        if (t==1)

            n6=strcat(n6,'6');

            set(handles.edtxt,'String',n6);

        else

            n6=strcat(n6(1:end-1),'6.');

            set(handles.edtxt,'String',n6);

        end

    end  

end       

   

 

 

% --- Executes on button press in n7.

function n7_Callback(hObject, eventdata, handles)

% hObject    handle to n7 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','7.');

else

 n7=get(handles.edtxt,'string');

    if (strcmp(n7,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.7');

        else

            set(handles.edtxt,'String','7.');

        end

    else

        if (t==1)

            n7=strcat(n7,'7');

            set(handles.edtxt,'String',n7);

        else

            n7=strcat(n7(1:end-1),'7.');

            set(handles.edtxt,'String',n7);

        end

    end

end

 

 

% --- Executes on button press in n8.

function n8_Callback(hObject, eventdata, handles)

% hObject    handle to n8 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus='';

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','8.');

else

 n8=get(handles.edtxt,'string');

    if (strcmp(n8,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.8');

        else

            set(handles.edtxt,'String','8.');

        end

    else

        if (t==1)

            n8=strcat(n8,'8');

            set(handles.edtxt,'String',n8);

        else

            n8=strcat(n8(1:end-1),'8.');

            set(handles.edtxt,'String',n8);

        end

    end  

end       

    

 

 

% --- Executes on button press in n9.

function n9_Callback(hObject, eventdata, handles)

% hObject    handle to n9 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

global y

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus='';

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','9.');

else

 n9=get(handles.edtxt,'string');

    if (strcmp(n9,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.9');

        else

            set(handles.edtxt,'String','9.');

        end

    else

        if (t==1)

            n9=strcat(n9,'9');

            set(handles.edtxt,'String',n9);

        else

            n9=strcat(n9(1:end-1),'9.');

            set(handles.edtxt,'String',n9);

        end

    end  

end   

 

 

% --- Executes on button press in n0.

function n0_Callback(hObject, eventdata, handles)

% hObject    handle to n0 (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus='' ;

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','0.');

else

    n0=get(handles.edtxt,'string');

    if (strcmp(n0,'0.'))

        if (t==1)

            set(handles.edtxt,'String','0.0');

        else

           

        end

    else

        if (t==1)

            n0=strcat(n0,'0');

            set(handles.edtxt,'String',n0);

        else

            n0=strcat(n0(1:end-1),'0.');

            set(handles.edtxt,'String',n0);

        end

    end  

end   

    

 

 

% --- Executes on button press in np.

function np_Callback(hObject, eventdata, handles)

% hObject    handle to np (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global a

global e

global b

global c

global d

global f

global g

global h

global t

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | ~isempty(plus) | ~isempty(minus) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

    a=multiply;

    b=plus;

    c=minus;

    d=equal;

    e=divide;

    f=kasr;

    g=percent;

    h=sqrtc;

    multiply='';

    plus='';

    minus='';

    equal='';

    divide='';

    sqrtc='';

    kasr='';

    percent='';

    set(handles.edtxt,'String','0.');

    np=get(handles.edtxt,'string');

    if (strcmp(np,'0.'))

        if t==1

            nnp=regexp(np,'[-]');

            if nnp>0

                set(handles.edtxt,'String',np(2:end));

            else

                np=strcat('-',np);

                set(handles.edtxt,'String',np);

            end

        end

    else

        nnp=regexp(np,'[-]');

        if nnp>0

            set(handles.edtxt,'String',np(2:end));

        else

            np=strcat('-',np);

            set(handles.edtxt,'String',np);

        end

    end

else

    np=get(handles.edtxt,'string');

    if (strcmp(np,'0.'))

       if t==1 

       nnp=regexp(np,'[-]');

        if nnp>0

            set(handles.edtxt,'String',np(2:end));

        else

            np=strcat('-',np);

            set(handles.edtxt,'String',np);

        end

       end

    else

        nnp=regexp(np,'[-]');

        if nnp>0

            set(handles.edtxt,'String',np(2:end));

        else

            np=strcat('-',np);

            set(handles.edtxt,'String',np);

        end

    end

end

 

 

% --- Executes on button press in dot.

function dot_Callback(hObject, eventdata, handles)

% hObject    handle to dot (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global MS

global MC

global MP

global a

global e

global b

global c

global d

global f

global g

global h

global t

global x

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | strcmp(MS,'0.')~=1 | strcmp(MC,'0.')~=0 | strcmp(MP,'0.')~=1 | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide)| ~isempty(kasr) | ~isempty(sqrtc) | ~isempty(percent))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

f=kasr;

g=percent;

h=sqrtc;

x=MS;

MS='0.';

MP='0.';

MC='';

multiply='';

plus='';

minus=''; 

equal=''; 

divide='';

sqrtc='';

kasr='';

percent='';

set(handles.edtxt,'String','0.');

t=get(handles.dot,'value');

else

t=get(handles.dot,'value');

end

 

 

% --- Executes on button press in divide.

function divide_Callback(hObject, eventdata, handles)

% hObject    handle to divide (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global a

global e

global b

global c

global t

t=0;

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

       

elseif (isempty(multiply)& isempty(plus) & isempty(minus)& isempty(equal)& isempty(kasr) & isempty(sqrtc)& isempty(percent))

    divide=str2double(get(handles.edtxt,'string'));

    ansd=e/divide;

    if (~isempty(e) & isnan(ansd))

        set(handles.edtxt,'string','Result of function is undefined.')

    

    elseif (~isempty(e) & abs(ansd)==inf)

        set(handles.edtxt,'string','Cannot divide by zero.')

 

    elseif ~isempty(e);

        ansd=e/divide;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            divide=str2double(ansd(1:end-1));

            e='';

        else

            set(handles.edtxt,'string',ansd);

            divide=ansd;

            e='';

        end

    end

    %%%%%%%%%%%%%%%

    if ~isempty(a);

        ansm=a*divide;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            divide=str2double(ansm(1:end-1));

            a='';

        else

            set(handles.edtxt,'string',ansm);

            divide=ansm;

            a='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(c);

        ansu=c-divide;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            divide=str2double(ansu(1:end-1));

            c='';

        else

            set(handles.edtxt,'string',ansu);

            divide=ansu;

            c='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(b);

        ansp=b+divide;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            divide=str2double(ansp(1:end-1));

            b='';

        else

            set(handles.edtxt,'string',ansp);

            divide=ansp;

            b='';

        end

    end

else

    multiply='';

    plus='';

    minus='';

    equal='';

    sqrtc='';

    percent='';

    kasr='';

    b='';

    a='';

    e='';

    c='';

divide=str2double(get(handles.edtxt,'string'));

 ansd=e/divide;

 if (~isempty(e) & isnan(ansd))

     set(handles.edtxt,'string','Result of function is undefined.')

 elseif (~isempty(e) & abs(ansd)==inf)

     set(handles.edtxt,'string','Cannot divide by zero.')

 elseif ~isempty(e);

     ansd=e/divide;

     if (fix(ansd)-ansd==0)

         set(handles.edtxt,'string',ansd);

         ansd=get(handles.edtxt,'string');

         ansd=strcat(ansd,'.');

         set(handles.edtxt,'string',ansd);

         divide=str2double(ansd(1:end-1));

         e='';

     else

         set(handles.edtxt,'string',ansd);

         divide=ansd;

         e='';

     end

 end

 %%%%%%%%%%%%%%%

    if ~isempty(a);

        ansm=a*divide;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            divide=str2double(ansm(1:end-1));

            a='';

        else

            set(handles.edtxt,'string',ansm);

            divide=ansm;

            a='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(c);

        ansu=c-divide;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            divide=str2double(ansu(1:end-1));

            c='';

        else

            set(handles.edtxt,'string',ansu);

            divide=ansu;

            c='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(b);

        ansp=b+divide;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            divide=str2double(ansp(1:end-1));

            b='';

        else

            set(handles.edtxt,'string',ansp);

            divide=ansp;

            b='';

        end

    end

end

 

 

 

% --- Executes on button press in sqrt.

function sqrt_Callback(hObject, eventdata, handles)

% hObject    handle to sqrt (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

divide='';

plus='';

minus='';

equal='';

multiply='';

percent='';

sqrtc=get(handles.edtxt,'string');

if (strcmp(sqrtc,'Cannot divide by zero.'))

    set(handles.edtxt,'string','Cannot divide by zero.');

    beep;

elseif (str2double(get(handles.edtxt,'string'))<0 | strcmp(sqrtc,'Invalid input for function.'))

    set(handles.edtxt,'string','Invalid input for function.');

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (isempty(divide)& isempty(plus) & isempty(minus)& isempty(equal)& isempty(kasr) & isempty(multiply)& isempty(percent))

    sqrtc=str2double(get(handles.edtxt,'string'));

    sqrtc=sqrt(sqrtc);

    if (fix(sqrtc)-sqrtc==0)

        set(handles.edtxt,'String',sqrtc);

        sqrtc=get(handles.edtxt,'string');

        sqrtc=strcat(sqrtc,'.');

        set(handles.edtxt,'String',sqrtc);

 

    else

      

           set(handles.edtxt,'string',sqrtc);

       

    end

else

    divide='';

    plus='';

    minus='';

    equal='';

    multiply='';

    percent='';

    kasr='';

    sqrtc=str2double(get(handles.edtxt,'string'));

    sqrtc=sqrt(sqrtc);

     if (fix(sqrtc)-sqrtc==0)

        set(handles.edtxt,'String',sqrtc);

        sqrtc=get(handles.edtxt,'string');

        sqrtc=strcat(sqrtc,'.');

        set(handles.edtxt,'String',sqrtc);

 

    else

        set(handles.edtxt,'string',sqrtc);

 

    end

       

end

 

 

 

% --- Executes on button press in multiply.

function multiply_Callback(hObject, eventdata, handles)

% hObject    handle to multiply (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global a

global e

global b

global c

global t

t=0;

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

 

elseif (isempty(divide)& isempty(plus) & isempty(minus)& isempty(equal)& isempty(kasr) & isempty(sqrtc)& isempty(percent))

multiply=str2double(get(handles.edtxt,'string'));

   ansd=e/multiply;  

   if (~isempty(e) & isnan(ansd))

       set(handles.edtxt,'string','Result of function is undefined.')

 

   elseif (~isempty(e) & abs(ansd)==inf)

       set(handles.edtxt,'string','Cannot divide by zero.')

 

   elseif ~isempty(e);

       ansd=e/multiply;

       if (fix(ansd)-ansd==0)

           set(handles.edtxt,'string',ansd);

           ansd=get(handles.edtxt,'string');

           ansd=strcat(ansd,'.');

           set(handles.edtxt,'string',ansd);

           multiply=str2double(ansd(1:end-1));

           e='';

       else

           set(handles.edtxt,'string',ansd);

            multiply=ansd;

            e='';

        end

    end

    %%%%%%%%%%%%%%%

    if ~isempty(a);

        ansm=a*multiply;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            multiply=str2double(ansm(1:end-1));

            a='';

        else

            set(handles.edtxt,'string',ansm);

            multiply=ansm;

            a='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(c);

        ansu=c-multiply;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            multiply=str2double(ansu(1:end-1));

            c='';

        else

            set(handles.edtxt,'string',ansu);

            multiply=ansu;

            c='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(b);

        ansp=b+multiply;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            multiply=str2double(ansp(1:end-1));

            b='';

        else

            set(handles.edtxt,'string',ansp);

            multiply=ansp;

            b='';

        end

    end

else

    divide='';

    plus='';

    minus='';

    equal='';

    sqrtc='';

    percent='';

    kasr='';

    b='';

    a='';

    e='';

    c='';

multiply=str2double(get(handles.edtxt,'string'));

    ansd=e/multiply;

    if (~isempty(e) & isnan(ansd))

        set(handles.edtxt,'string','Result of function is undefined.')

 

    elseif (~isempty(e) & abs(ansd)==inf)

        set(handles.edtxt,'string','Cannot divide by zero.')

 

    elseif ~isempty(e);

        ansd=e/multiply;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            multiply=str2double(ansd(1:end-1));

            e='';

        else

            set(handles.edtxt,'string',ansd);

            multiply=ansd;

            e='';

        end

    end

    %%%%%%%%%%%%%%%

    if ~isempty(a);

        ansm=a*multiply;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            multiply=str2double(ansm(1:end-1));

            a='';

        else

            set(handles.edtxt,'string',ansm);

            multiply=ansm;

            a='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(c);

        ansu=c-multiply;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            multiply=str2double(ansu(1:end-1));

            c='';

        else

            set(handles.edtxt,'string',ansu);

            multiply=ansu;

            c='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(b);

        ansp=b+multiply;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            multiply=str2double(ansp(1:end-1));

            b='';

        else

            set(handles.edtxt,'string',ansp);

            multiply=ansp;

            b='';

        end

    end

end

 

 

 

% --- Executes on button press in percent.

function percent_Callback(hObject, eventdata, handles)

% hObject    handle to percent (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global a

global b

global c

global d

global e

global g

global t

t=0;

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (isempty(multiply) & isempty(plus) & isempty(minus) & isempty(equal)& isempty(sqrtc) & isempty(kasr)& isempty(divide))

percent=str2double(get(handles.edtxt,'string'));

else

multiply='';

plus='';

minus=''; 

equal='';

divide='';

sqrtc='';

kasr='';

percent=str2double(get(handles.edtxt,'string'));

end

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (~isempty(multiply) | ~isempty(plus) | ~isempty(minus) | ~isempty(equal) | ~isempty(divide))

a=multiply;

b=plus;

c=minus;

d=equal;

e=divide;

multiply='';

plus='';

minus='';

equal=''; 

divide='';

else

   set(handles.edtxt,'string','0.');

    if (isempty(percent)& ~isempty(e))

        percent=str2double(get(handles.edtxt,'string'));

                     ansd=e*percent/100;

            if (fix(ansd)-ansd==0)

                set(handles.edtxt,'string',ansd);

                ansd=get(handles.edtxt,'string');

                ansd=strcat(ansd,'.');

                set(handles.edtxt,'string',ansd);

                ansd=str2double(ansd(1:end-1));

               percent=ansd;

            else

                set(handles.edtxt,'string',ansd);

               

            end

       

    elseif(~isempty(percent)& ~isempty(e))

         ansd=e*percent/100;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            ansd=str2double(ansd(1:end-1));

            percent=ansd;

        else

            set(handles.edtxt,'string',ansd);

            

        end

 

    end

    %%%%%%%%%%%%%%%

    if (isempty(percent) & ~isempty(a))

        percent=str2double(get(handles.edtxt,'string'));

        ansm=a*percent/100;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            ansm=str2double(ansm(1:end-1));

 

        else

            set(handles.edtxt,'string',ansm);

 

        end

 

    elseif(~isempty(percent) & ~isempty(a))

        ansm=a*percent/100;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            ansm=str2double(ansm(1:end-1));

 

        else

            set(handles.edtxt,'string',ansm);

 

        end

 

    end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    if (isempty(percent) & ~isempty(c))

        percent=str2double(get(handles.edtxt,'string'));

                    ansu=c*percent/100;

            if (fix(ansu)-ansu==0)

                set(handles.edtxt,'string',ansu);

                ansu=get(handles.edtxt,'string');

                ansu=strcat(ansu,'.');

                set(handles.edtxt,'string',ansu);

                ansu=str2double(ansu(1:end-1));

               

            else

                set(handles.edtxt,'string',ansu);

               

            end

           elseif(~isempty(percent) & ~isempty(c))

        ansu=c*percent/100;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            ansu=str2double(ansu(1:end-1));

            

        else

            set(handles.edtxt,'string',ansu);

            

        end

 

    end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if (isempty(percent) & ~isempty(b))

    percent=str2double(get(handles.edtxt,'string'));

      ansp=b*percent/100;

    if (fix(ansp)-ansp==0)

        set(handles.edtxt,'string',ansp);

        ansp=get(handles.edtxt,'string');

        ansp=strcat(ansp,'.');

        set(handles.edtxt,'string',ansp);

        ansp=str2double(ansp(1:end-1));

 

    else

 

        set(handles.edtxt,'string',ansp);

    end

elseif(~isempty(percent) & ~isempty(b))

 

    ansp=b*percent/100;

    if (fix(ansp)-ansp==0)

        set(handles.edtxt,'string',ansp);

        ansp=get(handles.edtxt,'string');

        ansp=strcat(ansp,'.');

        set(handles.edtxt,'string',ansp);

        ansp=str2double(ansp(1:end-1));

 

    else

 

 

        set(handles.edtxt,'string',ansp);

 

    end

 

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

if (isempty(percent) & ~isempty(g))

        percent=str2double(get(handles.edtxt,'string'));

        ansm=g*percent/100;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            ansm=str2double(ansm(1:end-1));

 

        else

            set(handles.edtxt,'string',ansm);

 

        end

 

    elseif(~isempty(percent) & ~isempty(g))

        ansm=g*percent/100;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            ansm=str2double(ansm(1:end-1));

 

        else

            set(handles.edtxt,'string',ansm);

 

        end

 

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   

end

 

 

 

% --- Executes on button press in minus.

function minus_Callback(hObject, eventdata, handles)

% hObject    handle to minus (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global a

global e

global b

global c

global t

t=0;

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif (isempty(multiply)& isempty(divide) & isempty(kasr)& isempty(equal)& isempty(plus) & isempty(sqrtc)& isempty(percent))

minus=str2double(get(handles.edtxt,'string'));

    ansd=e/minus;

    if (~isempty(e) & isnan(ansd))

        set(handles.edtxt,'string','Result of function is undefined.')

 

    elseif (~isempty(e) & abs(ansd)==inf)

        set(handles.edtxt,'string','Cannot divide by zero.')

    elseif ~isempty(e);

        ansd=e/minus;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            minus=str2double(ansd(1:end-1));

            e='';

        else

            set(handles.edtxt,'string',ansd);

            minus=ansd;

            e='';

        end

    end

    %%%%%%%%%%%%%%%

    if ~isempty(a);

        ansm=a*minus;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            minus=str2double(ansm(1:end-1));

            a='';

        else

            set(handles.edtxt,'string',ansm);

            minus=ansm;

            a='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(c);

        ansu=c-minus;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            minus=str2double(ansu(1:end-1));

            c='';

        else

            set(handles.edtxt,'string',ansu);

            minus=ansu;

            c='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(b);

        ansp=b+minus;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            minus=str2double(ansp(1:end-1));

            b='';

        else

            set(handles.edtxt,'string',ansp);

            minus=ansp;

            b='';

        end

    end

else

    multiply='';

    plus='';

    divide='' ;

    equal='';

    sqrtc='';

    percent='';

    kasr='';

    b='';

    a='';

    e='';

    c='';

    minus=str2double(get(handles.edtxt,'string'));

    

    ansd=e/minus;

    

    if (~isempty(e) & isnan(ansd))

        set(handles.edtxt,'string','Result of function is undefined.')

    

    elseif (~isempty(e) & abs(ansd)==inf)

        set(handles.edtxt,'string','Cannot divide by zero.')

 

    elseif ~isempty(e);

        ansd=e/minus;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            minus=str2double(ansd(1:end-1));

            e='';

        else

            set(handles.edtxt,'string',ansd);

            minus=ansd;

            e='';

        end

    end

    %%%%%%%%%%%%%%%

    if ~isempty(a);

        ansm=a*minus;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            minus=str2double(ansm(1:end-1));

            a='';

        else

            set(handles.edtxt,'string',ansm);

            minus=ansm;

            a='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(c);

        ansu=c-minus;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            minus=str2double(ansu(1:end-1));

            c='';

        else

            set(handles.edtxt,'string',ansu);

            minus=ansu;

            c='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(b);

        ansp=b+minus;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            minus=str2double(ansp(1:end-1));

            b='';

        else

            set(handles.edtxt,'string',ansp);

            minus=ansp;

            b='';

        end

    end

end

 

 

 

% --- Executes on button press in kasr.

function kasr_Callback(hObject, eventdata, handles)

% hObject    handle to kasr (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

kasr=get(handles.edtxt,'string');

if (strcmp(kasr,'Invalid input for function.'))

    set(handles.edtxt,'string','Invalid input for function.');

    beep;

elseif ( str2double(get(handles.edtxt,'string'))==0 | strcmp(kasr,'Cannot divide by zero.'))

    set(handles.edtxt,'string','Cannot divide by zero.');

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;    

elseif (isempty(multiply)& isempty(divide) & isempty(minus)& isempty(equal)& isempty(plus) & isempty(sqrtc)& isempty(percent))

    kasr=str2double(get(handles.edtxt,'string'));

    kasr=1/kasr;

    if (fix(kasr)-kasr==0)

        set(handles.edtxt,'string',kasr);

        kasr=get(handles.edtxt,'string');

        kasr=strcat(kasr,'.');

        set(handles.edtxt,'string',kasr);

    else

        set(handles.edtxt,'string',kasr);

    end

else

    multiply='';

    divide='';

    minus='';

    equal='';

    sqrtc='';

    percent='';

    plus='';

    kasr=str2double(get(handles.edtxt,'string'));

    kasr=1/kasr;

    if (fix(kasr)-kasr==0)

        set(handles.edtxt,'string',kasr);

        kasr=get(handles.edtxt,'string');

        kasr=strcat(kasr,'.');

        set(handles.edtxt,'string',kasr);

    else

        set(handles.edtxt,'string',kasr);

    end

end

 

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

 

 

% --- Executes on button press in plus.

function plus_Callback(hObject, eventdata, handles)

% hObject    handle to plus (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global a

global e

global b

global c

global t

t=0;

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

 

elseif (isempty(multiply)& isempty(divide) & isempty(minus)& isempty(equal)& isempty(kasr) & isempty(sqrtc)& isempty(percent))

    plus=str2double(get(handles.edtxt,'string'));

        ansd=e/plus;

    if (~isempty(e) & isnan(ansd))

        set(handles.edtxt,'string','Result of function is undefined.')

 

    elseif (~isempty(e) & abs(ansd)==inf)

        set(handles.edtxt,'string','Cannot divide by zero.')

 

 

    elseif ~isempty(e);

        ansd=e/plus;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            plus=str2double(ansd(1:end-1));

            e='';

        else

            set(handles.edtxt,'string',ansd);

            plus=ansd;

            e='';

        end

    end

 

    %%%%%%%%%%%%%%%

    if ~isempty(a);

        ansm=a*plus;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            plus=str2double(ansm(1:end-1));

            a='';

        else

            set(handles.edtxt,'string',ansm);

            plus=ansm;

            a='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(c);

        ansu=c-plus;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            plus=str2double(ansu(1:end-1));

            c='';

        else

            set(handles.edtxt,'string',ansu);

            plus=ansu;

            c='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(b);

        ansp=b+plus;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            plus=str2double(ansp(1:end-1));

            b='';

        else

            set(handles.edtxt,'string',ansp);

            plus=ansp;

            b='';

        end

    end

else

    multiply='';

    divide='';

    minus='';

    equal='';

    sqrtc='';

    percent='';

    kasr='';

    b='';

    a='';

    e='';

    c='';

    plus=str2double(get(handles.edtxt,'string'));

    ansd=e/plus;

    if (~isempty(e) & isnan(ansd))

        set(handles.edtxt,'string','Result of function is undefined.')

    

    elseif (~isempty(e) & abs(ansd)==inf)

        set(handles.edtxt,'string','Cannot divide by zero.')

    

    elseif ~isempty(e);

        ansd=e/plus;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

             plus=str2double(ansd(1:end-1));

            e='';

        else

            set(handles.edtxt,'string',ansd);

            plus=ansd;

            e='';

        end

    end

    %%%%%%%%%%%%%%%

    if ~isempty(a);

        ansm=a*plus;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            plus=str2double(ansm(1:end-1));

            a='';

        else

            set(handles.edtxt,'string',ansm);

            plus=ansm;

            a='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(c);

        ansu=c-plus;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

             plus=str2double(ansu(1:end-1));

            c='';

        else

            set(handles.edtxt,'string',ansu);

            plus=ansu;

            c='';

        end

    end

    %%%%%%%%%%%%%%%%%

    if ~isempty(b);

        ansp=b+plus;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            plus=str2double(ansp(1:end-1));

            b='';

        else

            set(handles.edtxt,'string',ansp);

            plus=ansp;

            b='';

        end

    end

end

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

 

% --- Executes on button press in equal.

function equal_Callback(hObject, eventdata, handles)

% hObject    handle to equal (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global kasr

global sqrtc

global percent

global multiply

global divide

global plus

global minus

global equal

global a

global e

global b

global c

global t

t=0;

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

 

elseif (isempty(multiply)& isempty(divide) & isempty(minus)& isempty(plus)& isempty(kasr) & isempty(sqrtc)& isempty(percent))

    if (isempty(equal)& ~isempty(e))

        equal=str2double(get(handles.edtxt,'string'));

        %if ~isempty(e);

         ansd=e/equal;

         if (isnan(ansd))

             set(handles.edtxt,'string','Result of function is undefined.')

 

         elseif (abs(ansd)==inf)

             set(handles.edtxt,'string','Cannot divide by zero.')

 

         elseif (fix(ansd)-ansd==0)

             set(handles.edtxt,'string',ansd);

             ansd=get(handles.edtxt,'string');

             ansd=strcat(ansd,'.');

             set(handles.edtxt,'string',ansd);

             ansd=str2double(ansd(1:end-1));

             e=ansd;

         else

            set(handles.edtxt,'string',ansd);

            e=ansd;

        end

        %end

    elseif(~isempty(equal)& ~isempty(e))

        ansd=e/equal;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            ansd=str2double(ansd(1:end-1));

            e=ansd;

        else

            set(handles.edtxt,'string',ansd);

            e=ansd;

        end

 

    end

    %%%%%%%%%%%%%%%

    if (isempty(equal) & ~isempty(a))

        equal=str2double(get(handles.edtxt,'string'));

        %if ~isempty(a);

            ansm=a*equal;

            if (fix(ansm)-ansm==0)

                set(handles.edtxt,'string',ansm);

                ansm=get(handles.edtxt,'string');

                ansm=strcat(ansm,'.');

                set(handles.edtxt,'string',ansm);

                ansm=str2double(ansm(1:end-1));

                a=ansm;

            else

                set(handles.edtxt,'string',ansm);

                a=ansm;

            end

        %end

    elseif(~isempty(equal) & ~isempty(a))

        ansm=a*equal;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            ansm=str2double(ansm(1:end-1));

            a=ansm;

        else

            set(handles.edtxt,'string',ansm);

            a=ansm;

        end

 

    end

%    

% %     if ~isempty(a);

% %         ansm=a*equal;

% %         if (fix(ansm)-ansm==0)

% %             set(handles.edtxt,'string',ansm);

% %             ansm=get(handles.edtxt,'string');

% %             ansm=strcat(ansm,'.');

% %             set(handles.edtxt,'string',ansm);

% %             equal=str2double(ansm(1:end-1));

% %             a='';

% %         else

% %             set(handles.edtxt,'string',ansm);

% %             ansm='';

% %             a='';

% %         end

% %     end

%     %%%%%%%%%%%%%%%%%

    if (isempty(equal) & ~isempty(c))

        equal=str2double(get(handles.edtxt,'string'));

        %if ~isempty(c);

            ansu=c-equal;

            if (fix(ansu)-ansu==0)

                set(handles.edtxt,'string',ansu);

                ansu=get(handles.edtxt,'string');

                ansu=strcat(ansu,'.');

                set(handles.edtxt,'string',ansu);

                ansu=str2double(ansu(1:end-1));

                c=ansu;

            else

                set(handles.edtxt,'string',ansu);

                c=ansu;

            end

       % end

    elseif(~isempty(equal) & ~isempty(c))

        ansu=c-equal;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            ansu=str2double(ansu(1:end-1));

            c=ansu;

        else

            set(handles.edtxt,'string',ansu);

            c=ansu;

        end

 

    end

%    

% %     if ~isempty(c);

% %         ansu=c-equal;

% %         if (fix(ansu)-ansu==0)

% %             set(handles.edtxt,'string',ansu);

% %             ansu=get(handles.edtxt,'string');

% %             ansu=strcat(ansu,'.');

% %             set(handles.edtxt,'string',ansu);

% %             equal=str2double(ansu(1:end-1));

% %             c='';

% %         else

% %             set(handles.edtxt,'string',ansu);

% %             ansu='';

% %             c='';

% %         end

% %     end

%     %%%%%%%%%%%%%%%%%

%             

    if (isempty(equal) & ~isempty(b))

        equal=str2double(get(handles.edtxt,'string'));

        %if ~isempty(b);

            ansp=b+equal;

            if (fix(ansp)-ansp==0)

                set(handles.edtxt,'string',ansp);

                ansp=get(handles.edtxt,'string');

                ansp=strcat(ansp,'.');

                set(handles.edtxt,'string',ansp);

                ansp=str2double(ansp(1:end-1));

                b=ansp;

            else

                set(handles.edtxt,'string',ansp);

                b=ansp;

            end

        %end

    elseif(~isempty(equal) & ~isempty(b))

        ansp=b+equal;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            ansp=str2double(ansp(1:end-1));

            b=ansp;

        else

            set(handles.edtxt,'string',ansp);

            b=ansp;

        end

 

    end

 

%     if ~isempty(b);

%         ansp=b+equal;

%         if (fix(ansp)-ansp==0)

%             set(handles.edtxt,'string',ansp);

%             ansp=get(handles.edtxt,'string');

%             ansp=strcat(ansp,'.');

%             set(handles.edtxt,'string',ansp);

%             equal=str2double(ansp(1:end-1));

%             b='';

%         else

%             set(handles.edtxt,'string',ansp);

%             ansp='';

%             b='';

%         end

%     end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

else

    multiply='';

    divide='';

    minus='';

    plus='';

    sqrtc='';

    percent='';

    kasr='';

%         b='';

%         a='';

%         e='';

%         c='';

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5

    if (isempty(equal)& ~isempty(e))

        equal=str2double(get(handles.edtxt,'string'));

        

        ansd=e/equal;

        if (isnan(ansd))

            set(handles.edtxt,'string','Result of function is undefined.')

 

        elseif (abs(ansd)==inf)

            set(handles.edtxt,'string','Cannot divide by zero.')

 

        elseif (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            ansd=str2double(ansd(1:end-1));

            e=ansd;

        else

            set(handles.edtxt,'string',ansd);

            e=ansd;

        end

       

    elseif(~isempty(equal)& ~isempty(e))

        ansd=e/equal;

        if (fix(ansd)-ansd==0)

            set(handles.edtxt,'string',ansd);

            ansd=get(handles.edtxt,'string');

            ansd=strcat(ansd,'.');

            set(handles.edtxt,'string',ansd);

            ansd=str2double(ansd(1:end-1));

            e=ansd;

        else

            set(handles.edtxt,'string',ansd);

            e=ansd;

        end

 

    end

    %%%%%%%%%%%%%%%

    if (isempty(equal) & ~isempty(a))

        equal=str2double(get(handles.edtxt,'string'));

        

        ansm=a*equal;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            ansm=str2double(ansm(1:end-1));

            a=ansm;

        else

            set(handles.edtxt,'string',ansm);

            a=ansm;

        end

        

    elseif(~isempty(equal) & ~isempty(a))

        ansm=a*equal;

        if (fix(ansm)-ansm==0)

            set(handles.edtxt,'string',ansm);

            ansm=get(handles.edtxt,'string');

            ansm=strcat(ansm,'.');

            set(handles.edtxt,'string',ansm);

            ansm=str2double(ansm(1:end-1));

            a=ansm;

        else

            set(handles.edtxt,'string',ansm);

            a=ansm;

        end

 

    end

    %%%%%%%%%%%%%%%%%

    if (isempty(equal) & ~isempty(c))

        equal=str2double(get(handles.edtxt,'string'));

        

        ansu=c-equal;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            ansu=str2double(ansu(1:end-1));

            c=ansu;

        else

            set(handles.edtxt,'string',ansu);

            c=ansu;

        end

       

    elseif(~isempty(equal) & ~isempty(c))

        ansu=c-equal;

        if (fix(ansu)-ansu==0)

            set(handles.edtxt,'string',ansu);

            ansu=get(handles.edtxt,'string');

            ansu=strcat(ansu,'.');

            set(handles.edtxt,'string',ansu);

            ansu=str2double(ansu(1:end-1));

            c=ansu;

        else

            set(handles.edtxt,'string',ansu);

            c=ansu;

        end

 

    end

    %%%%%%%%%%%%%%%%%

    if (isempty(equal) & ~isempty(b))

        equal=str2double(get(handles.edtxt,'string'));

        

        ansp=b+equal;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            ansp=str2double(ansp(1:end-1));

            b=ansp;

        else

            set(handles.edtxt,'string',ansp);

            b=ansp;

        end

        

    elseif(~isempty(equal) & ~isempty(b))

        ansp=b+equal;

        if (fix(ansp)-ansp==0)

            set(handles.edtxt,'string',ansp);

            ansp=get(handles.edtxt,'string');

            ansp=strcat(ansp,'.');

            set(handles.edtxt,'string',ansp);

            ansp=str2double(ansp(1:end-1));

            b=ansp;

        else

            set(handles.edtxt,'string',ansp);

            b=ansp;

        end

 

    end

 

end

 

 

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

 

 

 

% --------------------------------------------------------------------

function Exit_Callback(hObject, eventdata, handles)

% hObject    handle to Exit (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

clc

question='    Do you want to exit?  ';

button=questdlg(question,'Exit','Yes','No','No');

switch(button)

    case 'Yes'

    close Calculator

end

 

 

% --------------------------------------------------------------------

function About_Callback(hObject, eventdata, handles)

% hObject    handle to About (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

open HELP.htm

% --------------------------------------------------------------------

function File_Callback(hObject, eventdata, handles)

% hObject    handle to File (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)

 

 

% --- Executes on button press in MC.

function MC_Callback(hObject, eventdata, handles)

% hObject    handle to MC (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global MS

global S

global PP

global MP

global MMP

global MC

global t

t=0;

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

else

MC='0.';

MS='0.';

S='0.';

PP='0.';

MP='0.';

MMP='0.';

set(handles.Mbox,'string','');

end

 

 

 

% --- Executes on button press in MR.

function MR_Callback(hObject, eventdata, handles)

% hObject    handle to MR (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global multiply

global divide

global plus

global minus

global S

global PP

global MMP

global t

t=0;

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif(~isempty(multiply)|~isempty(divide)|~isempty(plus)|~isempty(minus))

 

    set(handles.edtxt,'string','0.')

 

elseif (~ischar(MMP))

    

    if (fix(MMP)-MMP==0)

 

        set(handles.edtxt,'string',MMP)

        

        MMP=get(handles.edtxt,'string');

       

        MMP=strcat(MMP,'.');

        set(handles.edtxt,'string',MMP)

        

    else

        set(handles.edtxt,'string',MMP);

        

    end

 

 elseif ( ischar(MMP) & strcmp(MMP,'0.')~=1 )

    if (fix(str2double(MMP))-(str2double(MMP))==0)

        set(handles.edtxt,'string',MMP)

        MMP=get(handles.edtxt,'string');

        mmr=regexp(MMP,'[.]');

        if mmr>0

            set(handles.edtxt,'string',MMP)

        else

           

            MMP=strcat(MMP,'.');

            set(handles.edtxt,'string',MMP)

        end 

    else

        set(handles.edtxt,'string',MMP);

    end

else

    if(strcmp(S,'0.'))

        set(handles.edtxt,'string',PP);

    else

        set(handles.edtxt,'string',S);

    end

end

 

 

% --- Executes on button press in MS.

function MS_Callback(hObject, eventdata, handles)

% hObject    handle to MS (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global multiply

global divide

global plus

global minus

global MS

global S

global t

global MMP

global MMS

S=get(handles.edtxt,'string');

MS=str2double(get(handles.edtxt,'string'));

MMS=MS;

MMP='0.';

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif(~isempty(multiply)|~isempty(divide)|~isempty(plus)|~isempty(minus))

elseif (MS~=0)

set(handles.Mbox,'string','M');

else

set(handles.Mbox,'string','');

end

t=0;

 

 

% --- Executes on button press in MP.

function MP_Callback(hObject, eventdata, handles)

% hObject    handle to MP (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    structure with handles and user data (see GUIDATA)

global multiply

global divide

global plus

global minus

global PP

global MP

global MS

global S

global MMP

global t

global x

global MMS

i=MMP;

PP=get(handles.edtxt,'string');

MP=str2double(get(handles.edtxt,'string'));

 

if (strcmp(get(handles.edtxt,'string'),'Cannot divide by zero.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Invalid input for function.'))

        beep;

elseif (strcmp(get(handles.edtxt,'string'),'Result of function is undefined.'))

beep;

elseif(~isempty(multiply)|~isempty(divide)|~isempty(plus)|~isempty(minus))

 

elseif (MP~=0 & strcmp(MS,'0.')~=1)

    set(handles.Mbox,'string','M');

    if (strcmp(S,'0.')~=1 & strcmp(i,'0.'))

        MMP=(MS)+(MP);

 

    elseif (strcmp(S,'0.')~=1 & ~ischar(i))

        p1=str2double(get(handles.edtxt,'string'));

        MMP=MMP+p1;

 

    elseif(strcmp(S,'0.')~=1 & ischar(i))

 

            MMP=str2double(i);

            p1=str2double(get(handles.edtxt,'string'));

            MMP=MMP+p1;

 

    end

 

elseif (MP~=0 & strcmp(MS,'0.'))

    set(handles.Mbox,'string','M');

    if ( ~ischar(x)& strcmp(S,'0.')~=1 & strcmp(i,'0.'))

 

        MMP=(x)+(MP);

 

    elseif ( ischar(x)& strcmp(S,'0.')~=1 & strcmp(i,'0.'))

       

        MMP=(MP)+(MMS);

              

    elseif (strcmp(S,'0.')~=1 & ~ischar(i))

     p1=str2double(get(handles.edtxt,'string'));

        MMP=MMP+p1;

       

    elseif(strcmp(S,'0.')~=1 & ischar(i))%& strcmp(i,'0.')~=1)

 

            MMP=str2double(i);

            p1=str2double(get(handles.edtxt,'string'));

            MMP=MMP+p1;

    

    elseif (MP~=0 & strcmp(MS,'0.') & strcmp(S,'0.'))

       

        if (~ischar(i))

            p1=str2double(get(handles.edtxt,'string'));

            MMP=MMP+p1;

        elseif(ischar(i)& strcmp(i,'0.')~=1)

             MMP=str2double(i);

             p1=str2double(get(handles.edtxt,'string'));

             MMP=MMP+p1;

         

         else

            MMP=MP;

        

        end

 

    end

 

end

t=0;

 

 

% --- Executes during object creation, after setting all properties.

function Mbox_CreateFcn(hObject, eventdata, handles)

% hObject    handle to Mbox (see GCBO)

% eventdata  reserved - to be defined in a future version of MATLAB

% handles    empty - handles not created until after all CreateFcns called

联系:highspeedlogic

QQ :1224848052

微信:HuangL1121

邮箱:1224848052@qq.com

网站:http://www.mat7lab.com/

网站:http://www.hslogic.com/

微信扫一扫:

作者:简易计算机设计 来源:网络简易计算机设计
  • 您是如何找到本站的?
  • 百度搜索
  • Google搜索
  • 查阅资料过程中
  • 论坛发现
  • 百度贴吧发现
  • 朋友介绍
本站最新成功开发工程项目案例
相关文章
  • 没有相关文章
相关评论
发表我的评论
  • 大名:
  • 内容:
  • matlab代做|matlab专业代做|matlab淘宝代做|python人工智能代做|FPGA项目合作|C代做|C++代做(www.hslogic.com) © 2021 版权所有 All Rights Reserved.
  • Email:highspeed_logic@163.com 站长QQ: 1224848052

    专业代做/代写/承接、MATLAB、SIMULINK、FPGA项目、博士/硕士/本科毕业设计、课题设计、论文,毕业论文,Coursework、Eassy、Assignment