matlab计算器设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
题 目 数学计算器的开发
课 程
名 称 软件设计 院 部 名 称 机电工程学院 专 业 自动化 班 级 学 生 姓 名 学 号 课程设计地点 课程设计学时 指 导 教 师
金陵科技学院教务处制
一、课程设计应达到的目的
本课程是为自动化专业本科生开设的专业课程设计课。通过本课程的课程设
成绩
计实践帮助学生巩固关于数据结构、算法、程序设计的基础知识。通过本课程设计,学生可以初步掌握开发一个小型实用系统的基本方法,提高运用编程软件实现GUI程序设计的能力。
二、课程设计的基本要求:
要求利用MATLAB GUI设计实现一个图形用户界面的计算器程序,要现:
A. 具有友好的用户图形界面。实现十进制数的加、减、乘、除、乘方、取模等简单计算。(必做)
B. 科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。(必做)
C. 能够保存上次历史计算的答案,先是答案存储器中得容。(必做)
D. 有清除键,能清除操作,并对不正确的表达式能指出其错误原因。(必做)
E. 独立存储器功能,使之可以直接输入存储器,可与存储器中的数值相加减。能够清除独立存储器中的容。(选做)
利用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及命令按钮,调整好各控件大小、颜色,整体布局如图所示:
然后通过双击个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。
三、课题设计容与步骤
3.1 各功能界面设计
GUI设计界面:
3.2 各功能模块实现
算法设计:
A. 数字键设计:0—9以及小数点函数都一样,只是参数不同:textString = get(handles.edit1,'String');
if(strcmp(textString,'0')==1)
set(handles.edit1,'String','1') ;
else
textString =strcat(textString,'1');
set(handles.edit1,'String',textString)
end
B. 四则运算函数:
textString = get(handles.edit1,'String');
ss=char(textString);
l=length(textString);
if(ss(l)=='+'||ss(l)=='-'||ss(l)=='*'||ss(l)=='/'||ss(l)=='.') textString=ss(1:l-1);
end
textString =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. 退格键:通过取屏幕值,计算出其字符长度,然后取其前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(handles.edit1,'String');
if(strcmp(textString,'0')==1)
set(handles.edit1,'String','0') ;
else
a = strread(textString, '%f');
a=0-a;
set(handles.edit1,'String',a)
end
3.3 各模块实现结果
A.数字键:
B. 四则运算函数:
C. 科学计算函数:Sin1的计算结果=
3.4、结果分析
计算(1+9)/5
计算结果=2
计算3*4
计算结果=12
arcsin1计算结果
log
2的报错:通过输入的数据与‘0’字符比较,若两者相等,则显示“error”进行报错,结果如下:
经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。
四、课程设计源代码
A.数字键设计:
按键“0”:通过get函数获得输入的字符,函数strcat获得字符'0',并用set 函数进行显示输出
textString = get(handles.edit1,'String');
if(strcmp(textString,'0')==1)
set(handles.edit1,'String','0') ;
else
textString =strcat(textString,'0');
set(handles.edit1,'String',textString)
end
按键“1”:通过get函数获得输入的字符,函数strcat获得字符'1',并用set 函数进行显示输出
textString = get(handles.edit1,'String');
if(strcmp(textString,'0')==1)
set(handles.edit1,'String','1') ;
else