第一次作业

一.项目功能介绍

  1.该计算器需要实现加、减、乘、除、开平方功能。

  2.需要有一个运行的UI界面,可以和电脑自带的计算器相比较。

  3.该界面要有一个文本输入框,用来显示输入的表达式;

  4.若干个按钮,用来用来显示数字以及操作符;

  5.当点击按钮时,按钮上面对应的文本要显示在文本输入框中,并完成计算。

二.使用环境介绍

  MATLAB是一种用于技术计算的高性能语言。它在一个易于使用的环境中集成了计算,可视化和编程,其中问题和解决方案以熟悉的数学符号表示。可以做小游戏,可以进行精确的数学计算(高数,概率,线代方程,尤其擅长矩阵),三维建模画出立体图形,与C++,Python等混合编程。

三.程序流程图

 

 

 

 

四.详细代码

 

classdef app1 < matlab.apps.AppBase
 
    % Properties that correspond to app components
    properties (Access = public)
        UIFigure  matlab.ui.Figure
        genhao    matlab.ui.control.Button
        Display   matlab.ui.control.EditField
        Clear     matlab.ui.control.Button
        Delete    matlab.ui.control.Button
        Lift      matlab.ui.control.Button
        Right     matlab.ui.control.Button
        Divide    matlab.ui.control.Button
        Multiply  matlab.ui.control.Button
        Subtract  matlab.ui.control.Button
        Add       matlab.ui.control.Button
        Equal     matlab.ui.control.Button
        Number_3  matlab.ui.control.Button
        Number_6  matlab.ui.control.Button
        Number_9  matlab.ui.control.Button
        Point     matlab.ui.control.Button
        Number_7  matlab.ui.control.Button
        Number_8  matlab.ui.control.Button
        Number_5  matlab.ui.control.Button
        Number_2  matlab.ui.control.Button
        Number_4  matlab.ui.control.Button
        Number_1  matlab.ui.control.Button
        Number_0  matlab.ui.control.Button
    end
 
    % Callbacks that handle component events
    methods (Access = private)
 
        % Button pushed function: Number_0
        function Number_0ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"0";
        end
 
        % Button pushed function: Number_1
        function Number_1ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"1";
        end
 
        % Button pushed function: Number_4
        function Number_4ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"4";
        end
 
        % Button pushed function: Number_2
        function Number_2ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"2";
        end
 
        % Button pushed function: Number_5
        function Number_5ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"5";
        end
 
        % Button pushed function: Number_8
        function Number_8ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"8";
        end
 
        % Button pushed function: Number_7
        function Number_7ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"7";
        end
 
        % Button pushed function: Number_9
        function Number_9ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"9";
        end
 
        % Button pushed function: Number_6
        function Number_6ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"6";
        end
 
        % Button pushed function: Number_3
        function Number_3ButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"3";
        end
 
        % Button pushed function: Add
        function AddButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"+";
        end
 
        % Button pushed function: Subtract
        function SubtractButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"-";
        end
 
        % Button pushed function: Multiply
        function MultiplyButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"*";
        end
 
        % Button pushed function: Divide
        function DivideButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"/";
        end
 
        % Button pushed function: Point
        function PointButtonPushed(app, event)
            app.Display.Value = app.Display.Value +".";
        end
 
        % Button pushed function: Lift
        function LiftButtonPushed(app, event)
            app.Display.Value = app.Display.Value +"(";
        end
 
        % Button pushed function: Right
        function RightButtonPushed(app, event)
            app.Display.Value = app.Display.Value +")";
        end
 
        % Button pushed function: Equal
        function EqualButtonPushed(app, event)
            app.Display.Value = num2str(eval(char(app.Display.Value)));
        end
 
        % Button pushed function: Delete
        function DeleteButtonPushed(app, event)
            str = char(app.Display.Value);
            app.Display.Value = str(1:end-1);
        end
 
        % Button pushed function: Clear
        function ClearButtonPushed(app, event)
            app.Display.Value="";
        end
 
        % Callback function
        function genhaoButtonPushed(app, event)
            num = char(get(app.Display.Value,'√'));
            app.Display.Value = sqrt((num^2 + 4 * 2) - num^2);
        end
 
        % Button pushed function: genhao
        function genhaoButtonPushed2(app, event)
           num = num2str(eval(char(app.Display.Value)));
           app.Display.Value = app.Display.Value +sqrt();
        end
    end
 
    % Component initialization
    methods (Access = private)
 
        % Create UIFigure and components
        function createComponents(app)
 
            % Create UIFigure and hide until all components are created
            app.UIFigure = uifigure('Visible', 'off');
            app.UIFigure.Position = [100 100 720 622];
            app.UIFigure.Name = 'MATLAB App';
 
            % Create Number_0
            app.Number_0 = uibutton(app.UIFigure, 'push');
            app.Number_0.ButtonPushedFcn = createCallbackFcn(app, @Number_0ButtonPushed, true);
            app.Number_0.Position = [74 59 100 54];
            app.Number_0.Text = '0';
 
            % Create Number_1
            app.Number_1 = uibutton(app.UIFigure, 'push');
            app.Number_1.ButtonPushedFcn = createCallbackFcn(app, @Number_1ButtonPushed, true);
            app.Number_1.Position = [76 132 100 54];
            app.Number_1.Text = '1';
 
            % Create Number_4
            app.Number_4 = uibutton(app.UIFigure, 'push');
            app.Number_4.ButtonPushedFcn = createCallbackFcn(app, @Number_4ButtonPushed, true);
            app.Number_4.Position = [77 209 100 54];
            app.Number_4.Text = '4';
 
            % Create Number_2
            app.Number_2 = uibutton(app.UIFigure, 'push');
            app.Number_2.ButtonPushedFcn = createCallbackFcn(app, @Number_2ButtonPushed, true);
            app.Number_2.Position = [203 132 100 54];
            app.Number_2.Text = '2';
 
            % Create Number_5
            app.Number_5 = uibutton(app.UIFigure, 'push');
            app.Number_5.ButtonPushedFcn = createCallbackFcn(app, @Number_5ButtonPushed, true);
            app.Number_5.Position = [203 209 100 54];
            app.Number_5.Text = '5';
 
            % Create Number_8
            app.Number_8 = uibutton(app.UIFigure, 'push');
            app.Number_8.ButtonPushedFcn = createCallbackFcn(app, @Number_8ButtonPushed, true);
            app.Number_8.Position = [203 285 100 54];
            app.Number_8.Text = '8';
 
            % Create Number_7
            app.Number_7 = uibutton(app.UIFigure, 'push');
            app.Number_7.ButtonPushedFcn = createCallbackFcn(app, @Number_7ButtonPushed, true);
            app.Number_7.Position = [75 285 100 54];
            app.Number_7.Text = '7';
 
            % Create Point
            app.Point = uibutton(app.UIFigure, 'push');
            app.Point.ButtonPushedFcn = createCallbackFcn(app, @PointButtonPushed, true);
            app.Point.Position = [202 59 100 54];
            app.Point.Text = '.';
 
            % Create Number_9
            app.Number_9 = uibutton(app.UIFigure, 'push');
            app.Number_9.ButtonPushedFcn = createCallbackFcn(app, @Number_9ButtonPushed, true);
            app.Number_9.Position = [329 285 100 54];
            app.Number_9.Text = '9';
 
            % Create Number_6
            app.Number_6 = uibutton(app.UIFigure, 'push');
            app.Number_6.ButtonPushedFcn = createCallbackFcn(app, @Number_6ButtonPushed, true);
            app.Number_6.Position = [329 209 100 54];
            app.Number_6.Text = '6';
 
            % Create Number_3
            app.Number_3 = uibutton(app.UIFigure, 'push');
            app.Number_3.ButtonPushedFcn = createCallbackFcn(app, @Number_3ButtonPushed, true);
            app.Number_3.Position = [330 132 100 54];
            app.Number_3.Text = '3';
 
            % Create Equal
            app.Equal = uibutton(app.UIFigure, 'push');
            app.Equal.ButtonPushedFcn = createCallbackFcn(app, @EqualButtonPushed, true);
            app.Equal.Position = [330 59 100 54];
            app.Equal.Text = '=';
 
            % Create Add
            app.Add = uibutton(app.UIFigure, 'push');
            app.Add.ButtonPushedFcn = createCallbackFcn(app, @AddButtonPushed, true);
            app.Add.Position = [464 285 100 54];
            app.Add.Text = '+';
 
            % Create Subtract
            app.Subtract = uibutton(app.UIFigure, 'push');
            app.Subtract.ButtonPushedFcn = createCallbackFcn(app, @SubtractButtonPushed, true);
            app.Subtract.Position = [464 209 100 54];
            app.Subtract.Text = '-';
 
            % Create Multiply
            app.Multiply = uibutton(app.UIFigure, 'push');
            app.Multiply.ButtonPushedFcn = createCallbackFcn(app, @MultiplyButtonPushed, true);
            app.Multiply.Position = [465 132 100 54];
            app.Multiply.Text = 'x';
 
            % Create Divide
            app.Divide = uibutton(app.UIFigure, 'push');
            app.Divide.ButtonPushedFcn = createCallbackFcn(app, @DivideButtonPushed, true);
            app.Divide.Position = [465 59 100 54];
            app.Divide.Text = '/';
 
            % Create Right
            app.Right = uibutton(app.UIFigure, 'push');
            app.Right.ButtonPushedFcn = createCallbackFcn(app, @RightButtonPushed, true);
            app.Right.Position = [464 352 100 54];
            app.Right.Text = ')';
 
            % Create Lift
            app.Lift = uibutton(app.UIFigure, 'push');
            app.Lift.ButtonPushedFcn = createCallbackFcn(app, @LiftButtonPushed, true);
            app.Lift.Position = [329 352 100 54];
            app.Lift.Text = '(';
 
            % Create Delete
            app.Delete = uibutton(app.UIFigure, 'push');
            app.Delete.ButtonPushedFcn = createCallbackFcn(app, @DeleteButtonPushed, true);
            app.Delete.Position = [203 352 100 54];
            app.Delete.Text = 'Del';
 
            % Create Clear
            app.Clear = uibutton(app.UIFigure, 'push');
            app.Clear.ButtonPushedFcn = createCallbackFcn(app, @ClearButtonPushed, true);
            app.Clear.Position = [75 352 100 54];
            app.Clear.Text = 'C';
 
            % Create Display
            app.Display = uieditfield(app.UIFigure, 'text');
            app.Display.Position = [76 428 488 112];
 
            % Create genhao
            app.genhao = uibutton(app.UIFigure, 'push');
            app.genhao.ButtonPushedFcn = createCallbackFcn(app, @genhaoButtonPushed2, true);
            app.genhao.Position = [586 285 95 121];
            app.genhao.Text = '√';
 
            % Show the figure after all components are created
            app.UIFigure.Visible = 'on';
        end
    end
 
    % App creation and deletion
    methods (Access = public)
 
        % Construct app
        function app = app1
 
            % Create UIFigure and components
            createComponents(app)
 
            % Register the app with App Designer
            registerApp(app, app.UIFigure)
 
            if nargout == 0
                clear app
            end
        end
 
        % Code that executes before app deletion
        function delete(app)
 
            % Delete UIFigure when app is deleted
            delete(app.UIFigure)
        end
    end
end

 

  五.功能展示

  5.1加

 

  5.2减

 

       5.3乘

 

     5.4除

 

     5.5开方

 

 

 

posted on 2023-10-15 12:11  离人未归。  阅读(25)  评论(0)    收藏  举报