计算器

来源:互联网 发布:阿里云潘爱民 编辑:程序博客网 时间:2024/05/16 04:31

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 计算器
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        double num1, num2, result;   //操作数及运算结果         
        bool decimalFlag = false;        //判断是否为小数            
        string myOperator; //操作类型
        private void NumClick(int myNumber)//单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中
        {
            if (decimalFlag)//  输入小数
            {
                txtreader.Text = txtreader.Text + myNumber;
            }
            else
            {
                if (txtreader.Text == "0.")     // 输入整数
                {
                    // 输入的是整数的第一个数字
                    txtreader.Text = myNumber + ".";
                }
                else
                {
                    // 输入的不是整数的第一个数字
                    txtreader.Text = txtreader.Text.Substring
                        (0, txtreader.Text.Length - 1) + myNumber + ".";
                }
            }

       
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            txtreader.Text = "0.";
            // 指定文本框的对齐方式为右对齐
            //txtreader.TextAlign = HorizontalAlignment.Right;

        }

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

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

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

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

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

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

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

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

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

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

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

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

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

        private void button2_Click(object sender, EventArgs e)
        {
            myOperator = "sub";
            num1 = double.Parse(txtreader.Text);
            txtreader.Text = "0.";
            decimalFlag = false;

        }

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

        }

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

        private void button6_Click(object sender, EventArgs e)
        {
            num2 = double.Parse(txtreader.Text);
            switch (myOperator)
            {

                case "add":
                    result = num1 + num2;
                    txtreader.Text = result.ToString();
                    break;
                case "sub":
                    result = num1 - num2;
                    txtreader.Text = result.ToString();
                    break;
                case "Mul":
                    result = num1 * num2;
                    txtreader.Text = result.ToString();
                    break;
                case "Div":
                   if(num2==0)
                   {
                       txtreader.Text="除数不能为0";
                   }
                   else
                   {
                    result = num1 / num2;
                    txtreader.Text = result.ToString();
                   
                   }
             break;

            }
        }


    }
}

原创粉丝点击