//在代码通用段定义公共变量用来接收操作数、运算结果以及判断输入的是否为小数,代码如下。
double num1, num2, reasult;//num1,num2用于保存操作数,reasult用于保存运算结果
bool decimalFlag = false;//decimaFlag判断是否为小数,默认为false(不是小数)
//编写一个名为“NumClick”的方法,单击数字按钮时,调用NumClick方法,将输入的数字追加到文本框中。
public void NumClick(int myNumber)
{
if (decimalFlag)//输入小数
{
textBox1.Text = textBox1.Text + myNumber;
}
else//输入整数
{
if(textBox1.Text == "0.")//如果是整数的第一个数
textBox1.Text = myNumber + ".";
else
textBox1.Text = textBox1.Text.Substring(0, textBox1.Text.Length - 1) + myNumber + ".";
}
}
//编写窗体载入事件,初始化计算器。
5private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "0."; //计算器屏幕初始显示值
textBox1.TextAlign = HorizontalAlignment.Right;//计算器屏幕文字输出向右对齐
}
//编写数字【0】到【9】单击事件代码(引用NumClick()方法)
private void button1_Click(object sender, EventArgs e)
{
NumClick(1);
}
private void button2_Click(object sender, EventArgs e)
{
NumClick(2);
}
private void button3_Click(object sender, EventArgs e)
{
NumClick(3);
}
/*此处省略部分代码···*/
private void button10_Click(object sender, EventArgs e)
{
NumClick(0);
}
//编写小数点按钮【.】的单击事件代码。
private void button11_Click(object sender, EventArgs e)
{
decimalFlag = true;
}
//编写复位按钮【C】的单击事件代码。
private void button12_Click(object sender, EventArgs e)
{
num1 = 0;
num2 = 0;//初始化操作数
decimalFlag = false;
textBox1.Text = "0.";//初始化计算器屏幕
}
//编写【+】、【-】、【*】、【/】按钮的单击事件代码。
private void button13_Click(object sender, EventArgs e)
{
myOperator = "add";//保存运算符 加号
num1 = double.Parse(textBox1.Text);//保存操作数1
textBox1.Text = "0.";//初始化计算器屏幕,待输入操作数2
decimalFlag = false;
}
private void button14_Click(object sender, EventArgs e)
{
myOperator = "sub";//保存运算符 减号
num1 = double.Parse(textBox1.Text);
textBox1.Text = "0.";
decimalFlag = false;
}
private void button15_Click(object sender, EventArgs e)
{
myOperator = "mul";//保存运算符 乘号
num1 = double.Parse(textBox1.Text);
textBox1.Text = "0.";
decimalFlag = false;
}
private void button16_Click(object sender, EventArgs e)
{
myOperator = "div";//保存运算符 除号
num1 = double.Parse(textBox1.Text);
textBox1.Text = "0.";
decimalFlag = false;
}
//最后编写【=】按钮的单击事件代码。
private void button17_Click(object sender, EventArgs e)
{
num2 = double.Parse(textBox1.Text);//保存操作数2
switch(myOperator)//用switch进行响应的分支操作
{
case "add"://加号
reasult = num1 + num2;
textBox1.Text = reasult.ToString();
break;
case "sub"://减号
reasult = num1 - num2;
textBox1.Text = reasult.ToString();
break;
case "mul"://乘号
reasult = num1 * num2;
textBox1.Text = reasult.ToString();
break;
case "div"://除号
if(num2 == 0)//除数为0报错
{
textBox1.Text = "除数不能为“0”!";
}
else {
reasult = num1 / num2;
textBox1.Text = reasult.ToString();
}
break;
}
}
至此,一个简易的计算器1.0就完成了。编译运行,程序成品为程序文件夹/bin/Debug/
目录下的exe文件,你也可以直接下载
如果大家有什么好的建议可以在评论区留言!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。