计算器代码

private string biaodashi="";//存放表达式
        private string preyunxuanfu="";//存放上一步的运算符
        private double sum = 0;
        private bool isok = false;//用于判断刚才点过的是数字还是运算符,初始化的时候是false
        private void btn1_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            if (!isok||txtshuru.Text=="0")//刚刚初始化或者刚刚点过运算符
            { txtshuru.Text = btn.Text; }
            else//刚刚点过数字或者小数点
            {
                txtshuru.Text += btn.Text;
            }
            isok = true;
        }

        private void btnjia_Click(object sender, EventArgs e)
        {
            Button btn = (Button)sender;
            if (isok)//刚刚初始化或者刚刚点过运算符
            {
                if (biaodashi == "" || preyunxuanfu == "")//刚刚初始化
                {
                    sum = double.Parse(txtshuru.Text);
                    biaodashi = txtshuru.Text;
                }
                else
                {
                    if (preyunxuanfu == "+")
                    {
                        sum = sum + double.Parse(txtshuru.Text);
                        biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
                    }
                    if (preyunxuanfu == "-")
                    {
                        sum = sum - double.Parse(txtshuru.Text);
                        biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
                    }
                    if (preyunxuanfu == "*")
                    {
                        sum = sum * double.Parse(txtshuru.Text);
                        biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
                    }
                    if (preyunxuanfu == "/")
                    {
                        sum = sum / double.Parse(txtshuru.Text);
                        biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
                    }
                    if (preyunxuanfu == "%")
                    {
                        sum = sum % double.Parse(txtshuru.Text);
                        biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
                    }
                }
            }
            preyunxuanfu = btn.Text;//将刚刚点过的运算符存到preyunsuanfu 里面
            txtbiaodashi.Text = biaodashi + btn.Text;
            txtshuru.Text = sum.ToString();
            isok = false;
        }

        private void button12_Click(object sender, EventArgs e)
        {
            if (preyunxuanfu == "+")
            {
                sum = sum + double.Parse(txtshuru.Text);
                biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
            }
            if (preyunxuanfu == "-")
            {
                sum = sum - double.Parse(txtshuru.Text);
                biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
            }
            if (preyunxuanfu == "*")
            {
                sum = sum * double.Parse(txtshuru.Text);
                biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
            }
            if (preyunxuanfu == "/")
            {
                sum = sum / double.Parse(txtshuru.Text);
                biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
            }
            if (preyunxuanfu == "%")
            {
                sum = sum % double.Parse(txtshuru.Text);
                biaodashi = biaodashi + preyunxuanfu + txtshuru.Text;
            }
            txtbiaodashi.Text = "";
            txtshuru.Text = sum.ToString();
            preyunxuanfu = "";
            isok = false;
            biaodashi = "";
        }

        private void button15_Click(object sender, EventArgs e)
        {
            txtbiaodashi.Text = "";
            txtshuru.Text = "0";
            preyunxuanfu = "";
            isok = false;
            biaodashi = "";
        }

        private void btnback_Click(object sender, EventArgs e)
        {
            if (txtshuru.Text.Length > 1)
            {
                txtshuru.Text = txtshuru.Text.Substring(0, txtshuru.Text.Length - 1);
            }
            else
            {
                txtshuru.Text = "0";
            }
        }

        private void btndian_Click(object sender, EventArgs e)
        {
            if (isok)//刚刚点过数字
            {
                if (!txtshuru.Text.Contains("."))//判断输入放入数字中是否有小数点
                {
                    txtshuru.Text = txtshuru.Text + ".";
                }
            }
            else//刚刚初始化、点过运算符、归零或者等号
            {
                txtshuru.Text = "0.";
            }
            isok = true;
        }
时间: 2024-10-13 02:26:07

计算器代码的相关文章

十进制四则运算计算器代码,输入为字符串

转发个严蔚敏老师的<数据结构及应用算法教程>里的十进制四则运算计算器代码,实习生笔试遇到过不会写,特此做个记录. ************************** 文件:calculator.c ************************** #define NonEmpty 0#define PLUS -1 // '+'#define MINUS -2 // '-'#define ASTERISK -3 // '*' #define SLANT -4 // '/'#define M

javascript简单计算器代码分析

javascript简单计算器代码分析:也许网页中需要一个简单的计算器功能,这个时候就要掌握如何编写,起码应该会修改,下面就通过一个简单的实例介绍一下如何实现简单的计算器效果,代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/&

js加减乘除在线计算器代码

js加减乘除在线计算器代码 在线演示本地下载 原文地址:https://www.cnblogs.com/wwhhq/p/8338136.html

一个比较好的Java写的计算器代码 (转)

1 import java.awt.BorderLayout; 2 import java.awt.Color; 3 import java.awt.GridLayout; 4 import java.awt.event.ActionEvent; 5 import java.awt.event.ActionListener; 6 7 import javax.swing.JButton; 8 import javax.swing.JFrame; 9 import javax.swing.JPan

QT之计算器代码重构

首先我们来讲讲为什么要进行代码重构?在一些大的项目中,代码重构是一个必不可少的步骤.因为项目大了,代码也就多了,后期的维护将会很难,所以我们要适当的进行代码重构,让代码的可复用性提高,使软件的设计和架构更加合理. 代码实现和代码重构有什么不同呢?代码实现的重点是功能的实现,而代码重构则是在实现功能的基础上进行再次优化,以提高代码质量. 那么什么样的代码需要重构呢?依据以往的项目开发经验来看呢,当发现项目中的重复代码越来越多时.代码功能越来越不清晰时.代码离设计越来越远时等,那么这时我们就该进行代

在ASP.NET里实现计算器代码的封装

一.具体代码 Default2.aspx.cs public partial class Chapter1_Default2 : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } int a = 0; private int t; public static int Count=0; public static int right=0; protected void Button1_Clic

JS计算器代码

http://www.jb51.net/article/29295.htm <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head&

0320-复利计算器代码

#include<stdio.h>#include<math.h>void Danli();void Fuli();void getPrincipal();void getYear();void getYearRate();void getMutualFund();double p,i,f;int n;main(){ int num=0; while(1){ printf("\t\t\t|************复利计算器************|\n"); p

《团队-科学计算器-代码设计规范》

代码布局设计 缩进 1.Tab实现 2.空格实现 字符串: 1.单引号 2.双引号 3.避免反斜杠的出现.   1 .变量名称 在写变量的时候,尽量避免小写的l和大写字母O和大写字母I,主要原因是容易和数字中1,0相混淆 2 .包和模块名称 模块尽量使用简短的全部小写的名称,如果可以增加可读性那么可以使用下划线,python的包不推荐使用下划线,但是在引用其他语言写的扩展包中可以使用下划线来表示区分 3 .类名称 类名称主要遵循为CapWords约定,表示为首字母大写 4.异常名称 异常归于类,

团队-科学计算器-代码设计规范

1.代码布局设计 缩进 1.Tab实现 2.空格实现 字符串: 1.单引号 2.双引号 3.避免反斜杠的出现. 2.资源Res 1.按照类型,分为以下几种 控件Id命名:控件缩写 _模块(module) _功能名(function) 2.Color命名 Resources Type 命名规则 color 组件名+具体作用名.例 R.color.button_text 3.String命名 Resources Type 命名规则 string 具体功能. 例 R.string.hello 4.Dr