matlab计算器设计_第1页
matlab计算器设计_第2页
matlab计算器设计_第3页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、成绩课程设计报告题目数学计算器的开发课程名称软件设计院部名称 机电工程学院专业自动化班级学生姓名学号课程设计地点课程设计学时指导教师金陵科技学院教务处制一、课程设计应达到的目的本课程是为自动化专业本科生开设的专业课程设计课。通过本课程的课程设 计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设 计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实 现GUI程序设计的能力。二、课程设计的基本要求:要求利用MATLABG UI设计实现一个图形用户界面的计算器程序,要求实 现:A. 具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、取模等简单计算。(必

2、做)B. 科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、 指数等函数运行。(必做)C. 能够保存上次历史计算的答案,先是答案存储器中得内容。(必做)D. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。(必做)E. 独立存储器功能,使之可以直接输入存储器,可与存储器中的数值相加 减。能够清除独立存储器中的内容。(选做)利用MATLAB GU功能,在绘制一个静态文本框和一个文本编辑框,以及命 令按钮,调整好各控件大小、颜色,整体布局如图所示:然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运 行调试三、课题设计内容与步骤各功能界面设计GUI设计

3、界面:各功能模块实现算法设计:A. 数字键设计:09以及小数点函数都一样,只是参数不同:textStri ng = get,'Stri ng');if(strcmp(textStri ng,'0')=1)set,'Stri ng','1');elsetextStri ng =strcat(textStri ng,'1');set,'Stri ng',textStri ng)endB. 四则运算函数:textStri ng = get,'Stri ng');ss=char(textSt

4、ri ng);l=le ngth(textStri ng);if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)='.') textStri ng=ss(1:l-1);end textString =strcat(textString,'+'); set,'String',textString)C. 科学计算函数: textString = get,'String'); a = strread(textString, 

5、9;%f'); a=sin(a);set,'String',a)N-1 项的值来实现D. 退格键:通过取屏幕值,计算出其字符长度,然后取其前 退格: textString = get,'String');if(strcmp(textString,'0')=1)&(jj=0) set,'String','0') ;elsess=char(textString); l=length(textString);textString=ss(1:l-1); set,'String',textSt

6、ring)E. 清屏键函数: set,'String','0') ;F. +/- 的实现 textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','0') ;elsea = strread(textString, '%f'); a=0-a;set,'String',a) end各模块实现结果A.数字键:B.四则运算函数:R ZA Wtsm arc&cicos arcscosan

7、ceoEcct arctanC.科学计算函数:Sin1的计算结果=、结果分析计算(1+9) 15计算结果=2计算3*4计算结果=12arcsinl 计算结果errorlog2 0的报错:通过输入的数据与o'字符比较,若两者相等,贝U显示进行报错,结果如下:H hl-经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好四、课程设计源代码A. 数字键设计:按键“0” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1)set,'

8、;String','0') ;elsetextString =strcat(textString,'0'); set,'String',textString) end函数 strcat 获得字符 '0', 并用 set按键“1” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','1') ;elsetextString

9、 =strcat(textString,'1'); set,'String',textString) end函数 strcat 获得字符 '1', 并用 set按键“2” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String');if(strcmp(textString,'0')=1)set,'String','2') ;elsetextString =strcat(textString,'2');set,'S

10、tring',textString)End函数 strcat 获得字符 '2', 并用 set按键“3” :通过 get 函数获得输入的字符, 函数 strcat 获得字符 '3', 并用 set 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1)set,'String','3') ;elsetextString =strcat(textString,'3');set,'String'

11、;,textString) end按键“4” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','4') ;elsetextString =strcat(textString,'4'); set,'String',textString) end按键“5” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'Str

12、ing'); if(strcmp(textString,'0')=1)set,'String','5') ;elsetextString =strcat(textString,'5'); set,'String',textString) end按键“6” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','6&

13、#39;) ;elsetextString =strcat(textString,'6'); set,'String',textString) end函数 strcat 获得字符 '4', 并用 set函数 strcat 获得字符 '5', 并用 set函数 strcat 获得字符 '6', 并用 set按键“7” :通过 get 函数获得输入的字符, 函数 strcat 获得字符 '7', 并用 set 函数进行显示输出textString = get,'String'); if(

14、strcmp(textString,'0')=1)set,'String','7') ;else函数 strcat 获得字符 '8', 并用 set函数 strcat 获得字符 '9', 并用 set按键“+”通过 get 函数获得输入的字符,函数 strcat 获得字符 '+', 并用 settextString =strcat(textString,'7'); set,'String',textString) end按键“8” :通过 get 函数获得输入的字符,

