计算器程序设计报告
c语言程序设计课程计算器设计报告

课程设计说明书题目计算器程序设计起讫日期 2006 年 7月 3日至 2006 年 8月 6日所在院系软件学院专业机械+软件班级 04-2学生姓名偶偶哦学号指导教师2006年 8 月日摘要当今社会是信息社会,科技经济高速发展的社会!为了更方便人们的工作生活和加速人们处理信息的速度,计算器应运而生。
由于它体积小巧,携带方便,价格便宜,构造简单等诸多的优点成为人们生活中的必备品!随着科技的发展计算器的种类变得更多,功能变得更强大,体积变得更小!电脑的出现改变人们的生活习惯,很多事情都可以电脑来完成!电脑的更大一个优点就是可以通过软件的应用无限的延伸电脑功能的外延!下面我们将用我们学习的c语言编写一个简易的计算器程序!实现简单的初步的计算功能!本程序的编写基础是Tubro 汉化版,它在tubro c的原有基础上实现了多汉字的支持方便了我们的使用。
生成的程序可移植性强兼容性好稳定!现在只实现了加、减、乘、除、求幂、求模,求平方根,求Sin,求Cos,求Log10,以及一个时钟原代码。
这个系统是基于软件发展的生命周期来研制的,它可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。
但是,每次只能运算一个表达式。
不能运算多个表达式。
在程序里面在添加一组选择函数即可。
本论文主要介绍了本课题的开发背景,开发的过程和所要完成的功能。
重点的说明了系统设计思想,设计的步骤、难点技术和解决方案。
关键词:C语言 Tubro c 汉化版计算器时钟目录第一章综述 (1)1.1 课题的现实意义 (1)1.2 软件环境 (1)1.3 硬件环境 (1)第二章系统设计流程图 (2)2.1 系统流程图 (2)2.2 主要功能表 (2)第三章系统分析和设计 (3)3.1 图形的绘制和输出 (3)3.2 文本的输出显示 (3)3.3 计算函数的调用 (4)3.4 程序的运行和退出 (5)第四章系统测试 (6)4.1 系统测试 (6)4.2 调试 (6)4.3 错误原因分析一 (6)4.4 错误原因分析二 (6)第五章用户使用说明书 (8)5.1 运行Turbo C程序进入计算器界面 (8)5.2 计算器的使用 (9)5.3 退出程序 (9)第六章工作总结 (10)参考文献 (11)附录: 源代码第一章综述课题的现实意义现实学习生活中,常会遇到一些数目较大数据繁杂的数值运算,徒手运算起来很困难,这时候我们就必须用到计算器,所以便着手开发了这个计算器程序,以便用于自己的学习工作。
编写一个计算器程序课程设计报告-范例

