- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Text;
- using System.Windows.Forms;
- namespace Joseph
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- public string number;//中间变量
- public double x, y,a;//操作数x、y以及用于存储数据的数a
- public char z;//运算符标志
- public int j ;//用于判断小数点位数
- private void button19_Click(object sender, EventArgs e)//触发按扭“0”的事件
- {
- number += "0";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button14_Click(object sender, EventArgs e)//触发按钮“1”的事件
- {
- if (textBox1.Text == "0") number = "1";
- else number += "1";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button15_Click(object sender, EventArgs e)//触发按钮“2”的事件
- {
- if (textBox1.Text == "0") number = "2";
- else number += "2";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button16_Click(object sender, EventArgs e)//触发按钮“3”的事件
- {
- if (textBox1.Text == "0") number = "3";
- else number += "3";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button9_Click(object sender, EventArgs e)//触发按钮“4”的事件
- {
- if (textBox1.Text == "0") number = "4";
- else number += "4";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button10_Click(object sender, EventArgs e)//触发按钮“5”的事件
- {
- if (textBox1.Text == "0") number = "5";
- else number += "5";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button11_Click(object sender, EventArgs e)//触发按钮“6”的事件
- {
- if (textBox1.Text == "0") number = "6";
- else number += "6";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button4_Click(object sender, EventArgs e)//触发按钮“7”的事件
- {
- if (textBox1.Text == "0") number = "7";
- else number += "7";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button5_Click(object sender, EventArgs e)//触发按钮“8”的事件
- {
- if (textBox1.Text == "0") number = "8";
- else number += "8";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button6_Click(object sender, EventArgs e)//触发按钮“9”的事件
- {
- if (textBox1.Text == "0") number = "9";
- else number += "9";
- y = Convert.ToDouble(number);
- textBox1.Text = number;
- }
- private void button22_Click(object sender, EventArgs e)//触发按钮“+”的事件
- {
- if (textBox1.TextLength > 0)
- {
- x = Convert.ToDouble(textBox1.Text);
- number = null;
- z = '+';
- }
- else
- { x = 0; z = '+'; }
- }
- private void button17_Click(object sender, EventArgs e)//触发按钮“-”的事件
- {
- if (textBox1.TextLength > 0)
- {
- x = Convert.ToDouble(textBox1.Text);
- number = null;
- z = '-';
- }
- else
- { x = 0; z = '-'; }
- }
- private void button12_Click(object sender, EventArgs e)//触发按钮“*”的事件
- {
- if (textBox1.TextLength> 0)
- {
- x = Convert.ToDouble(textBox1.Text);
- number = null ;
- z ='*';
- }
- else
- { x = 0; z = '*'; }
- }
- private void button7_Click(object sender, EventArgs e)//触发按钮“/”的事件
- {
- if (textBox1.TextLength > 0)
- {
- x = Convert.ToDouble(textBox1.Text);
- number = null ;
- z ='/';
- }
- else
- { x = 0; z = '/'; }
- }
- private void button8_Click(object sender, EventArgs e)//触发按钮“sqrt”的事件
- {
- if (x < 0)
- {
- this.textBox1.Text = "函数输入无效。";
- }
- else
- {
- y = Convert.ToDouble(textBox1.Text);
- textBox1.Text = Convert.ToString(System.Math.Sqrt(y ));
- number = null;
- }
- }
- private void button13_Click(object sender, EventArgs e)//触发按钮“%”的事件
- {
- number = Convert.ToString(Convert.ToDouble(textBox1.Text) / 100);
- textBox1.Text = number;
- number = null ;
- }
- private void button18_Click(object sender, EventArgs e)//触发按钮“1/x”的事件
- {
- if (Convert.ToDouble(textBox1.Text) == 0)
- {
- this.textBox1.Text = "除数不能为零。";
- }
- else
- {
- y = Convert.ToDouble(textBox1.Text);
- number = null ;
- textBox1.Text = Convert.ToString(1 / y );
- }
- }
- private void button23_Click(object sender, EventArgs e)//触发按钮“=”的事件
- {
- switch (z )
- {
- case '+':
- textBox1.Text = Convert.ToString(x + y);
- x = Convert.ToDouble(textBox1.Text);
- break;
- case '-':
- textBox1.Text = Convert.ToString(x - y);
- break;
- case '*':
- textBox1.Text = Convert.ToString(x * y);
- break;
- case '/':
- if (y != 0)//判断除数y是否为零
- {
- textBox1.Text = Convert.ToString(x / y);
- }
- else
- {
- textBox1.Text = "除数不能为零。";
- }
- break;
- }
- number = null ;//将number清空,以便下次输入数字
- j = 0;//将j置零,以便下次输入时判断是否重复键入小数点
- }
- private void button1_Click(object sender, EventArgs e)//触发按钮“backspace”的事件
- {
- x = Convert.ToDouble(textBox1.Text);
- textBox1 .Text = Convert.ToString((x - x % 10) / 10);//实现逐个删除的功能
- }
- private void button2_Click(object sender, EventArgs e)//触发按钮“CE”的事件,删除当前文本框中的内容
- {
- number = null ;
- textBox1.Text = null ;
- }
- private void button3_Click(object sender, EventArgs e)//触发按钮“C”的事件,删除之前所有的操作
- {
- x = 0;
- number = null;
- textBox1.Text = null ;
- }
- private void button21_Click(object sender, EventArgs e)//触发按钮“.”的事件
- {
- if (textBox1.Text == "0")
- { textBox1.Text = "0."; number = textBox1.Text; }
- else
- if (j == 0)//判断之前是否输入了小数点,如果没有输入,则执行语句
- {
- try
- {
- number = Convert.ToString(number + ".");
- textBox1.Text = number;
- j++;
- }
- catch
- {
- textBox1.Text = textBox1.Text;
- }
- }
- }
- private void button26_Click(object sender, EventArgs e)//触发按钮“MS”的事件,存储当前文本框中的数据
- {
- if (textBox1.TextLength > 0)
- { textBox2.Text = "M"; a = Convert.ToDouble(textBox1.Text); }
- }
- private void button25_Click(object sender, EventArgs e)//触发按钮“MR”的事件,读取存储的数据
- {
- textBox1.Text = Convert.ToString(a);
- }
- private void button24_Click(object sender, EventArgs e)//触发按钮“MC”的事件,清除存储的数据
- {
- number = null;
- textBox2.Text = null;
- }
- private void button27_Click(object sender, EventArgs e)//触发按钮“M+”的事件,累加操作数2
- {
- a = Convert.ToDouble(textBox1 .Text );
- x = a;
- }
- private void button20_Click(object sender, EventArgs e)//触发按钮“+/-”的事件
- {
- x =- Convert.ToDouble(textBox1.Text);
- textBox1.Text = Convert.ToString(x );
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/0807201614825.html
来源: http://www.codesnippet.cn/detail/0807201614825.html