本人大一,学习C#知识时遇到这样一个问题,win10自带的计算器无法进行多项计算,所以想自己写个,的mun1判断的非空问题而无法继续往下写了,下面为运算代码和截图,请csdn大佬支个招
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
double reasult=0,memory=0.0;
double num2,num1;
double oper;
string temp;
private void Form1_Load(object sender, EventArgs e)
{
this.Text = "计算器";
}
private void Num(object sender, EventArgs e)
{
Button a = (Button)sender;//判断数值按钮实现数值输入
if (numout.Text == "0")
{
numout.Text = a.Text;
}
else
{
numout.Text += a.Text;
}
}
private void yunshuan(object sender, EventArgs e)//实现运算公式
{
if (numout.Text != "")
{
temp = num1.ToString();
if (temp != "")
{
num2 = double.Parse(numout.Text);
switch (oper)
{
case '+': num1 = num1 + num2; break;
case '-': num1 = num1 - num2; break;
case '*': num1 = num1 * num2; break;
case '÷':
if (num2 == 0)
{
MessageBox.Show("0不能为除数");
break;
}
else
{
num1 = num1 / num2; break;
}
}
oper = char.Parse(((Button)sender).Text);
numout.Text = "";
}
else
{
numout.Text = num1.ToString();
num1 = double.Parse(numout.Text);
oper = char.Parse(((Button)sender).Text);
numout.Text = "";
foot.Text += "运行一次";
}
}
}
private void button16_Click(object sender, EventArgs e)
{
/*
if (numout.Text != "")
{
num2 = double.Parse(numout.Text);
switch (oper)
{
case '+': reasult = num1 + num2; break;
case '-': reasult = num1 - num2; break;
case '*': reasult = num1 * num2; break;
case '÷': if (num2 == 0)
{
MessageBox.Show("0不能为除数");
break;
}
else
{
reasult = num1 / num2;break;
}
}
}
*/
numout.Text = num1.ToString();
}
private void button11_Click(object sender, EventArgs e)
{
}
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{
}
}
}