15、 函数进行显示输出textString = get,'String'); if(strcmp(textString,'0')=1) set,'String','8') ;elsetextString =strcat(textString,'8'); set,'String',textString) end按键“9” :通过 get 函数获得输入的字符, 函数进行显示输出textString = get,'String');if(strcmp(textString,'0'

16、;)=1)set,'String','9') ;elsetextString =strcat(textString,'9'); set,'String',textString) endB. 四则运算函数:函数进行显示输出textString = get,'String');ss=char(textString); l=length(textString);if(ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)=

17、'.') textString=ss(1:l-1);endtextString =strcat(textString,'+'); set,'String',textString)按键“- ” :通过 get 函数获得输入的字符, 函数 strcat 获得字符 '-', 并用 set 函数进行显示输出textString = get,'String');ss=char(textString);l=length(textString);if(ss(l)='+'|ss(l)='-'|ss(

18、l)='*'|ss(l)='/'|ss(l)='.') textString=ss(1:l-1);endtextString =strcat(textString,'-'); set,'String',textString)按键“*” :通过 get 函数获得输入的字符, 函数 strcat 获得字符 '*', 并用 set 函数进行显示输出textString = get,'String');ss=char(textString);l=length(textString); if(

19、ss(l)='+'|ss(l)='-'|ss(l)='*'|ss(l)='/'|ss(l)='.')textString=ss(1:l-1);endtextString =strcat(textString,'*');set,'String',textString)按键“/ ” :通过 get 函数获得输入的字符, 函数 strcat 获得字符 '/', 并用 set 函数进行显示输出textString = get,'String');ss=char

20、(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',textString)按键“. ” :通过 get 函数获得输入的字符, 函数 strcat 获得字符 '.', 并用 set 函数进行显示输出text

21、String = 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',textString): 通过 get 函数获得输入的字符,函数 strcat

22、 获得字符 '+/-', 并 用 set 函数进行显示输出 if(strcmp(textString,'0')=1) set,'String','0') ;elsea = strread(textString, '%f');a=0-a; set,'String',a) endC. 科学计算函数:按键“ sin ” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并 用 sin 函数计算结果, set 函数进行显示输出 textString = get,'Strin

23、g');a = strread(textString, '%f');a=sin(a); set,'String',a)按键“ cos”通过get函数获得输入的字符,函数strread获得输入字符,并用 cos 函数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(textString, '%f'); a=cos(a);set,'String',a)按键“ tan ”:通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并

24、用 tan 函数计算结果, set 函数进行显示输出 textString = get,'String');if(strcmp(textString,'')=1)|(strcmp(textString,'')=1) set,'String','inf');elsea = strread(textString, '%f');a=tan(a);set,'String',a)end按键“ cot ” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并 用 cot

25、 函数计算结果, set 函数进行显示输出 textString = get,'String');if(strcmp(textString,'')=1)|(strcmp(textString,'0')=1)|(strcmp(textString,'')=1) set,'String','inf');elsea = strread(textString, '%f'); a=cot(a);set,'String',a)end按键“ arcsin ” :通过 get 函数获

26、得输入的字符,函数 strread 获得输入字符 , 并用 arcsin 函数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(textString, '%f'); a=arcsin(a);set,'String',a)按键“ arccos ” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并用 arccos 函数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(text

27、String, '%f');a=arccos(a); set,'String',a)按键“ arctan ” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并用 arctan 函数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(textString, '%f');a=arctan(a); set,'String',a)按键“ arccot ” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 ,

28、并用 arccot 函数计算结果, set 函数进行显示输出 textString = get,'String');a = strread(textString, '%f');a=arccot(a); set,'String',a)按键“ log2 ” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并用 log2 函数计算结果, set 函数进行显示输出 textString = get,'String');if(strcmp(textString,'0')=1)set,'St

29、ring','error') ;elsea = strread(textString, '%f');a=log2(a);set,'String',a)end按键“ log10 ” :通过 get 函数获得输入的字符,函数 strread 获得输入字符 , 并用 log10 函数计算结果, set 函数进行显示输出 textString = get,'String');if(strcmp(textString,'0')=1)set,'String','error') ;else

30、a = strread(textString, '%f');a=sin(a);set,'String',a)end按键“ xA2 ”:通过get函数获得输入的字符,函数strread获得输入字符,并用语句 a=a*a 计算结果, set 函数进行显示输出textString = get,'String');a = strread(textString, '%f');a=a*a;set,'String',a)按键“V” :通过get函数获得输入的字符,函数strread获得输入字符,并用 sqrt 函数计算结果, set 函数进行显示输出textString = get,'String');if(s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论