《金融IT 入门—程序设计》课程设计报告中国地质大学长城学院XX系2017年 月 3 日目录一.总体概述:二.设计目标:三.程序流程图: 四.程序代码:题目: 用Pyt hon 编写简易计算器程序 学号: 专业:班级: 姓名:指导教师:2016-2017学年 第二学期一、设计内容ﻩ2——1、课程设计目得:ﻩ- 2-2、课程设计任务:----------------------------------------------------------------------------- — 2 -3、创新要求: ----------------------------------------------------------------------------------------- - 2 —2—4、设计要求:ﻩ-二、原理与分析ﻩ-2-1、开发得技术及功能------------------------------------------------------------------------------- - 3 -2、设计思路 ---------------------------------------------------------------------------------------- -3-3、设计效果图 ---------------------------------------------------------------------------------- -3-三、设计过程------------------------------------------------------------------------------------------------ - 3 -1、程序思路:ﻩ—3-2、功能实现:------------------------------------------------------------------------------------------ - 4 -1)加减乘除求余以及指数运算----------------------------------------------------------- -4-2)其她运算 ----------------------------------------------------------------------------------- - 4-3)主要方法说明------------------------------------------------------------------------------- - 6-4)程序流程图ﻩ-6-3、算法思路: ----------------------------------------------------------------------------------------- - 7 —4、数据分析:ﻩ-8-四、设计结果与分析------------------------------------------------------------------------------------- -8 -8-—⒈运行调试ﻩ1)进行加减乘除求余以及指数运算--------------------------------------------------- -8 -2)求倒------------------------------------------------------------------------------------------ - 9- —10—3)退格ﻩ4)清零 -------------------------------------------------------------------------------------------- - 10 -5)求余弦、求正切、对e求幂、求平方根、求自然对数、求倒运算ﻩ—11 -11——6)连续运算(例:2*3*4=24、0)ﻩ7)异常处理(例:求倒时输入数为0) ------------------------------------------- — 12-13-五、设计体会与小结ﻩ-六、参考文献 ---------------------------------------------------------------------------------------- -13-七、源程序------------------------------------------------------------------------------------------ —14-一、设计内容1.课程设计目得:1)掌握Java语言得程序设计方法;2)理论联系实际,进一步提高学生得软件开发技术;3)培养学生分析、解决问题得能力;4)提高学生实践论文撰写能力.2、课程设计任务:1)设计得计算器应用程序可以完成加法、减法、乘法、除法以及取余运算(可以进行浮点数与负数得运算);2)有求倒数、退格与清零功能.3、创新要求:能进行正切、余弦,以及求平方根、指数(包括对e)、自然对数运算。
计算器设计报告.

程序设计与课题设计计算器设计报告电信1302何倩雯林然然索引概要 (3)一.设计任务与目标 (3)1.基本功能 (3)2.附加功能 (3)二.方案设计与功能说明 (3)1.程序界面总体规划 (3)2.程序功能实现 (4)三.程序类图 (5)四.主要程序清单 (6)alculationDlg类 (6)2.CSquare类 (11)3.XBitmapButton类 (13)五.程序运行的测试与分析 (14)1.测试基础加减乘除功能运算 (14)2.测试连加,连乘,连减,连除功能 (14)3.连等以及等号后直接进行运算的测试 (14)4.测试退格,清0,全清 (14)5.寄存器功能测试 (14)6.16进制、8进制、2进制功能测试 (14)六.负责完成内容 (14)七.结论与心得 (15)概要在《程序设计课程设计》课程中,我们选择Visual C++6.0作为开发平台,两人一组,设计开发一个模拟计算器。
尽量向windows自带计算器靠近。
完成了普通计算器以及科学计算器,能够满足一般计算要求,也提供了二进制、八进制、十六进制的四则运算。
在计算器外观上也做了改进。
一.设计任务与目标1、完成基本功能:1)计算器窗口界面的绘制以及基本加减乘除运算及其连续运算的实现2)寄存器的存储,读取及清空,显示寄存器内容3)运算过程的显示5)按等号重复最后一次运算6)退格,清空及全部清空7)取反,开根号及倒数运算2、附加功能1)增加科学型计算功能2)增加十六进制, 二进制,八进制数据计算功能;3)美化模拟计算器界面,如按钮被选中后自动改变颜色,增加菜单栏根据需要选择不同类型的计算器等。
二.方案设计与功能说明1.程序界面总体规划创建CALCULATION_DIALOG和SCIENCE_DIALOG两个对话框界面分别用于显示普通型计算器与科学型计算器。
为两个对话框添加菜单,供用户选择所需计算器类型(即相应的对话框窗口)。
(1)普通型计算器数字0-9,小数点,+,-,x,÷,倒数,取负,根号,百分号,=,清零,全部清零,退格,读寄存器,存寄存器,清寄存器共26个按钮,用于用户的运算操作。
编写一个计算器程序课程设计报告范例定稿版

