zoukankan      html  css  js  c++  java
  • WindowsForm 计算器

                                                                         计算器             

    可以分一下类

         数字键

         + - * / %

          =和撤销

         归零C最简单

    下面看一下计算器具体的代码

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication4
    {
        public partial class Form2 : Form
        {
            public Form2()
            {
                InitializeComponent();
            }
    
            //记录是否刚点过运算符
            private bool isok = true;
            //记录结果
            private decimal Sum;
            //记录上一次的运算符
            private string PreYunsuanfu;
            //记录表达式
            private string Biaodashi;
    
           
    
            private void btnling_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "0";
                   // isok = false;
                }
                else
                {
                    txtshuru.Text += "0";
                }
            }
    
            private void btnyi_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "1";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "1";
                }
            }
    
            private void btner_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "2";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "2";
                }
            }
    
            private void btnsan_Click(object sender, EventArgs e)
            {
                 if (isok)
                {
                    txtshuru.Text = "3";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "3";
                }
            }
    
            private void btnsi_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "4";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "4";
                }
            }
    
            private void btnwu_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "5";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "5";
                }
            }
    
            private void btnliu_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "6";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "6";
                }
            }
    
            private void btnqi_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "7";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "7";
                }
            }
    
            private void btnba_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "8";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "8";
                }
            }
    
            private void btnjiu_Click(object sender, EventArgs e)
            {
                if (isok)
                {
                    txtshuru.Text = "9";
                    isok = false;
                }
                else
                {
                    txtshuru.Text += "9";
                }
            }
    
            private void btnjia_Click(object sender, EventArgs e)
            {
                if (PreYunsuanfu == null)
                {
                    Sum = decimal.Parse(txtshuru.Text);
                    Biaodashi = txtshuru.Text;
                }
                else
                {
                    if (!isok)
                    {
                        if (PreYunsuanfu == "+")
                        {
                            Sum = Sum + decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "-")
                        {
                            Sum = Sum - decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "*")
                        {
                            Sum = Sum * decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "/")
                        {
                            Sum = Sum / decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "%")
                        {
                            Sum = Sum % decimal.Parse(txtshuru.Text);
                        }
    
                        Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;
                    }
                }
    
                txtjisuanshi.Text = Biaodashi + "+";
                PreYunsuanfu = "+";
                isok = true;
                txtshuru.Text = Sum.ToString();
            }
    
            private void btnjian_Click(object sender, EventArgs e)
            {
                if (PreYunsuanfu == null)
                {
                    Sum = decimal.Parse(txtshuru.Text);
                    Biaodashi = txtshuru.Text;
                }
                else
                {
                    if (!isok)
                    {
                        if (PreYunsuanfu == "+")
                        {
                            Sum = Sum + decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "-")
                        {
                            Sum = Sum - decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "*")
                        {
                            Sum = Sum * decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "/")
                        {
                            Sum = Sum / decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "%")
                        {
                            Sum = Sum % decimal.Parse(txtshuru.Text);
                        }
    
                        Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;
                    }
                }
    
                txtjisuanshi.Text = Biaodashi + "-";
                PreYunsuanfu = "-";
                isok = true;
                txtshuru.Text = Sum.ToString();
            }
    
            private void btncheng_Click(object sender, EventArgs e)
            {
                if (PreYunsuanfu == null)
                {
                    Sum = decimal.Parse(txtshuru.Text);
                    Biaodashi = txtshuru.Text;
                }
                else
                {
                    if (!isok)
                    {
                        if (PreYunsuanfu == "+")
                        {
                            Sum = Sum + decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "-")
                        {
                            Sum = Sum - decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "*")
                        {
                            Sum = Sum * decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "/")
                        {
                            Sum = Sum / decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "%")
                        {
                            Sum = Sum % decimal.Parse(txtshuru.Text);
                        }
    
                        Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;
                    }
                }
    
                txtjisuanshi.Text = Biaodashi + "*";
                PreYunsuanfu = "*";
                isok = true;
                txtshuru.Text = Sum.ToString();
            }
    
            private void btnchu_Click(object sender, EventArgs e)
            {
                if (PreYunsuanfu == null)
                {
                    Sum = decimal.Parse(txtshuru.Text);
                    Biaodashi = txtshuru.Text;
                }
                else
                {
                    if (!isok)
                    {
                        if (PreYunsuanfu == "+")
                        {
                            Sum = Sum + decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "-")
                        {
                            Sum = Sum - decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "*")
                        {
                            Sum = Sum * decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "/")
                        {
                            Sum = Sum / decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "%")
                        {
                            Sum = Sum % decimal.Parse(txtshuru.Text);
                        }
    
                        Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;
                    }
                }
    
                txtjisuanshi.Text = Biaodashi + "/";
                PreYunsuanfu = "/";
                isok = true;
                txtshuru.Text = Sum.ToString();
            }
    
            private void btnmo_Click(object sender, EventArgs e)
            {
                if (PreYunsuanfu == null)
                {
                    Sum = decimal.Parse(txtshuru.Text);
                    Biaodashi = txtshuru.Text;
                }
                else
                {
                    if (!isok)
                    {
                        if (PreYunsuanfu == "+")
                        {
                            Sum = Sum + decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "-")
                        {
                            Sum = Sum - decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "*")
                        {
                            Sum = Sum * decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "/")
                        {
                            Sum = Sum / decimal.Parse(txtshuru.Text);
                        }
                        if (PreYunsuanfu == "%")
                        {
                            Sum = Sum % decimal.Parse(txtshuru.Text);
                        }
    
                        Biaodashi = Biaodashi + PreYunsuanfu + txtshuru.Text;
                    }
                }
    
                txtjisuanshi.Text = Biaodashi + "%";
                PreYunsuanfu = "%";
                isok = true;
                txtshuru.Text = Sum.ToString();
            }
    
            private void btnClear_Click(object sender, EventArgs e)
            {
                txtshuru.Text = "0";
                txtjisuanshi.Text = "";
                isok = true;
                PreYunsuanfu = null;
                Sum = 0;
                Biaodashi = "";
            }
    
            private void btnchexiao_Click(object sender, EventArgs e)
            {
                if (!isok)
                {
                    if (txtshuru.Text.Length == 1)
                    {
                        txtshuru.Text = "0";
                        isok = true;
                    }
                    else
                    {
                        txtshuru.Text = txtshuru.Text.Substring(0, txtshuru.Text.Length - 1);
                    }
                }
            }
    
            private void btndian_Click(object sender, EventArgs e)
            {
                if (txtshuru.Text == "0")
                {
                    txtshuru.Text = "0.";
                }
                if (!isok  && !txtshuru.Text.Contains("."))
                { 
                    txtshuru.Text += ".";
                }
                isok = false;
            }
    
            private void btndeng_Click(object sender, EventArgs e)
            {
                txtjisuanshi.Text = "";
                if (PreYunsuanfu == "+")
                {
                    Sum = Sum + decimal.Parse(txtshuru.Text);
                }
                if (PreYunsuanfu == "-")
                {
                    Sum = Sum - decimal.Parse(txtshuru.Text);
                }
                if (PreYunsuanfu == "*")
                {
                    Sum = Sum * decimal.Parse(txtshuru.Text);
                }
                if (PreYunsuanfu == "/")
                {
                    Sum = Sum / decimal.Parse(txtshuru.Text);
                }
                if (PreYunsuanfu == "%")
                {
                    Sum = Sum % decimal.Parse(txtshuru.Text);
                }
                txtshuru.Text = Sum.ToString();
                isok = true;
                Biaodashi = "";
                Sum = 0;
                PreYunsuanfu = null;
            }
    
    
    
            private void btnzhengfu_Click(object sender, EventArgs e)
            {
                if (!isok)
                {
                    if (decimal.Parse(txtshuru.Text) > 0)
                    {
                        txtshuru.Text = "-" + txtshuru.Text;
                    }
                    else
              {
                        txtshuru.Text = txtshuru.Text.Substring(1);
                    }
                }
            }
    
        }
    }
    计算器 很详细的
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace FirstForm
    {
        public partial class JiSuanQi : Form
        {
            public JiSuanQi()
            {
                InitializeComponent();
            }
    
            private double sum=0;
            private string biaodashi;
            private string Preyunsuanfu;//存放之前的运算符
            private bool isok = true;//用来判断是否刚刚点过运算符
    
            private void btnling_Click(object sender, EventArgs e)
            {
                Button btn = (Button)sender;
                if (isok)
                {
                    txtshuru.Text = btn.Text;
                    isok = false;
                }
                else
                {
                    txtshuru.Text += btn.Text;
                }
    
            }
    
            private void btnjia_Click(object sender, EventArgs e)
            {
                Button btn = (Button)sender;
                string yunsuanfu = btn.Text;
                if (Preyunsuanfu == null)
                {
                    biaodashi += txtshuru.Text;
                    sum = double.Parse(txtshuru.Text);
                }
                else
                {
                    if (!isok)
                    {
                        if (Preyunsuanfu == "+")
                        {
                            sum += double.Parse(txtshuru.Text);
                        }
                        if (Preyunsuanfu == "-")
                        {
                            sum -= double.Parse(txtshuru.Text);
                        }
                        if (Preyunsuanfu == "*")
                        {
                            sum *= double.Parse(txtshuru.Text);
                        }
                        if (Preyunsuanfu == "/")
                        {
                            sum /= double.Parse(txtshuru.Text);
                        }
                        if (Preyunsuanfu == "%")
                        {
                            sum %= double.Parse(txtshuru.Text);
                        }
    
                        biaodashi = biaodashi+ Preyunsuanfu + txtshuru.Text;
                        txtshuru.Text = sum.ToString();
                    } 
                }
                txtjisuanshi.Text = biaodashi + yunsuanfu;
                Preyunsuanfu = yunsuanfu;
                isok = true;
                
            }
    
            private void btndeng_Click(object sender, EventArgs e)
            {
    
            }
    
            private void btnchexiao_Click(object sender, EventArgs e)
            {
    
            }
        }
    }
    计算器 另一种方法
  • 相关阅读:
    夜游遂宁滨江路
    易中天讲座十句人生感悟(发人深省,耐人寻味)
    遥望死海
    一直被忽略的成功之道:勤快并非优点,成功需要懒惰
    给别人以宽容,给自己以信心
    合理支配“财富”:经理人运用时间的12种典型模式
    三月的清晨
    学习的三重境界(想成功的人都不可错过)
    上班
    持续开发你的事业智慧:企业家保持冲锋势头的路径
  • 原文地址:https://www.cnblogs.com/981971554nb/p/4333337.html
Copyright © 2011-2022 走看看