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;
using System.Collections;
using System.Threading;
using System.Diagnostics;

namespace CALCULATOR
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private string _sign;
        private double _first = 10241024;
        private double _second = 10241024;
        private string _number;

        private void button1_Click(object sender, EventArgs e)
        {
            _number += "1";
            this.textBox1.Text += "1";
        }

        private void button2_Click(object sender, EventArgs e)
        {
            _number += "2";
            this.textBox1.Text += "2";
        }

        private void button3_Click(object sender, EventArgs e)
        {
            _number += "3";
            this.textBox1.Text += "3";
        }

        private void button4_Click(object sender, EventArgs e)
        {
            _number += "4";
            this.textBox1.Text += "4";
        }

        private void button8_Click(object sender, EventArgs e)
        {
            _number += "5";
            this.textBox1.Text += "5";
        }

        private void button7_Click(object sender, EventArgs e)
        {
            _number += "6";
            this.textBox1.Text += "6";
        }

        private void button6_Click(object sender, EventArgs e)
        {
            _number += "7";
            this.textBox1.Text += "7";
        }

        private void button5_Click(object sender, EventArgs e)
        {
            _number += "8";
            this.textBox1.Text += "8";
        }

        private void button9_Click(object sender, EventArgs e)
        {
            _number += "9";
            this.textBox1.Text += "9";
        }

        private void button10_Click(object sender, EventArgs e)
        {
            _number += "0";
            this.textBox1.Text += "0";
        }

        private void button16_Click(object sender, EventArgs e)
        {
            //设置加号计算数
            SetNumber(Convert.ToDouble(_number));

            if (_sign == null || _second == 10241024)
            {
                _sign = "+";
                this.textBox1.Text += "+";
                return;
            }
            if (_second != 10241024)
            {
                //开始进行计算
                Computer ComPro = new Computer(_sign, _first, _second);
                this.textBox1.Text = ComPro.Comt(out _first).ToString();

                //验证除数为零的情况
                if (_first == 10241024.10241023)
                {
                    this.textBox1.Text = "0";
                    MessageBox.Show("除数不能为零!");
                    _number = null;
                    _first = 10241024;
                    _second = 10241024;
                    this.textBox1.Text = null;
                    _sign = null;
                    this.textBox1.Text = null;
                }

                //开始初始化数据
                _sign = "+";
                this.textBox1.Text += "+";
                _second = 10241024;
                _number = null;
                return;
            }
        }

        private void button15_Click(object sender, EventArgs e)
        {
            //设置减号计算数
            SetNumber(Convert.ToDouble(_number));

            if (_sign == null || _second == 10241024)
            {
                _sign = "-";
                this.textBox1.Text += "-";
                return;
            }
            if (_second != 10241024)
            {
                //开始进行计算
                Computer ComPro = new Computer(_sign, _first, _second);
                this.textBox1.Text = ComPro.Comt(out _first).ToString();

                //验证除数为零的情况
                if (_first == 10241024.10241023)
                {
                    this.textBox1.Text = "0";
                    MessageBox.Show("除数不能为零!");
                    _number = null;
                    _first = 10241024;
                    _second = 10241024;
                    this.textBox1.Text = null;
                    _sign = null;
                    this.textBox1.Text = null;
                }

                //开始初始化数据
                _sign = "-";
                this.textBox1.Text += "-";
                _second = 10241024;
                _number = null;
                return;
            }
        }

        private void button14_Click(object sender, EventArgs e)
        {
            //设置乘号计算数
            SetNumber(Convert.ToDouble(_number));

            if (_sign == null || _second == 10241024)
            {
                _sign = "*";
                this.textBox1.Text += "*";
                return;
            }
            if (_second != 10241024)
            {
                //开始进行计算
                Computer ComPro = new Computer(_sign, _first, _second);
                this.textBox1.Text = ComPro.Comt(out _first).ToString();

                //验证除数为零的情况
                if (_first == 10241024.10241023)
                {
                    this.textBox1.Text = "0";
                    MessageBox.Show("除数不能为零!");
                    _number = null;
                    _first = 10241024;
                    _second = 10241024;
                    this.textBox1.Text = null;
                    _sign = null;
                    this.textBox1.Text = null;
                }

                //开始初始化数据
                _sign = "*";
                this.textBox1.Text += "*";
                _second = 10241024;
                _number = null;
                return;
            }
        }
            /// <summary>
            /// 设置除号计算数
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>


        private void button11_Click(object sender, EventArgs e)
        {

            SetNumber(Convert.ToDouble(_number));

            if (_sign == null || _second == 10241024)
            {
                _sign = "/";
                this.textBox1.Text += "/";
                return;
            }
            if (_second != 10241024)
            {
                //开始进行计算
                Computer ComPro = new Computer(_sign, _first, _second);
                this.textBox1.Text = ComPro.Comt(out _first).ToString();

                //验证除数为零的情况
                if (_first == 10241024.10241023)
                {
                    this.textBox1.Text = "0";
                    this.textBox1.Text = "除数不能为零!";
                    _number = null;
                    _first = 10241024;
                    _second = 10241024;
                    this.textBox1.Text = null;
                    _sign = null;
                    this.textBox1.Text = null;
                }

                //开始初始化数据
                _sign = "/";
                this.textBox1.Text += "/";
                _second = 10241024;
                _number = null;
                return;
            }
        }
        /// <summary>
        /// 清空输入框
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>

        private void button12_Click(object sender, EventArgs e)
        {
            _number = null;
            _first = 10241024;
            _second = 10241024;
            this.textBox1.Text = null;
            _sign = null;
            this.textBox1.Text = null;
        }

        private void button13_Click(object sender, EventArgs e)
        {
            SetNumber(Convert.ToDouble(_number));
            //判断是否设置了_second的值
            if (_second == 10241024)
            {
                _second = Convert.ToDouble(_number);
                _number = null;
            }
            //判断是否设置了_first的值
            if (_first == 10241024)
            {
                _first = Convert.ToDouble(_number);
                _number = null;
            }
            //判断是否有_sign的值
            if (_sign == null)
            {
                _sign = "+";
            }
            //开始进行计算
            Computer ComPro = new Computer(_sign, _first, _second);
            this.textBox1.Text = ComPro.Comt(out _first).ToString();
            //验证除数为零的情况
            if (_first == 10241024.10241023)
            {
                this.textBox1.Text = "0";
                MessageBox.Show("除数不能为零!");
                _number = null;
                _first = 10241024;
                _second = 10241024;
                this.textBox1.Text = null;
                _sign = null;
                this.textBox1.Text = null;
            }

            //开始初始化数据
            _sign = null;
            _second = 10241024;
            _number = null;
        }
        public class Computer
        {
            private string _sign;
            private double _first;
            private double _second;

            public Computer(string str, double first, double second)
            {
                _sign = str;
                _first = first;
                _second = second;
            }

            //选择相应的运算符进行运算
            public double Comt(out double first)
            {
                if (_sign == "+")
                {
                    first = _first + _second;
                    return _first + _second;

                }
                else if (_sign == "-")
                {
                    first = _first - _second;
                    return _first - _second;

                }
                else if (_sign == "*")
                {
                    first = _first * _second;
                    return _first * _second;

                }
                else if (_sign == "/")
                {
                    if (_second == 0)
                    {
                        first = 10241024.10241023;
                        return 10241024.10241023;
                    }
                    else
                    {
                        first = _first / _second;
                        return _first / _second;

                    }
                }
                else
                {
                    first = 10241024.10241024;
                    return 10241024.10241024;
                }
            }
        }
        //设置数字函数
        public void SetNumber(double number)
        {
            if (_first == 10241024 && _number != null)
            {
                _first = Convert.ToDouble(_number);
                _number = null;
            }
            else if (_second == 10241024 && _number != null)
            {
                _second = Convert.ToDouble(_number);
                _number = null;
            }
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            this.label2.Text = DateTime.Now.ToString();
        }

        private void button24_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text == " ")
            {
                MessageBox.Show("请输入数据");
                this.textBox1.Text = Convert.ToInt64(textBox1.Text.ToString(), 2).ToString();
            }
            else 
            {
                this.textBox1.Text = Convert.ToInt64(textBox1.Text.ToString(), 2).ToString();
            }
        }

        private void button22_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text == " ")
            {
                MessageBox.Show("请输入数据");
                Int64 int64 = Convert.ToInt64(textBox1.Text.ToString(), 2);
                this.textBox1.Text = Convert.ToString(int64,16);
            }
            else
            {
                Int64 int64 = Convert.ToInt64(textBox1.Text.ToString(), 2);
                this.textBox1.Text = Convert.ToString(int64, 16);
            }

        }

        private void button23_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text == " ")
            {
                MessageBox.Show("请输入数据");
                Int64 int64 = Convert.ToInt64(textBox1.Text.ToString(), 2);
                this.textBox1.Text = Convert.ToString(int64, 8);
            }
            else
            {
                Int64 int64 = Convert.ToInt64(textBox1.Text.ToString(), 2);
                this.textBox1.Text = Convert.ToString(int64, 8);
            }
        }

        private void button21_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text == " ")
            {
                MessageBox.Show("请输入数据");
                Int64 int64 = Convert.ToInt64(textBox1.Text);
                this.textBox1.Text = Convert.ToString(int64, 2);
            }
            else
            {
               Int64 int64 = Convert.ToInt64(textBox1.Text);
                this.textBox1.Text = Convert.ToString(int64, 2);
            }
        }

        private void button27_Click(object sender, EventArgs e)
        {
            double buffer1= Convert.ToDouble(textBox1.Text);
               buffer1 = 1 / buffer1;
            this.textBox1.Text = buffer1.ToString();
        }

        private void button17_Click(object sender, EventArgs e)
        {
            _number += ".";
            this.textBox1.Text += ".";
        }

        private void button25_Click(object sender, EventArgs e)
        {
            double buffer1 = Convert.ToDouble(textBox1.Text);
            buffer1 = buffer1 * buffer1;
            this.textBox1.Text = buffer1.ToString();
        }

        private void button26_Click(object sender, EventArgs e)
        {
            if (this.textBox1.Text == " ")
            {
                MessageBox.Show("请输入数据");
                Int64 int64 = Convert.ToInt64(this.textBox1.Text);
                Int64 temp1 = 1;
                while (int64 > 1)
                {
                    temp1 = temp1*int64 ;
                    int64--;
                }
                this.textBox1.Text = temp1.ToString();
            }
            else
            {
                Int64 int64 = Convert.ToInt64(this.textBox1.Text);
                Int64 temp1 = 1;
                while (int64 > 1)
                {
                    temp1 = temp1 * int64;
                    int64--;
                }
                this.textBox1.Text = temp1.ToString();
            }
        }

        private void button28_Click(object sender, EventArgs e)
        {
            //Int64 int64 = Convert.ToInt64(this.textBox1.Text);
            //double temp=Math.Log10(int64);
            //this.textBox1.Text = temp.ToString();
            Double temp1, temp2;
            string[] STRarry = new string[2];
            STRarry = this.textBox1.Text.Split('.');
            temp1 = Convert.ToDouble(STRarry[0]);
            temp2 = Convert.ToDouble(STRarry[1]);
            // double temp1 = Convert.ToDouble(this.textBox1.Text);
            temp2 = Math.Log(temp2,temp1 );
            this.textBox1.Text = temp2.ToString();
            
        }

        private void button18_Click(object sender, EventArgs e)
        {
            double temp1 = Convert.ToDouble(this.textBox1.Text);
            double temp2 = Math.Sin(temp1);
            this.textBox1.Text = temp2.ToString();
        }

        private void button19_Click(object sender, EventArgs e)
        {
            double temp1 = Convert.ToDouble(this.textBox1.Text);
            double temp2 = Math.Cos(temp1);
            this.textBox1.Text = temp2.ToString();
        }

        private void button20_Click(object sender, EventArgs e)
        {
            double temp1 = Convert.ToDouble(this.textBox1.Text);
            double temp2 = Math.Tan(temp1);
            this.textBox1.Text = temp2.ToString();
        }

        private void button33_Click(object sender, EventArgs e)
        {
            Double temp1, temp2;
            string[] STRarry=new string[2];
            STRarry=this.textBox1.Text.Split('.');
            temp1 = Convert.ToDouble(STRarry[0]);
            temp2 = Convert.ToDouble(STRarry[1]);
           // double temp1 = Convert.ToDouble(this.textBox1.Text);
            temp2 = Math.Pow(temp1,temp2);
            this.textBox1.Text = temp2.ToString();
        }
        /// <summary>
        /// 计算e的temp1次幂
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button31_Click(object sender, EventArgs e)
        {
            double temp1 = Convert.ToDouble(this.textBox1.Text);
            double temp2 = Math.Exp(temp1);
            this.textBox1.Text = temp2.ToString();
         
            
        }

        private void button34_Click(object sender, EventArgs e)
        {
              double temp1 = Convert.ToDouble(this.textBox1.Text);
            double temp2 = Math.Sqrt(temp1);
            this.textBox1.Text = temp2.ToString();
              
        }

        private void button32_Click(object sender, EventArgs e)
        {

            Double temp1, temp2;
            string[] STRarry = new string[2];
            STRarry = this.textBox1.Text.Split('.');
            temp1 = Convert.ToDouble(STRarry[0]);
            temp2 = Convert.ToDouble(STRarry[1]);
            // double temp1 = Convert.ToDouble(this.textBox1.Text);
            temp2 = Math.IEEERemainder(temp1, temp2);
            this.textBox1.Text = temp2.ToString();
        }
        /// <summary>
        /// 圆的面积
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button30_Click(object sender, EventArgs e)
        {  
            double buffer1 = Convert.ToDouble(textBox1.Text);
            buffer1 =3.1415926*buffer1*buffer1;
            this.textBox1.Text = buffer1.ToString();
        }
        /// <summary>
        /// 三角形面积
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button29_Click(object sender, EventArgs e)
        {
            Double temp1, temp2,temp3,p,area;
            string[] STRarry = new string[3];
            STRarry = this.textBox1.Text.Split('.');
            temp1 = Convert.ToDouble(STRarry[0]);
            temp2 = Convert.ToDouble(STRarry[1]);
            temp3 = Convert.ToDouble(STRarry[2]);
            // double temp1 = Convert.ToDouble(this.textBox1.Text);
            p = (temp1 + temp2 + temp3) / 2;
            area= p * (p - temp1) * (p - temp2) * (p - temp3);
            area = Math.Sqrt(area);
            this.textBox1.Text = area.ToString();
        }

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
       {



           string str = e.Link.ToString();
           Process.Start(str);
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }
        
    }
}




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值