编写一个计算器程序课程设计报告范例HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】《金融IT 入门-程序设计》课程设计报告中国地质大学长城学院XX 系2017年月 3 日 目录 一.总体概述: 二.设计目标: 三.程序流程图: 四.程序代码:五.设计体会:细则题目: 用Python 编写简易计算器程序 学号:专业:班级:姓名: 指导教师:2016-2017学年 第二学期一、设计内容--------------------------------------------------- - 2 -1. 课程设计目的:------------------------------------------- - 2 -2.课程设计任务:??------------------------------------------ - 2 -3.创新要求:------------------------------------------------ - 2 -4.设计要求:------------------------------------------------- - 2 -二、原理与分析------------------------------------------------- - 2 -1.开发的技术及功能------------------------------------------ - 3 -2.设计思路-------------------------------------------------- - 3 -3.设计效果图------------------------------------------------ - 3 -三、设计过程--------------------------------------------------- - 3 -1. 程序思路:----------------------------------------------- - 3 -2.功能实现:------------------------------------------------ - 4 -1)加减乘除求余以及指数运算------------------------------ - 4 -2)其他运算---------------------------------------------- - 4 -3)主要方法说明------------------------------------------ - 6 -4)程序流程图-------------------------------------------- - 6 -3.算法思路:------------------------------------------------ - 7 -4.数据分析:------------------------------------------------ - 8 -四、设计结果与分析---------------------------------------------- - 8 -⒈运行调试-------------------------------------------------- - 8 -1)进行加减乘除求余以及指数运算-------------------------- - 8 -2)求倒-------------------------------------------------- - 9 -3)退格------------------------------------------------- - 10 -4)清零------------------------------------------------- - 10 -5)求余弦、求正切、对e求幂、求平方根、求自然对数、求倒运算- 11 -6)连续运算(例:2*3*4=24.0)--------------------------- - 11 -7)异常处理(例:求倒时输入数为0)--------------------- - 12 -五、设计体会与小结-------------------------------------------- - 13 -六、参考文献-------------------------------------------------- - 13 -七、源程序---------------------------------------------------- - 14 -一、设计内容1.课程设计目的:1)掌握Java语言的程序设计方法;2)理论联系实际,进一步提高学生的软件开发技术;3)培养学生分析、解决问题的能力;4)提高学生实践论文撰写能力。
计算器设计实验报告

计算器设计实验报告计算器设计实验报告第一部分:引言计算器是一种广泛应用于日常生活和工作中的电子设备。
它能够进行基本的数学运算,如加减乘除,以及更复杂的科学计算,如对数、三角函数等。
本实验旨在设计一个简单的计算器,以了解计算器的工作原理,并通过实践来提高我们的电子设计和编程能力。
第二部分:设计思路在设计计算器之前,我们首先需要确定所需的功能和要使用的技术。
基于我们的目标是设计一个简单的计算器,我们决定使用数字显示屏、按键和微控制器来实现。
数字显示屏是用于显示计算结果和用户输入的设备,我们选择了七段数码管作为显示器。
按键则用于接收用户输入的数字和操作符。
微控制器是计算器的核心部件,它负责接收按键输入,进行计算,并将结果显示在数码管上。
第三部分:实验步骤1. 硬件设计我们首先设计了数字显示屏的电路。
通过连接七段数码管和相应的电阻,我们能够控制数码管的亮灭,从而显示不同的数字和符号。
接下来,我们设计了按键的电路。
每个按键都与微控制器的引脚相连,当按键被按下时,引脚会接收到一个电平信号,微控制器通过检测引脚状态来确定用户的输入。
2. 软件编程在硬件设计完成后,我们开始编写微控制器的程序。
程序的主要任务是接收按键输入,并根据用户的操作进行相应的计算。
首先,我们设置了一个变量来存储用户的输入,然后通过检测按键状态来更新这个变量。
当用户按下数字键时,程序将数字添加到变量中;当用户按下操作符键时,程序将根据当前的操作符和变量进行相应的计算。
最后,程序将计算结果显示在数码管上。
我们使用了一个函数来将计算结果转换为七段数码管的控制信号,并通过相应的引脚将信号发送到数码管。
第四部分:实验结果经过一段时间的设计和调试,我们成功地完成了计算器的制作。
它能够准确地接收用户的输入,并进行相应的计算。
计算结果也能够正确地显示在数码管上。
我们进行了一系列测试来验证计算器的功能和性能。
测试包括基本的加减乘除运算,以及一些复杂的科学计算,如对数和三角函数。
程序设计_实验报告

