第一次作业(简易计算器)
一.项目功能介绍
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开方
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具