MATLAB编程制作一个计算器的完整过程:
1.1打开GUI
输入
Guide
回车或者在工具栏上点击图标
打开
Guide
1.2.添加按钮
1.3.根据按钮的作用及视觉效果做一定的修改
双击按钮(Puch Button)进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。
1.4.保存、添加功能函数
把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。
1.4.1 数字键编写
在function pushbutton1_Callback(hObject, eventdata, handles)下输入:
textString = get(handles.text1,'String');
textString =strcat(textString,'0');
set(handles.text1,'String',textString)
这是使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”,
然后由set(handles.text1,'String','textString'在text1中输出。
同理,分别在function pushbutton2~10_Callback(hObject, eventdata, handles)下给1~9数字按键下编写此类程序。
1.4.2 符号键的编写
function pushbutton12_Callback(hObject, eventdata, handles)
textString = get(handles.text1,'String');
textString =strcat(textString,'÷');
set(handles.text1,'String',textString)
strcat的作用是将两个字符串连接起来,就是在已输入的存储数据textString后添加“÷”进行运算。
然后执行set(handles.text1,'String',textString)。符号键‘-’、‘*’、‘/’与‘÷’的运算函数类似。“平方运算”,主要是由“^2”功能实现。
1.4.3 运算符“=”的编写
textString = get(handles.text1,'String');
ans =eval(textString);
“eval”的作用是将符号表达式转换成数值表达式。
再由set(handles.text1,'String',ans)输出。
1.4.4 按键“←back”的编写
textString=get(handles.text1, 'String')
w=length(textString)
t=char(textString)
textString=t(1:w-1) %将w个字符串转成w-1个,即删除了末位字符
set(handles.text1,'String',textString)
1.4.5 按键“清空”的编写
set(handles.text1,'String','')
1.4.6 按键“退出”的编写
close(gcf);
1.4.7 按键“二进制数转十进制数”的编写
textString=get(handles.text1,'String')
e = bin2dec(textString);
set(handles.text1,'String',e);
1.4.8 按键“十进制数转二进制数”的编写
textString = get(handles.text1,'String');
textString = strcat(textString,'dec2bin(');
set(handles.text1,'String',textString)
经过计算,这些结果均与实际结果相吻合,计算器的功能实现的完好且能实现较大数值的运算,计算结果用科学技术法表示。
举报/反馈