




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会陂科扶院成绩课程设计报告数学计算器的开发软件设计机电工程学院自动化课程设计地点 课程设计学时 指导教师金陵科技学院教务处制一、课程设计应达到的目的本课程是为自动化专业本科生开设的专业课程设计课。通过本课程的课程设 计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设 计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实 现GUI程序设计的能力。课程设计的基本要求:要求利用MATLABG UI设计实现一个图形用户界面的计算器程序,要求实 现:A. 具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、取 模等简单计算。(必做)B. 科学计算函数,包括(
2、反)正弦、(反)余弦、(反)正切、(反)余切、开方、 指数等函数运行。(必做)C. 能够保存上次历史计算的答案,先是答案存储器中得内容。(必做)D. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。(必做)E. 独立存储器功能,使之可以直接输入存储器,可与存储器中的数值相加 减。能够清除独立存储器中的内容。(选做)利用MATLAB GU功能,在绘制一个静态文本框和一个文本编辑框,以及命 令按钮,调整好各控件大小、颜色,整体布局如图所示:Log2X*2sinarc sincosarccosIanCOTarclflinar&col然后通过双击个按钮来改写其属性,在m文件中编写其回
3、调函数,最后在运 行调试。三、课题设计内容与步骤各功能界面设计GUI设计界面:Fl t- J. :y.jr.f_'LJ二d I i tS叭®话斟兰呂圉卑 E_川B®' Mi nr田1 HR亘Log? Log 102X2arcsin.arecDScostancota retan心并irGrIl 阳inr 口他 W%切arc toti T叮 -I各功能模块实现算法设计:A.数字键设计:09以及小数点函数都一样,只是参数不同:textStri ng = get,'Stri ng');if(strc mp (textStri ng,'0
4、9;)=1)set,'Stri ng','1');elsetextStri ng =strcat(textStri ng,'1');set,'Stri ng',textStri ng)endB. 四则运算函数:textStri ng = gefStri ng');ss=char(textStri ng);l=le ngth(textStri ng);if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)=7'|ss(l)='.')
5、 textStri ng=ss(1:l-1);endtextString =strcat(textString,'+'); set,'String',textString)C. 科学计算函数: textString = get,'String'); a = strread(textString, '%f'); a=sin(a);set,'String',a)D. 退格键:通过取屏幕值,计算出其字符长度,然后取其前 N-1 项的值来实现 退格:textString = get,'String'); i
6、f(strcmp(textString,'0')=1)&(jj=0)set,'String','0') ;elsess=char(textString);l=length(textString);textString=ss(1:l-1); set,'String',textString)E. 清屏键函数: set,'String','0') ;F. +/- 的实现 textString = get,'String'); if(strcmp(textString,'0&
7、#39;)=1) set,'String','0') ;elsea = strread(textString, '%f'); a=0-a;set,'String',a) end各模块实现结果A.数字键:计算器52Log 10iinaixsirtcosarc CDStancolarctan*/-arccotB.四则运算函数:3*4Lo02 LjOQ 1.0X"2sinarcncosarccostancotCretanjrcteriC.科学计算函数:Sin1的计算结果=0 841471+?-1_旳2LogiWK*2cotar
8、irjiriarcc«tanCfftapctanisrccoi、结果分析计算(1+9) /5n*9h/5计算结果=2LogicX*2sineg4rcco«|tancotarct 曰 n+/-.dire col'LOD2LO01O123+X*2&narc 创 A45&;CQ呂BTCCOS7&9*tancotairtan0+丿-/artcoi2计算3*4E,J_ IM3W2Logic+/X*2tananccolcoscotarcsriiarcc«aircTan计算结果=12arcsini 计算结果B '1 5706Logii
9、39;O+/-X'ZanC49colarcjinarccwancljrtarCDClog2 0的报错:通过输入的数据与0'字符比较,若两者相等,贝U显示“error ” 进行报错,结果如下:经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。四、课程设计源代码A. 数字键设计:按键“0” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1)set,'String','0') ;elsete
10、xtString =strcat(textString,'0'); set,'String',textString) end函数strcat获得字符 '0',并用set按键“1” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','1') ;elsetextString =strcat(textString,'1'); set
11、,'String',textString) end函数strcat获得字符 '1',并用set按键“2” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String');if(strcmp(textString,'0')=1)set,'String','2') ;elsetextString =strcat(textString,'2');set,'String',textString)End函数strcat获得字符
12、9;2',并用set按键“3” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String');if(strcmp(textString,'0')=1)函数strcat获得字符 '3',并用setset,'String','3') ;elsetextString =strcat(textString,'3');set,'String',textString) end按键“4” :通过 get 函数获得输入的字符, 函数进行显示输出t
13、extString = get,'String'); if(strcmp(textString,'0')=1) set,'String','4') ;elsetextString =strcat(textString,'4'); set,'String',textString) end函数strcat获得字符 '4',并用set按键“5” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(
14、textString,'0')=1)set,'String','5') ;elsetextString =strcat(textString,'5'); set,'String',textString) end函数strcat获得字符 '5',并用set按键“6” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String'
15、;,'6') ;elsetextString =strcat(textString,'6'); set,'String',textString) end函数strcat获得字符 '6',并用set按键“7” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String');if(strcmp(textString,'0')=1)set,'String','7') ;else函数strcat获得字符 '7',并用
16、settextString =strcat(textString,'7'); set,'String',textString) end按键“8” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','8') ;elsetextString =strcat(textString,'8'); set,'String',textStr
17、ing) end函数strcat获得字符 '8', 并用set按键“9” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','9') ;elsetextString =strcat(textString,'9'); set,'String',textString) end函数strcat获得字符 '9', 并用setB. 四则
18、运算函数:按键“+” :通过 get 函数获得输入的字符, 函数进行显示输出 textString = get,'String'); ss=char(textString); l=length(textString);if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textString=ss(1:l-1);endtextString =strcat(textString,'+'); set,'String',
19、textString)函数strcat获得字符 '+', 并用set按键“-”:通过 get 函数获得输入的字符, 函数 函数进行显示输出 textString = get,'String');strcat获得字符 '-', 并用setss=char(textString);l=length(textString);if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textString=ss(1:l-1);en
20、d textString =strcat(textString,'-'); set,'String',textString)按键“* ” :通过 get 函数获得输入的字符, 函数 函数进行显示输出 textString = get,'String'); ss=char(textString); l=length(textString); if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textString=
21、ss(1:l-1);end textString =strcat(textString,'*'); set,'String',textString)strcat获得字符 '*',并用set按键“/” :通过 get 函数获得输入的字符, 函数 函数进行显示输出 textString = get,'String'); ss=char(textString); l=length(textString); if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)=
22、9;/'|ss(l)='.') textString=ss(1:l-1);end textString =strcat(textString,'/'); set,'String',textString)strcat获得字符 '/',并用set按键“.” :通过 get 函数获得输入的字符, 函数 函数进行显示输出 textString = get,'String'); ss=char(textString); l=length(textString); if(ss(l)='+'|ss(l)=
23、'-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textString=ss(1:l-1);end textString =strcat(textString,'.'); set,'String',textString)strcat获得字符 '.',并用set按键“ +/- ” :通过 get 函数获得输入的字符,函数 strcat 获得字符'+/-',用 set 函数进行显示输出 if(strcmp(textString,'0')
24、=1) set,'String','0') ;elsea = strread(textString, '%f'); a=0-a;set,'String',a)endC. 科学计算函数:按键“ sin ”: 通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并用 sin 函数计算结果, set 函数进行显示输出textString = get,'String');a = strread(textString, '%f');a=sin(a);set,'String'
25、;,a)按键“ cos”通过get函数获得输入的字符,函数strread获得输入字符,并用 cos 函数计算结果, set 函数进行显示输出textString = get,'String');a = strread(textString, '%f');a=cos(a);set,'String',a)按键“ tan ”:通过get函数获得输入的字符,函数strread获得输入字符,并用 tan 函数计算结果, set 函数进行显示输出textString = get,'String');if(strcmp(textString,&
26、#39;')=1)|(strcmp(textString,'')=1)set,'String','inf');elsea = strread(textString, '%f');a=tan(a);set,'String',a)end按键“ cot ” :通过get函数获得输入的字符,函数strread获得输入字符,并 用 cot 函数计算结果, set 函数进行显示输出textString = get,'String');if(strcmp(textString,'')=1)
27、|(strcmp(textString,'0')=1)|(strcmp(textString,'')=1) set,'String','inf');elsea = strread(textString, '%f');a=cot(a);set,'String',a)end按键“ arcsin ” :通过 get 函数获得输入的字符,函数 并用 arcsin 函数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(textS
28、tring, '%f');a=arcsin(a);set,'String',a)strread获得输入字符 ,按键“ arccos ”:通过get函数获得输入的字符,函数并用 arccos 函数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(textString, '%f');a=arccos(a);set,'String',a)strread获得输入字符 ,按键“ arctan ” :通过 get 函数获得输入的字符,函数 并用 arctan 函
29、数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(textString, '%f');a=arctan(a);set,'String',a)strread获得输入字符 ,按键“ arccot ” :通过 get 函数获得输入的字符,函数 并用 arccot 函数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(textString, '%f');a=arccot(a);set,
30、9;String',a)strread获得输入字符 ,按键“ log2 ” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并用 log2 函数计算结果, set 函数进行显示输出 textString = get,'String');if(strcmp(textString,'0')=1)set,'String','error') ;elsea = strread(textString, '%f');a=log2(a);set,'String',a)end按键“
31、 log10” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并用 log10 函数计算结果, set 函数进行显示输出textString = get,'String');if(strcmp(textString,'0')=1)set,'String','error') ;elsea = strread(textString, '%f');a=sin(a);set,'String',a)end按键“ x2 ” :通过get函数获得输入的字符,函数strread获得输入字符,并用语句 a=a*a 计算结果, set 函数进行显示输出textString = get,'String');a = strread(textString, '%f');a=a*a;set,'String',a)按键“2” :通过get函数获得输入的字符,函数strread获得输入字符,并用 sqrt 函数计算结果, set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 济南市2024-2025学年八年级上学期语文期中模拟试卷
- 电解铝电解车间QC课件
- 电脑绣花设计知识培训班课件
- 高能量姿势课件
- 高考成语使用课件
- 电脑无法显示课件页面问题
- revit工程师考试及答案
- pets考试试题及答案
- 湖南省郴州市永兴县三校联考2023-2024学年四年级上学期期中科学试题(含答案)
- 电站典型故障课件
- 物业用房管理管理办法
- 国际劳工组织强迫劳动指标(中文版)
- 水利白蚁防治检查方案
- 技师图书仓储试题及答案
- DB42T 1521-2019 电梯能效测试与评价规则
- 烟草专卖培训
- 人教版初中化学实验教学创新方案计划
- 广东省广州市越秀区2025年七年级英语第二学期期末学业质量监测试题含答案
- 第四单元第1课《寻根之旅》课件-人教版初中美术七年级下册
- 联想集团复盘管理制度
- 呼吸机撤离和拔管流程
评论
0/150
提交评论