编写一个计算器程序课程设计报告范例

上传人:cn****1 文档编号:507630077 上传时间:2024-01-19 格式:DOC 页数:27 大小:967KB
返回 下载 相关 举报
编写一个计算器程序课程设计报告范例_第1页
第1页 / 共27页
编写一个计算器程序课程设计报告范例_第2页
第2页 / 共27页
编写一个计算器程序课程设计报告范例_第3页
第3页 / 共27页
编写一个计算器程序课程设计报告范例_第4页
第4页 / 共27页
编写一个计算器程序课程设计报告范例_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《编写一个计算器程序课程设计报告范例》由会员分享,可在线阅读,更多相关《编写一个计算器程序课程设计报告范例(27页珍藏版)》请在金锄头文库上搜索。

1、学号2016-2017学年 第二学期第2页金融IT入门-程序设计课程设计报告题目:用Python编写简易计算器程序学号:指导教师:中国地质大学长城学院XX系2017年 月3日目录一总体概述:二. 设计目标:三. 程序流程图: 四程序代码:五.设计体会:评分 细则项 分 评秀好 良等 中差现况 主冃 完2 z(是4z(简 短日月 名 年评分等级备注隼 中 良设计内容 - 2 -1. 课程设计目的: - 2 -2.课程设计任务: - 2 -3. 创新要求: - 2 -4. 设计要求 : - 2 -原理与分析 - 2 -1. 开发的技术及功能 - 2 -2. 设计思路 - 3 -3. 设计效果图 -

2、 3 -三、 设计过程 - 3 -1. 程序思路: - 3 -2. 功能实现: - 4 -1)加减乘除求余以及指数运算 - 4 -2)其他运算 - 5 -3)主要方法说明 - 6 -4)程序流程图 - 6 -3. 算法思路: - 7 -4. 数据分析: - 8 -四、设计结果与分析 - 8 -1运行调试 -8 -1)进行加减乘除求余以及指数运算 - 8 -2)求倒 - 9 -3)退格 - 10 -4)清零 - 10 -5)求余弦、求正切、对e求幕、求平方根、求自然对数、求倒运算 11-6)连续运算(例: 2*3*4=24.0 ) - 11 -7)异常处理(例:求倒时输入数为0) - 12 -五

3、、 设计体会与小结 - 13 -六、参考文献 - 13 -七、源程序 - 14 -、设计内容1. 课程设计目的:1)掌握 Java 语言的程序设计方法;2)理论联系实际,进一步提高学生的软件开发技术;3)培养学生分析、解决问题的能力;4)提高学生实践论文撰写能力。2. 课程设计任务:1)设计的计算器应用程序可以完成加法、 减法、乘法、除法以及取余运算 (可 以进行浮点数和负数的运算) ;2)有求倒数、退格和清零功能3. 创新要求:能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。图形界面采用继承 windowadapter 类,采取调用类方法来注册监听!4. 设计要求 :1)设计

4、的计算器应用程序可以完成加法、减法、乘法、除法和取余运算。且 有小数点、正负号、求倒数、退格和清零功能。2)课程设计可选用Eclipse、JBuilder、NetBeans等作为开发平台以提高开发效 率,通过资料查阅和学习尽可能熟练掌握其中一种集成开发环境。3 )认真按时完成课程设计报告,课程设计报告内容包括:设计任务与要求、 需求分析、 设计思路、 详细设计、 运行调试与分析讨论和设计体会与小结六个部 分。二、原理与分析1. 开发的技术及功能- # -本课程设计是要做一个图形界面的计算器,其界面主要是由swing组件中的控件构成。程序实现了计算器的基本功能有:加、减、乘、除基本算术运算(可

5、以进行浮点和负数运算)和sin、cos、tan等三角函数求值运算,同时能进行指 数运算和自然对数运算,还有求倒数、退格和清零功能。2. 设计思路设计这个计算器主要是参考Win dows操作系统中自带的计算器,由于编者水 平和时间的限制,不能将计算器设计到科学型及其他更复杂的类型,在设计过程中还参考了一些其他的优秀设计。 但本计算器除了常用的加减乘除(可以进行浮 点和负数运算)这些基本运算外,还有求余、求倒、退格、清零,甚至还能进行 一些复杂科学的运算,比如余弦(cos)、正切(tan)、指数运算(pow)、自然对 数运算(log)、求平方根(sqrt)以及对e的指数运算(exp),并且还能进行