一、实验目的1. 熟悉程序设计的基本概念和流程。
2. 掌握基本的编程语言语法和编程技巧。
3. 培养逻辑思维能力和问题解决能力。
4. 提高编程实践能力,为以后的学习和工作打下基础。
二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm三、实验内容1. 编写一个简单的计算器程序,实现加、减、乘、除四种基本运算。
2. 编写一个学生信息管理系统,实现学生信息的增删改查功能。
3. 编写一个简单的图书管理系统,实现图书信息的增删改查功能。
四、实验步骤1. 计算器程序(1)设计计算器界面,使用文本输入和输出。
(2)编写加、减、乘、除四种运算的函数。
(3)编写主函数,根据用户输入选择运算类型,调用相应的运算函数,并输出结果。
2. 学生信息管理系统(1)定义学生信息类,包含姓名、年龄、性别、成绩等属性。
(2)设计学生信息管理系统界面,使用文本输入和输出。
(3)编写增删改查功能的函数,实现对学生信息的操作。
(4)编写主函数,根据用户输入选择操作类型,调用相应的函数。
3. 图书管理系统(1)定义图书信息类,包含书名、作者、出版社、出版日期等属性。
(2)设计图书管理系统界面,使用文本输入和输出。
(3)编写增删改查功能的函数,实现对图书信息的操作。
(4)编写主函数,根据用户输入选择操作类型,调用相应的函数。
五、实验结果与分析1. 计算器程序(1)界面设计:使用文本输入和输出,实现简单的交互。
(2)功能实现:成功实现加、减、乘、除四种基本运算。
(3)测试结果:对多个测试用例进行测试,程序运行正常,输出结果正确。
2. 学生信息管理系统(1)界面设计:使用文本输入和输出,实现简单的交互。
(2)功能实现:成功实现学生信息的增删改查功能。
(3)测试结果:对多个测试用例进行测试,程序运行正常,功能完整。
3. 图书管理系统(1)界面设计:使用文本输入和输出,实现简单的交互。
(2)功能实现:成功实现图书信息的增删改查功能。
C语言高精度计算器程序设计报告

C语言高精度计算器程序设计报告综合性程序设计报告设计题目: 高精度计算器指导教师:班级:学号:设计者:成绩: _______________设计时间:2010年 5 月27 日高精度计算器[题目描述]编制一个软件用于实现高精度的计算基本要求:要有+,-,*,/四则运算记录算式输出算式查看算式及结果[功能模块分解]本程序用到以下函数:void iPush(float);float iPop();float StaOperand[MaxSize];char Srcexp[MaxSize];char Capaexp[MaxSize];char RevPolishexp[MaxSize];float NumCapaTab[26];char validexp[]="*/+-()";char NumSets[]="0123456789";char StackSymb[MaxSize];void NumsToCapas(char [], int , char [], float []);int CheckExpress(char);int PriorChar(char,char);int GetOperator(char [], char);void counterPolishexp(char INexp[], int slen, char Outexp[]);float CalcRevPolishexp(char [], float [], char [], int);[数据库设计及说明]1、变量的说明和解释:首先定义了两个结构体类型名SqStack和dstack,分别用来定义字符栈和数字栈。
然后在主函数中定义了字符型数组E[N],A[N],B[N],E[N]用来保存用户输入的计算式,A[N]用来保存后缀表达式,E[N]用来保存从输出文件中读取的字符串。
还定义了一个字符型变量ck,用来记录用户是否要查看历史记录。
计算器设计报告

