⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 caldytrol.m

📁 也是一个MATLAB编的计算器,功能比较强大,易于扩展
💻 M
📖 第 1 页 / 共 2 页
字号:
        val='8';
    else
        val=strcat(val,'8');
    end
else
    val='8'
    handles.add=1;
    handles.dot=0;
end
set(handles.screen,'String',val);
guidata(hObject,handles);

% --- Executes on button press in button9.
function button9_Callback(hObject, eventdata, handles)
% hObject    handle to button9 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
if(handles.add==1)
    val=get(handles.screen,'String');
    if(strcmp(val,' '))
        val='9';
    elseif(strcmp(val,'0'))
        val='9';
    else
        val=strcat(val,'9');
    end
else
    val='9';
    handles.add=1;
    handles.dot=0;
end
set(handles.screen,'String',val);
guidata(hObject,handles);

% --- Executes on button press in button_add.
function button_add_Callback(hObject, eventdata, handles)
% hObject    handle to button_add (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
handles.val1=str2num(get(handles.screen,'String'));
handles.opr='+';
handles.add=0;
handles.dot=0;
guidata(hObject,handles);
% --- Executes on button press in button_minus.function button_minus_Callback(hObject, eventdata, handles)% hObject    handle to button_minus (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)handles.val1=str2num(get(handles.screen,'String'));
handles.opr='-';
handles.add=0;
handles.dot=0;
guidata(hObject,handles);
% --- Executes on button press in button_times.
function button_times_Callback(hObject, eventdata, handles)
% hObject    handle to button_times (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
handles.val1=str2num(get(handles.screen,'String'));
handles.opr='*';
handles.add=0;
handles.dot=0;
guidata(hObject,handles);

% --- Executes on button press in button_divide.
function button_divide_Callback(hObject, eventdata, handles)
% hObject    handle to button_divide (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
handles.val1=str2num(get(handles.screen,'String'));
handles.opr='/';
handles.add=0;
handles.dot=0;
guidata(hObject,handles);
% --- Executes on button press in button_sqrt.function button_sqrt_Callback(hObject, eventdata, handles)% hObject    handle to button_sqrt (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)result=sqrt(str2num(get(handles.screen,'String')));
set(handles.screen,'String',num2str(result));
handles.add=0;
handles.dot=0;
handles.opr='';
guidata(hObject,handles);% --- Executes on button press in button_reciprocal.function button_reciprocal_Callback(hObject, eventdata, handles)% hObject    handle to button_reciprocal (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)result=1/(str2num(get(handles.screen,'String')));
set(handles.screen,'String',num2str(result));
handles.add=0;
handles.dot=0;
handles.opr='';
guidata(hObject,handles);

% --- Executes on button press in button_sign.
function button_sign_Callback(hObject, eventdata, handles)
% hObject    handle to button_sign (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
val=get(handles.screen,'String');
if(strcmp(val,'0')==0)
    if(val(1)=='-')
        val=strrep(val,'-','');
    else
        val=strcat('-',val);
    end
    set(handles.screen,'String',val);
end
% --- Executes on button press in button_clear.function button_clear_Callback(hObject, eventdata, handles)% hObject    handle to button_clear (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)handles.opr='';
handles.dot=0;
handles.add=0;
guidata(hObject,handles);
set(handles.screen,'String',' ');
% --- Executes on button press in button_dot.function button_dot_Callback(hObject, eventdata, handles)% hObject    handle to button_dot (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)val=get(handles.screen,'String');
if(handles.dot==1)
    return;
end
handles.dot=1;
if(handles.add==1)
    val=strcat(val,'.');
else
    handles.add=1;
    val='0.';
end
set(handles.screen,'String',val);
guidata(hObject,handles);% --- Executes on button press in button_equal.function button_equal_Callback(hObject, eventdata, handles)% hObject    handle to button_equal (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)if(isempty(handles.opr))
    return;
end
handles.val2=str2num(get(handles.screen,'String'));

switch handles.opr
    case '+'
        result=handles.val1+handles.val2;
    case '-'
        result=handles.val1-handles.val2;
    case '*'
        result=handles.val1*handles.val2; 
    case '/'
        result=handles.val1/handles.val2;
end
set(handles.screen,'String',num2str(result));

handles.add=0;
handles.dot=0;
handles.opr'';
guidata(hObject,handles);


function varargout=OnKeydown(hObject,eventdata,handles,varargin)
key=get(hObject,'CurrentCharacter');
switch key
    case '0'
        button0_Callback(hObject,eventdata,handles,varargin);
    case '1'
        button1_Callback(hObject,eventdata,handles,varargin);
    case '2'
        button2_Callback(hObject,eventdata,handles,varargin);
    case '3'
        button3_Callback(hObject,eventdata,handles,varargin);        
    case '4'
        button4_Callback(hObject,eventdata,handles,varargin);
    case '5'
        button5_Callback(hObject,eventdata,handles,varargin);
    case '6'
        button6_Callback(hObject,eventdata,handles,varargin);
    case '7'
        button7_Callback(hObject,eventdata,handles,varargin);         
    case '8'
        button8_Callback(hObject,eventdata,handles,varargin);
    case '9'
        button9_Callback(hObject,eventdata,handles,varargin);
    case '.'
        button_dot_Callback(hObject,eventdata,handles,varargin);
    case '+'
        button_add_Callback(hObject,eventdata,handles,varargin); 
    case '-'
        button_minus_Callback(hObject,eventdata,handles,varargin);
    case '*'
        button_times_Callback(hObject,eventdata,handles,varargin);
    case '/'
        button_divide_Callback(hObject,eventdata,handles,varargin);
    case '='
        button_equal_Callback(hObject,eventdata,handles,varargin);         
    case 13
        button_equal_Callback(hObject,eventdata,handles,varargin);       
end% --- Executes on button press in pushbuttonpi.function pushbuttonpi_Callback(hObject, eventdata, handles)% hObject    handle to pushbuttonpi (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)result=pi;
set(handles.screen,'String',num2str(result));
handles.add=0;
handles.dot=0;
handles.opr='';
guidata(hObject,handles);% --- Executes on button press in pushbuttoncot.function pushbuttoncot_Callback(hObject, eventdata, handles)% hObject    handle to pushbuttoncot (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)result=cot((str2num(get(handles.screen,'String'))));
set(handles.screen,'String',num2str(result));
handles.add=0;
handles.dot=0;
handles.opr='';
guidata(hObject,handles);% --- Executes on button press in pushbuttontan.function pushbuttontan_Callback(hObject, eventdata, handles)% hObject    handle to pushbuttontan (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)result=tan((str2num(get(handles.screen,'String'))));
set(handles.screen,'String',num2str(result));
handles.add=0;
handles.dot=0;
handles.opr='';
guidata(hObject,handles);% --- Executes on button press in pushbuttoncos.function pushbuttoncos_Callback(hObject, eventdata, handles)% hObject    handle to pushbuttoncos (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)result=cos((str2num(get(handles.screen,'String'))));
set(handles.screen,'String',num2str(result));
handles.add=0;
handles.dot=0;
handles.opr='';
guidata(hObject,handles);% --- Executes on button press in pushbuttonsin.function pushbuttonsin_Callback(hObject, eventdata, handles)% hObject    handle to pushbuttonsin (see GCBO)% eventdata  reserved - to be defined in a future version of MATLAB% handles    structure with handles and user data (see GUIDATA)result=sin((str2num(get(handles.screen,'String'))));
set(handles.screen,'String',num2str(result));
handles.add=0;
handles.dot=0;
handles.opr='';
guidata(hObject,handles);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -