C#计算器简单代码示例

来源:互联网 发布:贵金属看盘软件 编辑:程序博客网 时间:2024/05/16 09:30
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)        {        }            }}




原创粉丝点击