简易的计算器

来源:互联网 发布:马布里cba比赛数据 编辑:程序博客网 时间:2024/04/29 22:56

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 WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        double num1, num2, result;           
        bool decimalFlag = false;             
        string myOperator;                   
         public void NumClick(int myNumber)
        {
            if (decimalFlag)
            
            {
                txtReadout.Text = txtReadout.Text + myNumber;
            }
            else
            {
                if (txtReadout.Text == "0.")
                
                {
                    
                    txtReadout.Text = myNumber + ".";
                }
                else
                {
                    
                    txtReadout.Text = txtReadout.Text.Substring
                        (0, txtReadout.Text.Length - 1) + myNumber + ".";
                }
            }
        }
        //******************************************************************
        //************************************************
        private void Form1_Load(object sender, EventArgs e)
        {
            txtReadout.Text = "0.";
            
            txtReadout.TextAlign = HorizontalAlignment.Right;
        }

        private void btnNum0_Click(object sender, EventArgs e)
        {
            NumClick(0);
        }

        private void btnNum1_Click(object sender, EventArgs e)
        {
            NumClick(1);
        }

        private void btnNum2_Click(object sender, EventArgs e)
        {
            NumClick(2);
        }

        private void btnNum3_Click(object sender, EventArgs e)
        {
            NumClick(3);
        }

        private void btnNum4_Click(object sender, EventArgs e)
        {
            NumClick(4);
        }

        private void btnNum5_Click(object sender, EventArgs e)
        {
            NumClick(5);
        }

        private void btnNum6_Click(object sender, EventArgs e)
        {
            NumClick(6);
        }

        private void butNum7_Click(object sender, EventArgs e)
        {
            NumClick(7);
        }

        private void btnNum8_Click(object sender, EventArgs e)
        {
            NumClick(8);
        }

        private void btnNum9_Click(object sender, EventArgs e)
        {
            NumClick(9);
        }

        private void btnDoc_Click(object sender, EventArgs e)
        {
            decimalFlag = true;       
        }

        private void btnC_Click(object sender, EventArgs e)
        {
            num1 = 0;
            num2 = 0;
            txtReadout.Text = "0.";
            decimalFlag = false;
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {
            myOperator = "add";
            num1 = double.Parse(txtReadout.Text);
            txtReadout.Text = "0.";
            decimalFlag = false;
        }

        private void btnSub_Click(object sender, EventArgs e)
        {
            myOperator = "Sub";
            num1 = double.Parse(txtReadout.Text);
            txtReadout.Text ="0.";
            decimalFlag = false;
        }

        private void btnMul_Click(object sender, EventArgs e)
        {
            myOperator = "Mul";
            num1 = double.Parse(txtReadout.Text);
            txtReadout.Text = "0.";
            decimalFlag = false;
        }

        private void btnDiv_Click(object sender, EventArgs e)
        {
            myOperator = "Div";
            num1 = double.Parse(txtReadout.Text);
            txtReadout.Text = "0.";
            decimalFlag = false;
        }

        private void btnAmount_Click(object sender, EventArgs e)
        {
            num2 = double.Parse(txtReadout.Text);
            switch (myOperator)
            {
                case "add":
                    result = num1 + num2;
                    txtReadout.Text = result.ToString();
                    break;
                case "Sub":
                    result = num1 - num2;
                    txtReadout.Text = result.ToString();
                    break;
                case "Mul":
                    result = num1 * num2;
                    txtReadout.Text = result.ToString();
                    break;
                case "Div":
                    if (num2 == 0)
                    {
                        txtReadout.Text = "除数不能为“0”!";
                    }
                    else
                    {
                        result = num1 / num2;
                        txtReadout.Text = result.ToString();
                    }
                    break;
            }
        }
    }
}