先上图
2实验过程
分析:这个计算器主要有三种不同的按键,即数字键,算法操作符键,等于键。每一种不同的按键用同一个事件处理函数来处理。
为了实现连续操作的功能,所以把操作数抽象成前一个数和后一个数。把操作符也抽象成前一个操作符和当前操作符,每次输入完当前操作符后,就执行前一个数和当前数利用前一个操作符进行计算并显示。
A数字键处理程序
static string symbol1=null,symbol2=null;//前一个操作符,当前操作符
double num1, num2; //num1是上一个数,num2是当前数
private void button1_Click(object sender, EventArgs e)
{
double num;
Button b=(Button)sender;
num = Convert.ToDouble(b.Text);
num2 = num2 * 10 +num; //一位一位循环输入当前数值
textBox1.Text = num2.ToString();
}
B等于键处理程序
就是直接计算一下,用前一个数和当前数利用前一个操作符进行计算,比较简单我就不写详细代码了。
C操作符处理程序
private void button11_Click(object sender, EventArgs e)
{
if (symbol1 != null)
{
num2 = caculate(num1, num2, symbol1);
textBox1.Text = num2.ToString();
}
Button b = (Button)sender;
symbol2 = b.Text;
symbol1 = symbol2;//把当前操作符变成前一个操作符
num1 = num2;
num2 = 0;
}
源代码:
C#GUI.rar