当前位置:文档之家› 科学计算器源代码

科学计算器源代码

科学计算器源代码
科学计算器源代码

package two;

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

public class calculator implements ActionListener { int count = 0;

private static int a;

JFrame frame = new JFrame("计算器");

JTextArea area = new JTextArea();

JTextField fieldshow = new JTextField("0");

JTextField fieldcalculator = new JTextField();

JPanel leftpanel = new JPanel();

JPanel rightpanel = new JPanel();

JPanel buttonpanel = new JPanel();

JPanel motionpanel = new JPanel();

JButton button1 = new JButton("1");

JButton button2 = new JButton("2");

JButton button3 = new JButton("3");

JButton button4 = new JButton("+");

JButton button5 = new JButton("c");

JButton button6 = new JButton("4");

JButton button7 = new JButton("5");

JButton button8 = new JButton("6");

JButton button9 = new JButton("-");

JButton button10 = new JButton("退格");

JButton button11 = new JButton("7");

JButton button12 = new JButton("8");

JButton button13 = new JButton("9");

JButton button14 = new JButton("*");

JButton button15 = new JButton("sin");

JButton button16 = new JButton("0");

JButton button17 = new JButton("+/-");

JButton button18 = new JButton(".");

JButton button19 = new JButton("/");

JButton button20 = new JButton("=");

JButton button21 = new JButton("保存");

JButton button22 = new JButton("复制");

JButton button23 = new JButton("清除");

StringBuffer S = new StringBuffer("");

// t用来记录前一个运算符号是+ - * / =中的哪一个

char t;

// count用来实现运算符号计数,a用来识别退格、正负号操作前一个操作是否是运算符号+ - * / sin =

// int count = 0, a = 0;

Double x1, x2 = 0d, result;

public static void main(String a[]) {

calculator that = new calculator();

that.go();

}

void go() {

leftpanel.setLayout(new BorderLayout());

leftpanel.add(fieldshow, BorderLayout.NORTH);

leftpanel.add(buttonpanel, BorderLayout.CENTER);

buttonpanel.setLayout(new GridLayout(4, 5));

buttonpanel.add(button1);

buttonpanel.add(button2);

buttonpanel.add(button3);

buttonpanel.add(button4);

buttonpanel.add(button5);

buttonpanel.add(button6);

buttonpanel.add(button7);

buttonpanel.add(button8);

buttonpanel.add(button9);

buttonpanel.add(button10);

buttonpanel.add(button11);

buttonpanel.add(button12);

buttonpanel.add(button13);

buttonpanel.add(button14);

buttonpanel.add(button15);

buttonpanel.add(button16);

buttonpanel.add(button17);

buttonpanel.add(button18);

buttonpanel.add(button19);

buttonpanel.add(button20);

button1.addActionListener(this);// 事件监听

button2.addActionListener(this);

button3.addActionListener(this);

button4.addActionListener(this);

button5.addActionListener(this);

button6.addActionListener(this);

button7.addActionListener(this);

button8.addActionListener(this);

button9.addActionListener(this);

button10.addActionListener(this);

button11.addActionListener(this);

button12.addActionListener(this);

button13.addActionListener(this);

button14.addActionListener(this);

button15.addActionListener(this);

button16.addActionListener(this);

button17.addActionListener(this);

button18.addActionListener(this);

button19.addActionListener(this);

button20.addActionListener(this);

button21.addActionListener(this);

button22.addActionListener(this);

button23.addActionListener(this);

rightpanel.setLayout(new BorderLayout());

rightpanel.add(fieldcalculator, BorderLayout.NORTH);

rightpanel.add(area, BorderLayout.CENTER);

rightpanel.add(motionpanel, BorderLayout.SOUTH);

motionpanel.add(button21);

motionpanel.add(button22);

motionpanel.add(button23);

Container con = frame.getContentPane();

frame.setLayout(new GridLayout(1, 2));

con.add(leftpanel);

con.add(rightpanel);

frame.setBounds(200, 200, 600, 300);

frame.setVisible(true);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

frame.addWindowListener(new WindowListener() {// 关闭程序时弹出警告

public void windowClosing(WindowEvent e) {

int result = JOptionPane.showConfirmDialog(frame, "确实要关闭程序吗?",

"警告", JOptionPane.OK_CANCEL_OPTION);

if (result == JOptionPane.OK_CANCEL_OPTION) {

System.exit(0);

} else {

}

}

public void windowOpened(WindowEvent e) {}

public void windowIconified(WindowEvent e) {}

public void windowDeiconified(WindowEvent e) {}

public void windowDeactivated(WindowEvent e) {}

public void windowClosed(WindowEvent e) {}

public void windowActivated(WindowEvent e) {}

});

}

public void actionPerformed(ActionEvent e) {

// 0123456789等按钮

if (e.getSource() == button1 || e.getSource() == button2

|| e.getSource() == button3 || e.getSource() == button6

|| e.getSource() == button7 || e.getSource() == button8

|| e.getSource() == button11 || e.getSource() == button12

|| e.getSource() == button13 || e.getSource() == button16) {

a = 0;

if (count == 0) {

S.append(e.getActionCommand());

fieldshow.setText(S.toString());

x1 = Double.parseDouble(fieldshow.getText());

} else if (count >= 1) {

S.append(e.getActionCommand());

fieldshow.setText(S.toString());

x2 = Double.parseDouble(fieldshow.getText());

}

}

// 小数点的容错性

if (e.getSource() == button18)// 单击"."按钮输入小数

{

a = 0;

if (fieldshow.getText().trim().indexOf(".") != -1)// 判断字符串中是否已经包含了小数点

{

} else// 如果没有小数点

{

if (fieldshow.getText().trim().equals("0"))// 如果初时显示为0

{

S.setLength(0);

fieldshow.setText((S.append("0" + e.getActionCommand()))

.toString());

} else if (fieldshow.getText().trim().equals(""))// 如果初时显示为空则不做任何操作

{

} else {

fieldshow

.setText(S.append(e.getActionCommand()).toString());

}

}

}

// 运算符号+ - * /

if (e.getSource() == button4 || e.getSource() == button9

|| e.getSource() == button14 || e.getSource() == button19) { count++;

a = 1;

S.setLength(0);

if (e.getSource() == button4)// +法

{

switch (t) {

case '+':

result = x1 + x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "+" + x2 + "=" + result);

area.append(x1 + "+" + x2 + "=" + result + "\n");

break;

case '-':

result = x1 - x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "+" + x2 + "=" + result);

area.append(x1 + "-" + x2 + "=" + result + "\n");

break;

case '*':

result = x1 * x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "+" + x2 + "=" + result);

area.append(x1 + "*" + x2 + "=" + result + "\n");

break;

case '/':

if (x2 == 0)

fieldshow.setText("除数不能为零");

else {

result = x1 / x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "+" + x2 + "=" + result);

area.append(x1 + "/" + x2 + "=" + result + "\n");

}

break;

case '=':

default:

}

