c#计算器Dome






完整的代码:
#region 申明变量
private bool multiplication = false;//乘法
private bool division = false;//除法
private bool addition = false;//加法
private bool subtraction = false;//减法
private bool equalTo = false;//等于号
private bool WhetherEqualTo = false;//是否按下等于号
private List<double> EnteredNumber = new List<double>();//输入的数字
private List<int> Symbol = new List<int>();//输入的符号;
#endregion
#region
public void Num(string parameter)
{
if (multiplication || division || addition || subtraction || equalTo)
{
if (equalTo)
{
this.textBox1.Text = "";
}
textBox1.Clear();//清除
multiplication = false;//乘法
division = false;//除法
addition = false;//加法
subtraction = false;//减法
equalTo = false;//等于号
}
if (parameter.Equals(".") && this.textBox1.Text.IndexOf(".")<0||!parameter.Equals("."))
{
this.label1.Text += parameter;
this.textBox1.Text+= parameter;
WhetherEqualTo = true;
}
}
#endregion
#region 按钮对应的的数字
private void button16_Click(object sender, EventArgs e)
{
Num(".");
}
private void button15_Click(object sender, EventArgs e)
{
Num("0");
}
private void button9_Click(object sender, EventArgs e)
{
Num("1");
}
private void button6_Click(object sender, EventArgs e)
{
Num("2");
}
private void button3_Click(object sender, EventArgs e)
{
Num("3");
}
private void button8_Click(object sender, EventArgs e)
{
Num("4");
}
private void button5_Click(object sender, EventArgs e)
{
Num("5");
}
private void button2_Click(object sender, EventArgs e)
{
Num("6");
}
private void button1_Click(object sender, EventArgs e)
{
Num("7");
}
private void button4_Click(object sender, EventArgs e)
{
Num("8");
}
private void button7_Click(object sender, EventArgs e)
{
Num("9");
}
#endregion
#region 符号
/// <summary>
/// 除法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button10_Click(object sender, EventArgs e)
{
if (!division)
{
division = true;
EnteredNumber.Add(double.Parse(this.textBox1.Text));
Symbol.Add(1);//给除法一个默认值为1
this.label1.Text = "(" + this.label1.Text + ")" + "/";
equalTo = false;
}
}
/// <summary>
/// 乘法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button11_Click(object sender, EventArgs e)
{
if (!multiplication)
{
multiplication = true;
EnteredNumber.Add(double.Parse(this.textBox1.Text));
Symbol.Add(2);//给乘法一个默认值为2
this.label1.Text = "(" + this.label1.Text + ")" + "*";
equalTo = false;
}
}
/// <summary>
/// 减法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button12_Click(object sender, EventArgs e)
{
if (!subtraction)
{
subtraction = true;
EnteredNumber.Add(double.Parse(this.textBox1.Text));
Symbol.Add(3);//给减法一个默认值为3
this.label1.Text += "-";
equalTo = false;
}
}
/// <summary>
/// 加法
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button17_Click(object sender, EventArgs e)
{
if (!addition)
{
addition = true;
EnteredNumber.Add(double.Parse(this.textBox1.Text));
Symbol.Add(4);//给加法一个默认值为4
this.label1.Text +="+";
equalTo = false;
}
}
#endregion
/// <summary>
/// 清除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button13_Click(object sender, EventArgs e)
{
multiplication = false;//乘法
division = false;//除法
addition = false;//加法
subtraction = false;//减法
equalTo = false;//等于号
WhetherEqualTo = false;// 是否按下等于号
textBox1.Clear();
EnteredNumber.Clear();
Symbol.Clear();
this.label1.Text="";
}
/// <summary>
/// 等于
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button14_Click(object sender, EventArgs e)
{
if (EnteredNumber.Count>0 || Symbol.Count>0 && WhetherEqualTo)
{
EnteredNumber.Add(double.Parse(textBox1.Text));
double total = EnteredNumber[0];
for (int i = 0; i < Symbol.Count; i++)
{
int SymbolicDigit = Symbol[i];
switch (SymbolicDigit)
{
case 1:
total /= EnteredNumber[i + 1];
break;
case 2:
total *= EnteredNumber[i + 1];
break;
case 3:
total -= EnteredNumber[i + 1];
break;
case 4:
total += EnteredNumber[i + 1];
break;
}
}
label1.Text = total + "";
textBox1.Text= total + "";
equalTo = true;
EnteredNumber.Clear();
Symbol.Clear();
}
}

浙公网安备 33010602011771号