高级语言程序设计课程设计报告题目:计算器学号:20131211420姓名:路延红指导教师:李菊霞计算机科学与应用系一、选题分析计算器:1.内容: 编写一个高精度计算器程序,可以计算任意精度的数字。
2.制作菜单;3.为各操作设计函数;二、算法设计1. 设计菜单界面2.添加成功后返回主菜单;3.选择相应数字进入系统;4.退出系统。
三、数据结构void fun1()//算术运算void menu()void fun2()//进制转换void main()四.程序源码#include<stdio.h>#include<math.h>void menu(){printf(" |============================|\n"); printf(" | 1.算术运算; 2.进制转换; |\n"); printf(" |============================|\n\n"); }void fun1()//算术运算{int a,b;char oper; printf("请输入算式:");scanf("%d%c%d",&a,&oper,&b);switch(oper){case '+':printf("结果为:%d\n",a+b);break;case '-':printf("结果为:%d\n",a-b);break;case '*':printf("结果为:%d\n",a*b);break;case '/':printf("结果为:%.2f\n",(float)a/b);break;case '%':printf("结果为:%d\n",a%b);break;default:printf("输入有误!\n");break;}}void fun2()//进制转换{int choice,value,i,j=0,k,t;char s[50];int a[4];printf("********************************************************\n");printf(" 1.十进制转换成二进制; 2.十进制转换成十六进制;\n");printf(" 3.二进制转换成十进制; 4.二进制转换成十六进制;\n");printf(" 5.十六进制转换成二进制; 6.十六进制转换成十进制;\n");printf("********************************************************\n");printf("请选择:");scanf("%d",&choice);switch(choice){case 1:printf("请输入十进制数值:");scanf("%d",&value);while(value>=2){if(value%2!=0)s[j++]='1';elses[j++]='0';value=value/2;}if(value==1)s[j]='1';printf("结果为:");for(i=j;i>=0;i--)printf("%c",s[i]);break;case 2:printf("请输入十进制数值:");scanf("%d",&value);printf("结果为:%x",value);break;case 3:printf("请输入二进制数:");scanf("%s",s);for(i=0;s[i]!='\0';i++);i--;value=0;for(j=0;j<=i;j++){ t=1;if(s[j]=='1'){ for(k=i-j;k>0;k--)t*=2;value+=t;}}printf("结果为:%d\n",value);break;case 4:printf("请输入二进制数:");scanf("%s",s);for(i=0;s[i]!='\0';i++);i--;value=0;for(j=0;j<=i;j++){ t=1;if(s[j]=='1'){ for(k=i-j;k>0;k--)t*=2;value+=t;}}printf("结果为:%x\n",value);break;case 5:printf("请输入十六进制数值:");scanf("%x",&value); while(value>=2){if(value%2!=0)s[j++]='1';elses[j++]='0';value=value/2;}if(value==1)s[j]='1';printf("结果为:");for(i=j;i>=0;i--)printf("%c",s[i]);break;case 6:printf("请输入十六进制数值:");scanf("%x",value); printf("结果为:%d\n",value);break;default:printf("选择有误!\n");break;}}void main(){int choice;while(choice!=0){menu();printf("请选择(0退出):");scanf("%d",&choice);if(choice==1)fun1();else if(choice==2)fun2();printf("\n");}}五、运行结果六、课程设计总结通过这次课程设计,学到了很多编程知识,也知道了自己欠缺。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目一 计算器 1.1 题目简介 用Java语言、MyEclipse工具、设计一个GUI简易计算器,编写计算器的基本运算的程序,用户可以通过鼠标一次输入参加计算的数值,进行加减乘除等混合运算,基本实现计算器的四则运算和三角函数运算功能以及开方和求对数的基本运算。本计算器只适用十进制的运算,不限制十进制的大小。编写本计算器运用java的类得调用和直接在程序中定义类,实现计算器的基本功能,在这个计算器中对于执行的操作可以进行复制和保存以便以后能直接查看运行结果本计算器保存没不得运行结果,只有点清除键是才可以清除每步的结果。
1.2 设计的内容、要求和目标 设计内容:设计一个GUI简易计算器,用户可以通过鼠标一次输入参加计算的数值,进行加减乘除等混合运算。 设计要求:由于现代用户更倾向于由鼠标方便操作的图形用户界面,所以我们采用GUI来实现计算器,并采用Swing组件,AWT事件来处理等实现具体功能。 (1)、应具有相应的界面,可参考下图进行设计: (2)、操作符号定为:“+”“-”,“*”,“/”等。 (3)、用户通过点击面板中的各种组件输入的表达式,应在上方文本框。 (4)、党用户点击“=”时,文本框中之前的内容应清空,直接显示表达式运算结果。例如:输入表达式“7*8”之后按“=”,显示结果“56”。 (5)、具有菜单栏,内有相应的编辑“复制”、“粘贴”等菜单,提供相应的功能。 设计目标:利用Java语言设计一个简单的计算器,以实现基本的加减乘除功能,还有sin、|cos、tan、log等算术运算;同时实现退格、清零等运算。
1.3 总体设计 1)、对计算器面板的整体布局 首先是对计算器的整体面板进行一个简单的设计,整体布局是采用layout(边框布局)布局,对计算器中的一些数字按钮和运算符按钮采用gridlayout布局(网格布局)。
2)、创建实现程序所需的类 整理思路,确定一个主类CalculatorWindow,然后对Dialog、HandleBack、HandleClear、HandleCos、HandleCot、HandleSin、HandleTan、HandleDigit、HandleDot、HandleDownNumber、HandleEquality、HandleLog、HandleOperation、HandlePOrN、HandlePositiveOrNegative、NumberButton、OperationButton、SelectJTree等类的创建。
3)、对所创建类算法的分析和实现
确定了主类CalculatorWindow,其他类为其所调用。编写各类的实现算法,增加面板所需的按钮,并对程序进行调试运行及分析。 模块功能图如下: 计算器的模块设计
数字键一般运算符三角函数符运算结果处理
编辑、查看、
帮助边框
实现功能所调用的类实现功能所调用的类实现功能所调用的类实现功能所调用的类实现功能所调用的类
SelectTreeCalculatorWindowDialogNumberbuttonoperationButtonHandlePositiveOrNegativeHandleSinHandleCosHandleTanHandleLogHandleBackHandleClearHandleEquality
1.4 详细设计及实现 1.4.1 操作界面设计 制作一个简单的面板Jframe,在其上面添加构造界面所需的各种组件,其构造方法为: CalculatorWindow(){ Super(); this.setBounds(100,50,650,500); this.setDdfaultCloseOperation(Jframe.EXIT_ON_CLOSE);this.setResizable(false); this.setTitle(“计算器”); int();//创建菜单及各种组件(如按钮,文本框等)getContentPane().setLayout(new BorderLayout(4,6));
1.4.2 类成员变量及方法设计
在此程序设计过程中,主要创建了类CalculatorWindow、Dialog、HandleBack、HandleClear、HandleCos、HandleCot、HandleSin、HandleTan、HandleDigit、HandleDot、HandleDownNumber、HandleEquality、HandleLog、HandleOperation、HandlePOrN、HandlePositiveOrNegative、NumberButton、OperationButton、SelectJTree。
其中CalculatorWindow类是利用layout布局来实现计算器窗口的简单布局,Dialog类是设置文本框,HandleBack类是实现退格处理,HandleClear类是实现清空处理,HandleCos、HandleCot、HandleLog 、HandleSin、HandleTan等类是实现对数据的一些基本运算处理,NumberButton类是为了实现0到9这十个数字按钮,HandleDot类是为了实现结果的直接输出,HandleEquality类是实现等于输出,HandleOperation是实现对电脑进程的操作处理,HandlePositiveOrNegative是为了实现对输入数据的必要的正负号转化的处理,HandleDigit是实现对ActionEvent事件的处理,OperationButton类是为计算器面板增加必要的操作按钮,SelectJTree是实现对计算器中帮助按钮进行树形结构的处理,并对帮助按钮的功能进行详细的说明。 制作成表格如下:
创建各类名 类成员变量 使用功能 CalculatorWindow JtextField、JtextArea、setTitlenel、elLeft、anelRight、Menu editM等 实现计算器窗口的简单布局 Dialog setBounds、super、Jframe等 设置文本框 HandleBack LinkedList、JtextField、actionPerformed、String num等 实现退格处理
HandleClear JtextField、this.list、resultShow、howComputerProcess 实现清空处理 HandleCos HandleCot HandleLog HandleSin HandleTan actionPerformed、String numOne double x、double result、list.set HandleCos、HandleCot、HandleLog HandleSin、HandleTan、math等 实现对数据的一些基本运算处理
NumberButton Jbutton、number、setForeground 实现0到9这十个数字按钮 HandleDot LinkedList、JtextField、String dot、String num等 实现结果的直接输出 HandleEquality list.size、String num、resultShow.setText等 实现等于输出
HandleOperation OperationButton b、String fuhao、 list.add、middleProcess等 实现对电脑进程的操作处理 HandlePositiveOrNegative list.size、String number1、double d、String str等 实现对输入数据的必要的正负号转化的处理 HandleDigit NumberButton、list.add、resultShow.setText等 实现对ActionEvent事件的处理 OperationButton String operateSign、setForeground等 为计算器面板增加必要的操作按钮
SelectJTree this.con、design.add、root.add、 tree.getSelectionModel、 eventTxt.setText等 实现对计算器中帮助按钮进行树形结构的处理,并对帮助按钮的功能进行详细的说明 主要程序N-S流程图如下: 开始菜单输入数据是否进行加减乘除运算是否进行三角函数运算
是否进行退格运算是否进行清零运算最终输出
编辑、查看和帮助按钮
结束是否切入正负号
1.4.3 源代码分析 此程序代码分为五个模块,文件包为Defaultpackage,计算器包中包含了主界面和各按钮相关类,实现了计算器的最基本功能;Dialog包中则为高级面板,包含能实现科学计算功能的按钮;menuitem为菜单,就是存储了实现主界面中菜单栏功能的类文件。 Defaultpackage:Dialog、HandleBack、HandleClear、HandleCos、HandleCot、HandleSin、HandleTan、HandleDigit、HandleDot、HandleDownNumber、HandleEquality、HandleLog、HandleOperation、HandlePOrN、HandlePositiveOrNegative、NumberButton、OperationButton、SelectJTree都为ActionListener,每当按钮被单击时调用actionPorformed(),实现打开面板、清除、小数点、等于、数字、四则运算、正负号、键盘输入等功能,HomeCloseListener类用于监听主界面的关闭动作,当主界面关闭,则其他打开的子界面也将关闭。此外在主界面CalculatorHome内部实现了清空,开始按钮的功能,清空则将主界面中所有文本内容清除,开始按钮则是控制输入的开始,在单击此按钮后计算机才能工作。 Advance:此包中的所有类也都是按钮监听类ActionListener,调用actionPorformed()实现科学计算,各类的功能见名知意。 Menuitem:此包中的类只实现了帮助菜单的功能,Help和HelpTree实现树形的帮助文档,Info为计算器相关信息;在主界面中添加了调用Help和Info类的构造方法,分别弹出对话框。编辑菜单的功能则在主界面CalculatorHome中实现,通过对相应的菜单项添加ActionListener(this)监听。