if (count <= 1) {

} else if (count >= 2) {

x1 = result;

}

t = '+';

}

if (e.getSource() == button9)// -法

{

switch (t) {

case '+':

result = x1 + x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "+" + x2 + "=" + result);

area.append(x1 + "+" + x2 + "=" + result + "\n");

break;

case '-':

result = x1 - x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "-" + x2 + "=" + result);

area.append(x1 + "-" + x2 + "=" + result + "\n");

break;

case '*':

result = x1 * x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "*" + x2 + "=" + result);

area.append(x1 + "*" + x2 + "=" + result + "\n");

break;

case '/':

if (x2 == 0)

fieldshow.setText("除数不能为零");

else {

result = x1 / x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "/" + x2 + "=" + result);

area.append(x1 + "/" + x2 + "=" + result + "\n");

}

break;

case '=':

default:

}

if (count <= 1) {

} else if (count >= 2) {

x1 = result;

}

t = '-';

}

if (e.getSource() == button14)// *法

{

switch (t) {

case '+':

result = x1 + x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "+" + x2 + "=" + result);

area.append(x1 + "+" + x2 + "=" + result + "\n");

break;

case '-':

result = x1 - x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "-" + x2 + "=" + result);

area.append(x1 + "-" + x2 + "=" + result + "\n");

break;

case '*':

result = x1 * x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "*" + x2 + "=" + result);

area.append(x1 + "*" + x2 + "=" + result + "\n");

break;

case '/':

if (x2 == 0)

fieldshow.setText("除数不能为零");

else {

result = x1 / x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "/" + x2 + "=" + result);

area.append(x1 + "/" + x2 + "=" + result + "\n");

}

break;

case '=':

default:

}

if (count <= 1) {

} else if (count >= 2) {

x1 = result;

}

t = '*';

}

if (e.getSource() == button19)// /法

{

switch (t) {

case '+':

result = x1 + x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "+" + x2 + "=" + result);

area.append(x1 + "+" + x2 + "=" + result + "\n");

break;

case '-':

result = x1 - x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "-" + x2 + "=" + result);

area.append(x1 + "-" + x2 + "=" + result + "\n");

break;

case '*':

result = x1 * x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "*" + x2 + "=" + result);

area.append(x1 + "*" + x2 + "=" + result + "\n");

break;

case '/':

if (x2 == 0)

fieldshow.setText("除数不能为零");

else {

result = x1 / x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "/" + x2 + "=" + result);

area.append(x1 + "/" + x2 + "=" + result + "\n");

}

break;

case '=':

default:

}

if (count <= 1) {

} else if (count >= 2) {

x1 = result;

}

t = '/';

}

}

// 清零操作

