1、1 工学系课程设计报告工学系课程设计报告 设设 计计 题题 目:目:计算带变量的数学表达式程序计算带变量的数学表达式程序 系系 别:别:工学系工学系 专专 业业 ( (方方 向向) ):信息管理与信息系统信息管理与信息系统 年年 级、级、 班:班:2012 级本科级本科(1)(1)班班 2014 年年 6 月月 30 日日 2 目录目录 一、系统开发的背景1 二、系统分析与设计3 (一)系统功能要求4 (二)系统模块结构设计4 三、系统的设计与实现5 四、系统测试5 五、总结6 六、附件(源代码)7 带变量的数学运算表达式带变量的数学运算表达式 3 一、一、 系统开发的背景系统开发的背景 在我
2、们日常生活中,计算开支、收入时,大额数字或是多倍小数的计 算都需要计算器的帮助,而在学习一些科目时,也常常要处理数字。 虽然现在的计算器价格比较低廉, 但是功能过于简单的不能满足个人 需求,功能多的价格较贵,不仅操作不便,很多功能也根本用不到。 为了设计开发一个属于自己的简单计算器来完成日常学习生活的需 求。因此,我们用自己所学的知识,采用 GUI 来实现计算器,并采用 Swing 组件,AWT 事件处理等实现具体功能。 二、二、 系统分析与设计系统分析与设计 (一)系统功能要求 由于现代用户更倾向于由鼠标方便操作的图形用户界面, 所以我们采 用 GUI 来实现计算器,并采用 Swing 组件
3、,AWT 事件处理等实现具体 功能。功能要求: (1)由用户输入一个表达式,求出其计算结果后显示。 (2)允许在表达式中出现常用的数学函数,如绝对值、取整、三角 函数、倒数、平方根、平方、立方等。 (3)要能够判断出表达式中的变量名及其个数,按照变量名自动弹 出/出现输入界面逐个让用户输入变量。 (4)尽量使用图形界面实现,要符合日常软件使用规范来设计菜单 和界面。 (5)如果无法实现图形界面,则在命令行方式下也需要提供菜单, 方便用户操作。 4 (二)系统模块结构设计 通过对系统功能的分析, 计算带变量的数学表达式系统功能模板如下 图所示: 通过上图的功能分析,把整个系统划分为 2 个大模块
4、,9 个小功能: 1、 简单计算,具体实现功能:计算加、减、乘、除。 2、 简单科学计算,具体实现功能:开平方运算、平方、立方、取 整、三角函数、倒数。 三、三、 系统的设计与实现系统的设计与实现 以下是部分类功能的说明: CalFrame /构造新窗体 CalPanelL /定义面板容器 CalButton/定义按钮 四、四、 系统测试系统测试 5 主要问题: 1.标点符号问题,经常出现漏打分号,忽略中英文标点转换等问题,所 以一定要谨慎仔细. 2.进制转换的实现及正/余弦计算经常出现问题,结果不正确,经过查 阅资料及反复调试,我终于克服了这一难题. 3.界面设计,开始我的设计不太合理,各类
5、功能键排序不合理,看起 来杂乱无章,既不美观也不实用。经过多次调整程序终于能使界面美 观实用。 4.要注意类、成员变量、成员方法的命名,其中,class 后的类名由 一个或多个英文 5.单词构成,每个单词的第一个字符必须是大写; 而成员变量和成员 方法名的第一个单词的第一个字母必须小写, 其他单词第一个字母大 写。 6.以下是其中一些主要功能演示过程: 运行界面: 五、五、 总结总结 6 通过此次的课程设计实践,我不但进一步理解掌握了老师教授的 知识,而且通过查找资料学会了课上没有的东西, 进一步理解了面向 对象的含义,发现了很多它比面向过程突出的地方,第一次接触了图 形界面,初步了解了 GUI 方面的知识。在实践中我遇到了很多问题, 但我都努力克服,并最终成功的完成了这次课程设计。 通过编写这个相对复杂的程序,我认识解决实际问题前应先建立 模型,再通过建立的模型使问题简单化,从而解决问题。并且这次编 写的程序大部分是通过调用各包中的方法来实现的, 这也让我充分理 解了包和类的调用关系。由于这次编写的程序比较复杂, 所以不能一 次性编写、调试,也由此让我学会把程序分块,逐个编写、调