6、连 续运算。总体上说来,本计算器设计简单,代码很少,程序很小,但功能却很强 大,这是同类计算器所不具备的。3. 设计效果图设计时先在设计界面中添加按钮等控件,后在按钮的actionPeformed事件 中添加代码完成其功能其中调用了Java类中的Math函数库以及各种字符串操作。设计的界面如下:图一计算器运行界面三、设计过程1. 程序思路:1)本应用程序继承自框架类(JFram,容器 Con tai ner c采用BorderLayout边 缘布局,将单行文本框加入到“ North”区域,包含各种按钮的面板JPa nel p加入 到”Center”区域。包含各种按钮的面板 JPanel p采用

7、3行6列的网格布局,然后 将数字按钮和运算符按钮以及控制按钮用一个 for 循环添加到面板中同时注册按 钮事件监听器。如:Button b=new Button();b.addActionListener(事件监听器); 2)事件监听器中的事件处理方法 void actio nPeformed(Acti on Eve nt evt)完成主要 的按钮事件的处理。事件处理分以下几种情况:数字按钮事件 ”2” ” ”9”、运算符按钮事件(”、 正负号按钮事件(”+/-“、小数点按钮事件(”.”)、等号按钮事件(”=”、求倒 按钮事件(”求倒”)、退格按钮事件(”退格”、清除按钮事件(C”、正切(ta

8、n)、 余弦(cos),以及求平方根(sqrt)、指数 (pow)、对e的指数(exp)、对数运 算( log、。3、在事件处理,触发按钮事件时,先判断是或是数字是或是“-/+ ”是或是“ . ”是的话就将负号“ -” 、数字、小数点“ .”分别写入文本框并存放在 sum 中, 然后判断是或是“退格” 、“求倒”等,是的话进行相应的处理,都不是的话则跳 到doOperation()执行运算同时将运算符存放在 preOperate冲。触发按钮事件时, 要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事 件。4、计算器完成的是一个数学表达式,如: 32,所以可以采用一个数组来存储

9、 数字或字符,如 3, 2 分别存储在数组中,最后运算时,可以一一取出来进 行运算。5、利用按钮设计计算器的各个运算符和操作符,通过按钮的事件处理实现按钮 计算功能。6、利用文本框显示操作数和运算结果2. 功能实现:1) 加减乘除求余以及指数运算void doOperation()double m=Double.parseDouble(x.getText();if(preOperater.equals() sum=m; /无前一操作,结果为刚输入数 /将结果与文本框中的数据按照前一个运算符运算 if(preOperater.equals(+) sum=sum+m; /加法运算 if(preOp

10、erater.equals(-) sum=sum-m; /减法运算 if(preOperater.equals(*) sum=sum*m; /乘法运算 if(preOperater.equals(/) sum=sum/m; /除法运算 if(preOperater.equals(%) sum=sum%m; /求余 if(preOperater.equals(pow) sum=Math.pow(sum, m); /求幂,指数运算- # -2)其他运算I、n亶、V、求平方根Void sqrt() double m=Double.parseDouble(x.getText();if (m0)x.se

11、tText(负数不能开根号);elsex.setText(+Math.sqrt(m);对数运算Void log() double m=Double.parseDouble(x.getText();if (m0)x.setText(负数不能进行自然对数运算); elsex.setText(+Math.log(m);余弦运算Void cos() double m=Double.parseDouble(x.getText();x.setText(+Math.cos(m);正切运算Void tan() double m=Double.parseDouble(x.getText();x.setText(

12、+Math.tan(m);e 的指数运算Void exp() double m=Double.parseDouble(x.getText();x.setText(+Math.exp(m);切、倒数运算Void daoshu() if (Double.parseDouble(x.getText()=0)x.setText(除数不能为零);elsex.setText(+1/(Double.parseDouble(x.getText();preOperater=;3)主要方法说明public public public public public public publiccos(double x)

13、 /求 x 的余弦函数 tan (double x) /求 x 的正切函数 sqrt(double x) /求 x 的平方根 log (double x) /求 x 的自然对数运算 exp (double x) /求 e 的 x 次幂pow (double a, double b) /求 a 的 b 次幕daoshu (double x) /求 x 的倒数4)程序流程图开始3. 算法思路:这是一个简单的计算器,里面所涉及到的功能就是加、减、乘、除、开方运 算、等基本功能。仅须定义两个变量来保存双运算操作的前一个数和当前在计算 器上显示的数字即可,而对于单运算的操作要求更加简单,只需要一个变量就

14、可 以了。当然对数据进行判断是必不可少的。在输入数据之后 Character.isDigit(Comma nd.charAt(O)判断输入的数据是否符合要求。不符合要求 给出提示,符合要求以后将判断点击的运算符,执行相应的操作。对于单运算操作要进一步判断是否符合要求,如果是就进入下步计算,如果不是就弹出相应的提示:“负数不能开根号;除数不能为零;用try :catch捕获异常,如果有异常则中止活动。在进行开方(sqrt)运算时,如果输入数 为负数,则弹出负数不能开根号,中止运算。在进行自然对数运算时(log)如 果输入数为负数, 则弹出 负数不能进行自然对数运算” 。在进行三角函数运算时(cos tan)不必考虑输入的数字是否符合规范,对于任意输入的数函数本身有 一个判断的过程, 都能把输

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号