if (e.getSource() == button5) {

fieldshow.setText("0");// 把显示屏清零

count = 0;

a = 0;

t = ' ';

x1 = 0d;

x2 = 0d;

S.setLength(0);// 清空字符串缓冲区以准备接收新的输入运算数}

// 退格操作

if (e.getSource() == button10) {

if (a == 1) {// 判断前一个操作是否是运算符号和等于操作

System.out.println("运算符号不能退格!");

} else {

if (!fieldshow.getText().trim().equals("0"))// 如果显示屏显示的不是零

{

if (S.length() != 1) {// 可能抛出字符串越界异常

fieldshow.setText(S.delete(S.length() - 1, S.length())

.toString());

} else {

fieldshow.setText("0");

S.setLength(0);

}

}

}

if (count == 0) {

x1 = Double.parseDouble(fieldshow.getText().trim());

} else if (count >= 1) {

x2 = Double.parseDouble(fieldshow.getText().trim());

}

}

// 求正弦值操作实现运算过程中正弦值的优先性

if (e.getSource() == button15) {

a = 1;

if (count == 0) {

if (S.length() == 0) {// 第一个按键不能为sin

fieldshow.setText("先输入数字");

} else {

result = Math.sin(x1);

fieldshow.setText(result.toString());

fieldcalculator.setText("sin(" + x1 + ")" + "=" + result);

area.append("sin(" + x1 + ")" + "=" + result + "\n");

x1 = result;// 将正弦值求出来赋值给x1

}

}

if (count >= 1) {

result = Math.sin(x2);

fieldcalculator.setText("sin(" + x2 + ")" + "=" + result);

area.append("sin(" + x2 + ")" + "=" + result + "\n");

x2 = result;// 将正弦值求出来赋值给x2

}

S.setLength(0);

}

// 正负值操作

if (e.getSource() == button17) {

if (a == 1) {// 判断前一个操作是否是运算符号和等于操作} else {

if (count == 0) {

x1 = Double.parseDouble(fieldshow.getText().trim());

fieldshow.setText("" + (-x1));

x1 = -x1;

} else if (count >= 1) {

x2 = Double.parseDouble(fieldshow.getText().trim());

fieldshow.setText("" + (-x2));

x2 = -x2;

}

}

}

// 等于号操作

if (e.getSource() == button20) {

switch (t) {

case '+':

result = x1 + x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "+" + x2 + "=" + result);

area.append(x1 + "+" + x2 + "=" + result + "\n");

break;

case '-':

result = x1 - x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "-" + x2 + "=" + result);

area.append(x1 + "-" + x2 + "=" + result + "\n");

break;

case '*':

result = x1 * x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "*" + x2 + "=" + result);

area.append(x1 + "*" + x2 + "=" + result + "\n");

break;

case '/':

if (x2 == 0)

fieldshow.setText("除数不能为零");

else {

result = x1 / x2;

fieldshow.setText(result.toString());

fieldcalculator.setText(x1 + "/" + x2 + "=" + result);

area.append(x1 + "/" + x2 + "=" + result + "\n");

}

break;

case '=':

default:

}

x1 = x2 = 0d;

count = 0;

a = 1;

t = '=';

S.setLength(0);

}

// 保存操作

if (e.getSource() == button21) {

JFileChooser jf = new JFileChooser();// 实例化文件选择器

JTextField jt = new JTextField();

Calendar ca = Calendar.getInstance();

int year = ca.get(Calendar.YEAR);// 获取年份

int month = ca.get(Calendar.MONTH);// 获取月份

int day = ca.get(Calendar.DATE);// 获取日

int minute = ca.get(Calendar.MINUTE);// 分

int hour = ca.get(Calendar.HOUR);// 小时

int second = ca.get(Calendar.SECOND);// 秒

int select = jf.showSaveDialog(frame);// 显示对话框

if (select == JFileChooser.APPROVE_OPTION) {// 单击保存按钮File file = jf.getSelectedFile();// 得到选择的文件

try {

Writer out = null;

out = new FileWriter(jf.getSelectedFile());// 输出流

String str = area.getText() + " 时间:" + year + "-"

+ month + "-" + day + "\n" + hour + ":" + minute

+ ":" + second;

out.write(str);

out.close();

} catch (FileNotFoundException e1) {

e1.printStackTrace();

System.out.println(" jshdfj");

} catch (IOException e2) {

e2.printStackTrace();

System.out.println(" jshdfjjkdfh");

}

jt.setText("saving:" + file.getName());

} else if (select == JFileChooser.CANCEL_OPTION// 单击取消按钮或者关闭文件窗口操作

|| select == JFileChooser.ERROR_OPTION) {

jt.setText("Save command cancel by user");

// System.out.println("关闭");

}

// try {

// FileOutputStream out = new FileOutputStream(

// jf.getSelectedFile());//输出流

//

// byte byt[] = new byte[10000];

// byt = (area.getText() + " 时间:" + year + "-" + month + "-" +

// day

// + " " + hour + ":" + minute + ":" + second).getBytes();

// out.write(byt);

// } catch (FileNotFoundException e1) {

// e1.printStackTrace();

// System.out.println(" jshdfj");

// } catch (IOException e2) {

// e2.printStackTrace();

// System.out.println(" jshdfjjkdfh");

// }

}

