版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
./目录计算器的效果图2一、GUI设计界面:31.打开GUI32.添加按钮33.根据按钮的作用及视觉效果做一定的修改:44.保存、添加功能函数4〔1数字键编写4〔2符号键的编写4〔3运算符"="的编写5〔4按键"←back"的编写5〔5按键"清空"的编写5〔6按键"退出"的编写5〔7按键"二进制数转十进制数"的编写5〔8按键"十进制数转二进制数"的编写5二、计算器的使用6除法运算〔÷6平方运算〔^26函数cos〔∏/3的计算7函数arctan〔∏/3的计算7以2为底的对数的计算〔log28十进制数转二进制数的计算〔调用dec2bin函数8二进制数转十进制数的计算〔调用bin2dec函数9三、附各按键的程序源代码10四、问题和解决方法15五、心得体会15参考文献15计算器的效果图:一、GUI设计界面:1.打开GUI输入Guide回车或者在工具栏上点击图标打开Guide窗口:2.添加按钮3.根据按钮的作用及视觉效果做一定的修改:双击按钮〔PuchButton进入按键属性修改显示字符串大小、字体和颜色,然后对按钮的位置进行排布,尽量使按钮集中在静态文本框下面。4.保存、添加功能函数把做好的按钮及静态文本框保存后自动弹出Editor的M文本,对然后对相应的pushbutton添加功能函数。以下是相应按钮的功能函数。〔1数字键编写在functionpushbutton1_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中输出。同理,分别在functionpushbutton2~10_Callback<hObject,eventdata,handles下给1~9数字按键下编写此类程序。〔2符号键的编写functionpushbutton12_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"功能实现。〔3运算符"="的编写textString=get<handles.text1,'String'>;ans=eval<textString>;"eval"的作用是将符号表达式转换成数值表达式。再由set<handles.text1,'String',ans>输出。〔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>〔5按键"清空"的编写set<handles.text1,'String',''>〔6按键"退出"的编写close<gcf>;〔7按键"二进制数转十进制数"的编写textString=get<handles.text1,'String'>e=bin2dec<textString>;set<handles.text1,'String',e>;〔8按键"十进制数转二进制数"的编写textString=get<handles.text1,'String'>;textString=strcat<textString,'dec2bin<'>;set<handles.text1,'String',textString>二、计算器的使用除法运算〔÷..平方运算〔^2..函数cos〔∏/3的计算..函数arctan〔∏/3的计算..以2为底的对数的计算〔log2..十进制数转二进制数的计算〔调用dec2bin函数..二进制数转十进制数的计算〔调用bin2dec函数...经过计算,这些结果均与实际结果相吻合,计算器的功能实现的完好且能实现较大数值的运算,计算结果用科学技术法表示。...三、附各按键的程序源代码按键"0-9、+、-、×、÷、.、=、x^2"〔通过get函数获得输入的字符,函数strcat获得相应字符,并用set函数进行显示输出:functionpushbutton1_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'0'>set<handles.text1,'String',textString>functionpushbutton2_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'1'>set<handles.text1,'String',textString>functionpushbutton3_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'2'>set<handles.text1,'String',textString>functionpushbutton4_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'3'>set<handles.text1,'String',textString>functionpushbutton5_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'4'>set<handles.text1,'String',textString>functionpushbutton6_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'5'>set<handles.text1,'String',textString>functionpushbutton7_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'6'>set<handles.text1,'String',textString>functionpushbutton8_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'7'>set<handles.text1,'String',textString>functionpushbutton9_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'8'>set<handles.text1,'String',textString>functionpushbutton10_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'9'>set<handles.text1,'String',textString>functionpushbutton11_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'+'>set<handles.text1,'String',textString>functionpushbutton12_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'-'>set<handles.text1,'String',textString>functionpushbutton13_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'*'>set<handles.text1,'String',textString>functionpushbutton14_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'/'>set<handles.text1,'String',textString>functionpushbutton15_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'.'>set<handles.text1,'String',textString>按键"=":functionpushbutton16_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>s=eval<textString>set<handles.text1,'String',s>按键"x^2":functionpushbutton17_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>textString=strcat<textString,'^2'>set<handles.text1,'String',textString>退位键"←back":functionpushbutton18_Callback<hObject,eventdata,handles>textString=get<handles.text1,'String'>w=length<textString>t=char<textString>textString=t<1:w-1>set<handles.text1,'String',textString>清空键:functionpushbutton19_Callback<hObject,eventdata,handles>set<handles.text1,'String',''>退出键:functionpushbutton20_Callback<hObject,eventdata,handles>close<gcf>;%hObjecthandletopushbutton20<seeGCBO>%handlesstructurewithhandlesanduserdata<seeGUIDATA>科学计算函数:按键"√":通过get函数获得输入的字符,函数strread获得输入字符,并用sqrt函数计算结果,set函数进行显示输出textString=get<handles.text1,'String'>;if<strcmp<textString,'0'>==1>set<handles.text1,'String','0'>;elsea=strread<textString,'%f'>;a=sqrt<a>;set<handles.text1,'String',a>end按键"sin"〔通过get函数获得输入的字符,函数strread获得输入字符,并用sin函数计算结果,set函数进行显示输出:textString=get<handles.text1,'String'>;textString=strcat<textString,'sin<'>;set<handles.text1,'String',textString>按键"cos":textString=get<handles.text1,'String'>;textString=strcat<textString,'<'>;set<handles.text1,'String',textString>按键"tan":textString=get<handles.text1,'String'>;if<<strcmp<textString,'1.57'>==1>||<strcmp<textString,'-1.57'>==1>>set<handles.edit1,'String','inf'>;elsetextString=strcat<textString,'tan<'>;set<handles.text1,'String',textString>end按键"arcsin":textString=get<handles.text1,'String'>;textString=strcat<textString,'asin<'>;set<handles.text1,'String',textString>按键"arccos":textString=get<handles.text1,'String'>;textString=strcat<textString,'acos<'>;set<handles.text1,'String',textString>按键"arctan":textString=get<handles.text1,'String'>;textString=strcat<textString,'atan<'>;set<handles.text1,'String',textString>按键"log2":textString=get<handles.text1,'String'>;if<strcmp<textString,'0'>==1>set<handles.text1,'String','error'>;elsea=strread<textString,'%f'>;a=log2<a>;set<handles.text1,'String',a>end按键"<":textString=get<handles.text1,'String'>;textString=strcat<textString,'<'>;set<handles.text1,'String',textString>按键">":textString=get<handles.text1,'String'>;textString=strcat<textString,'>'>;set<handles.text1,'String',textString>按键"二进制数转十进制数":textString=get<handles.text1,'String'>e=bin2dec<textString>;set<handles.text1,'String',e>;按键"十进制数转二进制数":textString=get<handles.text1,'String'>;textString=strcat<textString,'dec2bin<'>;set<handles.text1,'String',textString>四、问题和解决方法1.本次课程设计中开始时遇到的问题是数据进行清零后,再输入其他的数据,清零后的字符‘0’仍会保留,会影响其他数据,解决办法是将数据用空格替换掉就实现了清空:set<handles.text1,'String',''>2.在定义正弦余弦等函数的时候,需要注意其定义域,值域的问题。3.开始时我的"sin"函数编程如下:textString=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度个人房产抵押贷款担保费率标准4篇
- 2025年度绿色有机大米产地直销合作合同范本3篇
- 二零二五年度仓储物流设施租赁合同终止协议4篇
- 2025版危险品运输事故应急救援预案合同3篇
- 2024铝单板购销合同模板
- 2025年度新型银杏树种植与销售合作协议4篇
- 三轮车买卖标准协议模板2024版版B版
- 2025年度市政公用设施养护维修合同范本4篇
- 二零二五年度户外拓展训练基地场地租赁合同3篇
- 2025年模板专用木方供货与施工团队培训合同3篇
- 【探迹科技】2024知识产权行业发展趋势报告-从工业轰鸣到数智浪潮知识产权成为竞争市场的“矛与盾”
- 《中国政法大学》课件
- GB/T 35270-2024婴幼儿背带(袋)
- 辽宁省沈阳名校2025届高三第一次模拟考试英语试卷含解析
- 2024-2025学年高二上学期期末数学试卷(新题型:19题)(基础篇)(含答案)
- 2022版艺术新课标解读心得(课件)小学美术
- Profinet(S523-FANUC)发那科通讯设置
- 医学教程 常见化疗药物归纳
- 统编版九年级历史下册第一单元教案教学设计
- 人教部编版道德与法治八年级下册:6.3 《国家行政机关》说课稿1
- 淋巴瘤病理诊断基础和进展周小鸽
评论
0/150
提交评论