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

📄 untitlend.m

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

⌨️ 快捷键说明

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