// 复制操作

if (e.getSource() == button22) {

area.selectAll();

area.copy();

area.select(0, 0);

JDialog dialog = new JDialog(frame, "复制", true);

Font font = new Font("宋体", Font.BOLD + Font.ITALIC, 34);

JTextField JtextField = new JTextField("文字已复制成功");

dialog.getContentPane().add(JtextField);

JtextField.setFont(font);

dialog.setLocation(500, 250);

dialog.setSize(300, 200);

dialog.setVisible(true);

}

// 清除操作

if (e.getSource() == button23) {

area.setText(null);

}

}

}

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)

科学计算器程序Java代码

科学计算器程序Java代码

MC:清除独立内存里的数字 MR:读出独立内存数字 MS:将显示数字保存到独立内存,并取代内存中原有数字 M+:将显示数字向独立内存累加 (独立内存是一个临时寄放数字的存储器,方便计算) CE:纠错键(CLEAR ERROR).输入数字有错,按它可以重新输入 C:表示清零,将计算器恢复到开机状态 功能举例: 源程序如下: import java.awt.BorderLayout;

import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField; public class Calucator extends JFrame { private JTextField tf; private JPanel panel1, panel2, panel3, panel4; private JMenuBar myBar; private JMenu menu1, menu2, menu3; private JMenuItem editItem1, editItem2, help1, help2, help3; private JRadioButtonMenuItem seeItem1, seeItem2;//单选框 private JCheckBoxMenuItem seeItem3;//复选框 private ButtonGroup bgb; private String back; private boolean IfResult = true, flag = false;

java编写的简单的计算器程序

计算器 项目内容:编写一个Applet,模仿windows附件所带计算器的功能,可以帮助用户完成计算功能,具体如下图所示。 项目要求:使用图形的方式借助窗口、菜单、按钮等标准界面元素和鼠标操作,来帮助用户方便地向计算机系统发出命令,启动操作,并将系统运行的结果同样以图形的方式显示给用户,这样更加直观和生动; 1.Applet容器中组件的添加与设置,包括面板以及菜单的使用; 2.容器中组件的布局管理; 3.Java核心包中数组、数学计算类的使用; 4.异常的处理; 5.事件处理模型中的三类对象的使用: 1.Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。 2.Event Source-事件源,事件发生的场所,通常就是各个组件,例如按钮Button。 3.Event handler-事件处理者,接收事件对象并对其进行处理的对象。 6.程序中事件处理的流程:

1.计算流程的细化 参考代码: import .*;

import .*; import .*; import import import public class Calculator implements ActionListener { #############"); dd(panel); panel1 = new JPanel(); panel2 = new JPanel(); (new BorderLayout()); 键入计算的第一个数字。\n"); ("2. 单击“+”执行加、“-”执行减、“*”执行乘或“/”执行除。\n"); ("3. 键入计算的下一个数字。\n"); ("4. 输入所有剩余的运算符和数字。\n"); ("5. 单击“=”。\n"); aboutCal = new JMenuItem(" 关于计算器(A)"); (this);

C语言课程设计 简单计算器程序

课程设计名称:C语言课程设计课程设计题目:简单计算器程序

目录 第1章需求分析 (1) 1.1设计要求 (1) 1.2任务 (1) 第2章总体设计 (2) 2.1设计简介及设计方案论述 (2) 2.2功能模块层次图 (2) 第3章详细设计 (3) 3.3由(后缀)逆波兰表达式计算中缀表达式原理 (8) 3.3.1算法描述 (8) 第4章调试分析 (10) 4.1程序设计中所遇到的错误及犯错的原因 (10) 4.2错误的解决方法 (10) 第5章用户手册 (11) 总结 (15) 参考文献 (16) 附录(程序清单) (17)

第1章需求分析 1.1 设计要求 (1)用 C 语言数据结构实现程序设计; (2)利用结构体、栈、进行相关信息处理; (2)系统的各个功能模块要求用函数的形式实现; (4)界面简单,可操作性高。 1.2任务 (1)定义一个结构体类型数组,输入0~9 及+、--、*等符号的信息,将其信息存储起来; (2)输入简单的加减乘除算术计算式,并在屏幕上显示逆波兰(后缀式)表达式和计算结果; (3)编写代码; (4)程序分析与调试。 说明: 本课程设计将实现一个简单计算器。在功能上尽量模仿windows 的计算器。系统界面不做牵制要求。该程序能实现标准型中+、-、*、/、(、)、.、的混合运算表达式(一般意义上的中缀表达式),将其转换成逆序波兰表达式(后缀表达式)并计算输出结果。在进行运算后可以选择继续运算或者结束当前运算。即时准确地获得需要的计算的结果,充分降低了数字计算的难度和节约了时间,对人们的生活有一定的帮助。

第2章 总体设计 2.1设计简介及设计方案论述 逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相 关的两个运算对象之间,所以,这种表示法也称为中缀表达式。波兰逻辑学家 J.Lukasiewicz 于 1929 年提出了另一种表示表达式的方法。按此方法,每一运算符都置 于其运算对象之后,故称为后缀表达式。 后缀表达式的优点是显而易见的, 编译器在处理时候按照从左至右的顺序读取逆波 兰表达式,遇到运算对象直接压入堆栈,遇到运算符就从堆栈提取后进的两个对象进行计算,这个过程正好符合了计算机计算的原理。后缀表达式比前缀表达式更加易于转换,并且它的最左面一定为数字,这一点在实 际编程的时候就会体会到它的好处了。 逆波兰表达式有一个更大的优点,就是拆括号,根据运算符的级别将中缀表达式转 换成逆波兰表达式后,运算顺序就已经替代了运算符的级别,这样也避免了括号提高运 算级别的特殊处理。 2.2功能模块层次图 将算术表达式转化为逆波兰表达式 计算逆波兰表达式的值 简单计算器 表 达 式 格 式 转 换 系统 求 值 计 算 系 统

Java科学计算器程序代码

计算器布局显示: 功能举例: ①13+20=33 ②-7*14=-98:先输入7,再单击-/+将其变成负数,然后依次单击×号、14与= ③7!=5040 ④sin30°=0.5:先输入30,然后按下′″按钮转换成角度值,再按下sin即可显示结果 ⑤sqrt(4)=2:利用鼠标点击4后再点击sqrt按键即可显示结果 ⑥2*π=6.2832 …… 源程序如下: import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.DecimalFormat; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JCheckBoxMenuItem; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JPanel; import javax.swing.JRadioButtonMenuItem; import javax.swing.JTextField;

java简单计算器源代码

简单计算器代码 package calcultorthree; import java.awt.BorderLayout;//导入边界布局管理器类 import java.awt.GridLayout;//导入网格布局管理器类 import java.awt.TextField;//导入文本区域类 import java.awt.event.ActionEvent;//导入事件类 import java.awt.event.ActionListener;//导入事件监听者类 import javax.swing.JButton;//导入按钮类 import javax.swing.JFrame;//导入窗体 import javax.swing.JPanel;//导入面板 /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 * @author Fjsh */ public class CalcultorThree { //新建对象,在构造函数中进行初始化 JFrame frame;//新建窗体对象 JButton buttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=” JButton buttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButton buttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮“0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanel panelwest,panelcenter,paneleast;//新建三个面板 TextField tf;//新建文本区域对象 public CalcultorThree(){ //初始化对象 tf=new TextField(30);//构造空文本字段,字符宽度为30 frame =new JFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

科学计算器代码

Calculate.java /*这是一个计算类,用于普通运算中的各种运算,如2,8,10,16进制的符合运算,复合运算其原理用后缀表达式来实现*/ import java.util.*; import https://www.doczj.com/doc/289377982.html,ng.Math; class Calculate {//两个内部类来实现数据的存储,如同数据结构中的栈 class operator { char data[]; int top; operator() { data = new char [50]; top = -1; } }; class operator1 { double data[]; int top; operator1() { data = new double [20]; top = -1; } }; public static double jiecheng(double number)//阶乘运算 { int number1 = (int)number; double j=1; for(int i=1;i<=number1;i++) j=j*i; return j; } String trans (char exp[],char postexp[])//后缀表达式的翻译函数 { int i=0,j=0;boolean m=true;//m用来监视表达式是不有非法的运算符连着输入 operator op = new operator(); while(exp[j]!='\0') { switch (exp[j]) { case '(': op.top++; op.data[op.top]=exp[j];

java编写简单计算器源代码

import javax.swing.*; import java.awt.event.*; import java.awt.*; import https://www.doczj.com/doc/289377982.html,ng.Math; class ring extends JFrame implements ActionListener { //定义成员变量: //JFrame frame;//定义一个窗口类; JTextField text;//定义一个文本框类; JLabel label;//定义一个标签类; JPanel p1,p2,p3,p4,p5,p6;//定义面板类; String s1,s,s2;//定义三个字符串变量; int count=0; JButton a1,a2,a3,a4,a5,a6,b1,b2,b3,b4,b5,b6,c1,c2,c3,c4,c5,c6,d1,d2,d3,d4 ,d5,d6; //ring的构造函数; ring() { this.setTitle("计算器"); // super("计算器"); JMenuBar menubar1=new JMenuBar();//新建菜单条; this.setJMenuBar(menubar1); JMenu menu1=new JMenu("编辑(E)"); JMenu menu2=new JMenu("查看(V)"); JMenu menu3=new JMenu("帮助(H)"); menubar1.add(menu1); menubar1.add(menu2); menubar1.add(menu3); JMenuItem item1=new JMenuItem("复制(c) ctrl+c"); JMenuItem item2=new JMenuItem("粘贴(p) ctrl+v"); JMenuItem item3=new JMenuItem("标准型(T)"); JMenuItem item4=new JMenuItem("科学型(s)"); JMenuItem item5=new JMenuItem("数字分组(I)"); JMenuItem item6=new JMenuItem("帮助主题(H)"); JMenuItem item7=new JMenuItem("关于计算机(A)"); menu1.add(item1); menu1.add(item2); menu2.add(item3); menu2.add(item4); menu2.add(item5); menu3.add(item6);

大学计算机c语言计算器源代码

C++语言编写。。 #include #include #include using namespace std; const double pi = 3.14159265; const double e = 2.718281828459; const int SIZE = 1000; typedef struct node//为了处理符号而建立的链表(如: 1+(-2)) { char data; node *next; }node; typedef struct stack_num//存储数的栈 { double *top; double *base; }stack_num; typedef struct stack_char//存储运算符号的栈 { char *top;

char *base; }stack_char; stack_num S_num;//定义 stack_char S_char;//定义 char fu[18] = {'\n', ')', '+', '-', '*', '/', '%', '^', 'Q', 'L', 'C', 'S', 'T', 'c', 's', 't', '('}; int compare[1000];//表现出各运算符号的优先级 double shu[1000];//存储"数"的数组 double dai_result;//运算的结果,是为了处理M运算(简介函数里有M的定义) int biao = 0;//和dia_result一样,为了处理M运算 char line[SIZE];//输入的所要计算的表达式 void init()//初始化 { compare[fu[0]] = -2;//用数字的大小表现出符号的优先级 compare[fu[1]] = -1; compare[fu[2]] = 2; compare[fu[3]] = 2; compare[fu[4]] = 4; compare[fu[5]] = 4; compare[fu[6]] = 4;

基于matlab的计算器编程附代码

1.需求分析 本次的实验要求是设计一个计算器,主要功能如下: (1)实现基本数学运算(加减乘除等),而且要能进行混合运算 (2)实现部分函数功能,如求平方根、求倒数等 (3)能实现小数运算 界面与标准计算器界面类似 根据要求以及以前的学习情况,决定使用matlab进行编程。Matlab强大的计算功能以及便捷的GUI设计,可以较为简便的实现所要求的功能。按照要求,数据输入和输出支持小数点,支持四则混合运算,决定使用如下几个数据进行分析:(1+3)*5 Sqrt(4) 1/2 Sin4 用以检验是否可以进行加减乘除四则运算、平方根、倒数、正弦的运算。 2.程序设计 M atlab的程序设计较为简便,用GUI设计出一个计算器的模型,然后系统会自动生成一个框架,在框架中,写入每一个按键对应的程序就可以实现功能。 3.调式分析 编程的过程中遇到的问题不是很多,基本就是找要实现各个功能的子程序,通过上网和去图书馆,加上自己的编写,终于实现了实验要求的功能。但是有一点很重要,matlab不支持中文,所以从路径到文件名必须是全英文的,不然就无法识别。此外,给每个按键命名也是很重要的,不然在生成的程序框架里面,就无法识别各个按键的作用,编写程序的时候也就无法做到一一对应。 4.使用说明 程序的使用比较简单,由于是可视化界面,直接打开matlab,然后建立一个GUI 工程,再打开生成的fig文件,就是一个计算器的界面,直接按照市面上卖的计算器的

方法,按键使用即可。 5.测试结果 计算结果为20 4sqrt=2 Sin4结果为 1/2=0.5 经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。 6.心得体会 本次试验由于不限制语言,于是计算功能强大,操作简便的matlab变成了首选,matlab的GUI设计,操作是较为简单的,首先建立一个GUI工程,然后用可视化界面,

JAVA编写的计算器源代码

package jsq; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; import javax.swing.UIManager; public class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel();

计算器vb源代码

计算器v b源代码 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

计算器vb源代码.txt性格本身没有好坏,乐观和悲观对这个世界都有贡献,前者发明了飞机,后者发明了降落伞。完全版的前后台代码... '请把下面的保存为 VERSION Begin Calculator BorderStyle = 1 'Fixed Single Caption = "计算器" ClientHeight = 2970 ClientLeft = 2580 ClientTop = 1485 ClientWidth = 3270 ClipControls = 0 'False BeginProperty Font Name = "System" Size = Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty Icon = "":0000 LinkMode = 1 'Source LinkTopic = "Form1" MaxButton = 0 'False PaletteMode = 1 'UseZOrder ScaleHeight = 2970 ScaleWidth = 3270 WhatsThisHelp = -1 'True Begin Number Caption = "7" Height = 480 Index = 7 Left = 120 TabIndex = 7 Top = 600 Width = 480 End

java计算器源代码(仿win7)

java计算器源代码(仿win7) import java.awt.*; import javax.swing.*; import java.awt.event.*; class Cal extends JFrame implements ActionListener,MouseListener{ JMenuBar menubar; JMenu menu_check,menu_edit,menu_help; JMenuItem menuitem_science,menuitem_check,menuitem_exit,menuitem_copy, menuitem_paste,menuitem1_copy,menuitem1_paste,menuitem_chelp,menuitem_about; JCheckBoxMenuItem menuitem_standard; JTextField ta1; int x,result2; double op1,op2,opall; private boolean end=false,flag=false,add=false,sub=false,cheng=false,chu=false,flagop2=false; JButton b_mc,b_mr,b_ms,b_mjia,b_mjian,b_tui,b_ce,b_c,b_jj, b_dui,b_7,b_8,b_9,b_chu,b_baifenhao,b_4,b_5,b_6,b_cheng, b_daoshu,b_1,b_2,b_3,b_jian,b_0,b_dian,b_jia,b_dengyu; JPanel p_all,p_button1,p_button2,p_txt,p1,p2,p3,p4,p5; private String str,resultstr;

计算器C语言程序

数码管显示计算器C语言程序如下: #include #include #define uchar unsigned char #define uint unsigned int uchar i,j,temp,num; uchar a0,a1,a2,a3,a4,a5,b0,b1,b2,b3,b4,b5; uchar flag,flaga,flagb,fuhao; long a,b,c,flagz; void init() { a0=0xc0;b0=0xc0; a1=a2=a3=a4=a5=b1=b2=b3=b4=b5=0xff; flag=0,flaga=0,flagb=0;flagz=0; a=0,b=0,c=0; } void qn() { b0=b1=b2=b3=b4=b5=0xff; } uchar code table1[]={ 0xf8,0x80,0x90,0, 0x99,0x92,0x82,0, 0xf9,0xa4,0xb0,0, 0,0xc0,0,0}; uchar code table2[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uint code table[]={ 7,8,9,0, 4,5,6,0, 1,2,3,0, 0,0,0,0 }; void delay(uint xms) { uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--); } void display() { if(a5!=table2[0]) {P2=0x00; P0=a5; P2=0X01; delay(1);

科学计算器源代码讲课教案

科学计算器源代码

package two; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.util.*; public class calculator implements ActionListener { int count = 0; private static int a; JFrame frame = new JFrame("计算器"); JTextArea area = new JTextArea(); JTextField fieldshow = new JTextField("0"); JTextField fieldcalculator = new JTextField(); JPanel leftpanel = new JPanel(); JPanel rightpanel = new JPanel(); JPanel buttonpanel = new JPanel(); JPanel motionpanel = new JPanel(); JButton button1 = new JButton("1"); JButton button2 = new JButton("2"); JButton button3 = new JButton("3"); JButton button4 = new JButton("+"); JButton button5 = new JButton("c"); JButton button6 = new JButton("4"); JButton button7 = new JButton("5"); JButton button8 = new JButton("6"); JButton button9 = new JButton("-"); JButton button10 = new JButton("退格"); JButton button11 = new JButton("7"); JButton button12 = new JButton("8"); JButton button13 = new JButton("9"); JButton button14 = new JButton("*"); JButton button15 = new JButton("sin"); JButton button16 = new JButton("0"); JButton button17 = new JButton("+/-"); JButton button18 = new JButton("."); JButton button19 = new JButton("/"); JButton button20 = new JButton("="); JButton button21 = new JButton("保存");

java简单计算器源代码

j a v a简单计算器源代码集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

简单计算器代码packagecalcultorthree; /** *本例实现了简单计算器代码,具备加减乘除和正弦功能,旨在抱砖引玉。熟悉java的同学,可以在此基础上实现更复杂的功能。 *@authorFjsh */ publicclassCalcultorThree{ //新建对象,在构造函数中进行初始化 JFrameframe;//新建窗体对象 JButtonbuttonzero,buttondot,buttonequal;//新建按钮“0”“.”“=”JButtonbuttonplus,buttonminus,buttonmultiple,buttondevision, buttonsin,buttontozero;//新建按钮“+”“-”“*”“/”“sin”和归零按钮JButtonbuttonone,buttontwo,buttonthree,buttonfour,buttonfive,buttonsix, buttonseven,buttoneight,buttonnine;//新建数字按钮 “0”“1”“2”“3”“4”“5”“6”“7”“8”“9” JPanelpanelwest,panelcenter,paneleast;//新建三个面板 TextFieldtf;//新建文本区域对象 publicCalcultorThree(){ //初始化对象 tf=newTextField(30);//构造空文本字段,字符宽度为30 frame=newJFrame("CalculatorThree");//构造窗体对象,名称为“CalculatorThree”

C编写简易计算器附源代码超详细

超详细 一、因为计算器设计的控件太多,不便使用控制台应用程序完成,所以这里 使用Windows窗体应用程序,并命名为Calc,如下图所示: 二、向窗体中拖入需要的控件,如下图所示: (完成效果图) 结果显示区(作者博客左边的文本框)是TextBox控件,并修改其name为txtShow,按键0~9为Button控件,并将其name分别修改为btn_0、btn_1、btn_2、btn_3、btn_4、btn_5、btn_6、btn_7、btn_8、btn_9;按键【负数】的name值修改为btn_sign,按键【.】的name修改为btn_dot,按键【+-*/】的name值分别修改为btn_add、btn_sub、btn_mul、btn_div,按键【=】的name值修改为btn_equ,按键【倒数】的name值修改为btn_rev,按键【平方】的name值修改为btn_sqr,按键【开方】的name值修改为btn_sqrt。右边的计算器图片空间是PictureBox,作者博客控件是LinkLabel,可以不添加,以上所有控件均可按照需求添加,只保留自己需要的按钮控件和textbox控件即可。 三、代码部分(含解释),采用switch多分支语句编写 using System; using System.Drawing; using System.Collections; using https://www.doczj.com/doc/289377982.html,ponentModel; using using System.Data; namespace Calc { ///

///温柔一刀C#简易计算器的实现 /// publicclass CalcForm:Form { private Button btn_0; private Button btn_1; private Button btn_2; private Button btn_3;

设计一个简单计算器的C语言课程设计报告

C语言课程设计报告题目:设计一个简单计算器 目录 1. 设计目的 2. 内容

3. 总体设计(有流程图) 4. 源程序编写(附上了运行图) 5. 执行结果 6. 心得体会 一、设计目的 设计一个简单计算器,在功能上功能尽量模拟windows 操作系统中的计算器,系统界面不做强制要求。 全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数、指针和文件的操作,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,规范编程思想,为以后在专业

课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。 二、内容 1、程序设计的一般步骤 a、确定数据结构 b、确定算法 C、编程 d、调试 e、总结资料 2、基本要求 a .设计正确,方案合理,能实现相应功能。 b .界面友好,使用方便。 c .程序精炼,结构清晰。 d .设计报告含程序设计说明,用户使用说明,源程序清单及程序框图。 e .上机演示。

三、总体设计(程序设计组成框图、流程图)

四、源程序编与 #in clude #in clude #in clude double jisua n( char a[]) { int i=1,j,k,m,cnt=0,t1=0,t2=0,t3=0; char nibo[50],zha n2[50]; double x,n, l,z=0,zha n3[20]; typedef struct { double d1; int d2; }dd; typedef struct {

科学计算器代码

using System; using System.Collections.Generic; using https://www.doczj.com/doc/289377982.html,ponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace科学计算器 { public partial class Form1 : Form { protected double iNum1,into; protected char cOperator; protected bool bNumBegins; protected bool bDot; protected double iMem; public Form1() { InitializeComponent(); InitMembers(); } private void InitMembers() { iNum1 = 0.0; cOperator = '='; bNumBegins = true; bDot = false; } private void Numbers_Click(double i) { if (txtOutput.Text == "Error") { txtOutput.Text = "0"; } try { if (bNumBegins) { txtOutput.Text = i.ToString(); bNumBegins = false; } else { txtOutput.Text += i.ToString(); } double iCurrent = double.Parse(txtOutput.Text); } catch { txtOutput.Text = "Error"; InitMembers(); return; }

JAVA编写的计算器源代码

import class Test implements ActionListener { /** * */ JFrame f = new JFrame(); JTextField tf = new JTextField("0."); JMenuBar bar=new JMenuBar(); JMenu menuEdit=new JMenu("编辑(E)"); JMenu menuView=new JMenu("查看(V)"); JMenu menuHelp=new JMenu("帮助(H)"); JMenuItem menuEditCopy=new JMenuItem("复制(C)"); JMenuItem menuEditPaste=new JMenuItem("粘贴(V)"); JMenuItem menuHelpAbout = new JMenuItem("关于计算器(A)"); JPanel panel0 = new JPanel(); JPanel panel2 = new JPanel(); JPanel panel = new JPanel(); JPanel panel3 = new JPanel(); JPanel panel4 = new JPanel(); JPanel panel5 = new JPanel(); JButton btBk = new JButton(" Backspace"); JButton btCe = new JButton("Ce"); JButton btCl = new JButton("C"); JButton bt7 = new JButton("7"); JButton bt8 = new JButton("8"); JButton bt9 = new JButton("9"); JButton btDiv = new JButton("/"); JButton btSqrt = new JButton("sqrt"); JButton bt4 = new JButton("4"); JButton bt5 = new JButton("5"); JButton bt6 = new JButton("6"); JButton btMult = new JButton("*"); JButton btMol = new JButton(" % "); JButton bt1 = new JButton("1"); JButton bt2 = new JButton("2"); JButton bt3 = new JButton("3"); JButton btMinu = new JButton("-"); JButton btCoun = new JButton(" 1/x");

相关主题
文本预览
相关文档 最新文档