《matlab计算器设计》由会员分享,可在线阅读,更多相关《matlab计算器设计(17页珍藏版)》请在金锄头文库上搜索。
1、成绩 课程设计报告 题 目 数学计算器的开发 课 程 名 称 软件设计 院 部 名 称 机电工程学院 专 业 自动化 班 级 学 生 姓 名 学 号 课程设计地点 课程设计学时 指 导 教 师 金陵科技学院教务处制一、课程设计应达到的目的本课程是为自动化专业本科生开设的专业课程设计课。通过本课程的课程设计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实现GUI程序设计的能力。二、 课程设计的基本要求:要求利用MATLAB 设计实现一个图形用户界面的计算器程序,要求实现:A. 具有友好的用户图形界面。实现十
2、进制数的加、减、乘、除、乘方、取模等简单计算。(必做)B. 科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。(必做)C. 能够保存上次历史计算的答案,先是答案存储器中得内容。(必做)D. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。(必做) E. 独立存储器功能,使之可以直接输入存储器,可与存储器中的数值相加减。能够清除独立存储器中的内容。(选做) 利用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及命令按钮,调整好各控件大小、颜色,整体布局如图所示:然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调
3、试。三、课题设计内容与步骤3.1 各功能界面设计GUI设计界面:3.2 各功能模块实现算法设计:A. 数字键设计:09以及小数点函数都一样,只是参数不同:textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,1) ;elsetextString =strcat(textString,1);set(handles.edit1,String,textString)endB. 四则运算函数:textString = get(handles.edit1,String);ss=
4、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(handles.edit1,String,textString)C. 科学计算函数:textString = get(handles.edit1,String);a = strread(textString, %f);a=sin(a);set(handles.edit1,String,a)D. 退格键:通过取屏幕
5、值,计算出其字符长度,然后取其前N-1项的值来实现退格:textString = get(handles.edit1,String);if(strcmp(textString,0)=1)&(jj=0) set(handles.edit1,String,0) ;else ss=char(textString); l=length(textString); textString=ss(1:l-1);set(handles.edit1,String,textString)E. 清屏键函数:set(handles.edit1,String,0) ;F. +/-的实现textString = get(h
6、andles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,0) ;elsea = strread(textString, %f);a=0-a;set(handles.edit1,String,a)end3.3 各模块实现结果A. 数字键:B. 四则运算函数:C. 科学计算函数:Sin1的计算结果=3.4、结果分析 计算(1+9)/5计算结果=2计算3*4计算结果=12 arcsin1计算结果的报错:通过输入的数据与0字符比较,若两者相等,则显示“error”进行报错,结果如下:经过计算,这些结果均与实际结果
7、相吻合,计算器的功能实现的较为完好。四、课程设计源代码A. 数字键设计:按键“0” :通过get函数获得输入的字符,函数strcat获得字符0,并用set函数进行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,0) ;elsetextString =strcat(textString,0);set(handles.edit1,String,textString)end按键“1” :通过get函数获得输入的字符,函数strcat获得字符1,并用set函数进
8、行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,1) ;elsetextString =strcat(textString,1);set(handles.edit1,String,textString)end按键“2” :通过get函数获得输入的字符,函数strcat获得字符2,并用set函数进行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handl
9、es.edit1,String,2) ;elsetextString =strcat(textString,2);set(handles.edit1,String,textString)End按键“3” :通过get函数获得输入的字符,函数strcat获得字符3,并用set函数进行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,3) ;elsetextString =strcat(textString,3);set(handles.edit1,Strin
10、g,textString)end按键“4” :通过get函数获得输入的字符,函数strcat获得字符4,并用set函数进行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,4) ;elsetextString =strcat(textString,4);set(handles.edit1,String,textString)end按键“5” :通过get函数获得输入的字符,函数strcat获得字符5,并用set函数进行显示输出textString = ge
11、t(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,5) ;elsetextString =strcat(textString,5);set(handles.edit1,String,textString)end按键“6” :通过get函数获得输入的字符,函数strcat获得字符6,并用set函数进行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,6) ;
12、elsetextString =strcat(textString,6);set(handles.edit1,String,textString)end按键“7” :通过get函数获得输入的字符,函数strcat获得字符7,并用set函数进行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,7) ;elsetextString =strcat(textString,7);set(handles.edit1,String,textString)end按键“8
13、” :通过get函数获得输入的字符,函数strcat获得字符8,并用set函数进行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,8) ;elsetextString =strcat(textString,8);set(handles.edit1,String,textString)end按键“9” :通过get函数获得输入的字符,函数strcat获得字符9,并用set函数进行显示输出textString = get(handles.edit1,String);if(strcmp(textString,0)=1) set(handles.edit1,String,9) ;elsetextString =strcat(textString,9);set(handles.edit1,String,textString)endB. 四则运算函数:按键“+” :通过get函数获得