曾给孩子写了一个计算器把我累坏了,四个操作数,三个操作符,只有加减乘除四则运算,我的个神,三个操作符一共4*4*4=64种组合,这样写计算器,没完没了,今天写给父亲的语音计算器终于突破了。上代码:
private void 加减乘除(ref List<string> liststrs)
{ double cao1 = 0;
double cao2 = 0;
for (int i = 0; i < liststrs.Count; i++)
{
if (liststrs[i] == "*" || liststrs[i] == "/")
{
switch (liststrs[i])
{
case "*":
{
cao1 = Convert.ToDouble(liststrs[i - 1]);
cao2 = Convert.ToDouble(liststrs[i + 1]) * cao1;
}
break;
case "/":
{
cao1 = Convert.ToDouble(liststrs[i - 1]);
cao2 = cao1 / Convert.ToDouble(liststrs[i + 1]);
}
break;
}
liststrs[i - 1] = ((float)cao2).ToString();
liststrs.RemoveAt(i); liststrs.RemoveAt(i);
i = 0;
}
}
for (int i = 0; i < liststrs.Count; i++)
{
if (liststrs[i] == "+" || liststrs[i] == "-")
{
switch (liststrs[i])
{
case "+":
{
cao1 = Convert.ToDouble(liststrs[i - 1]);
cao2 = cao1 + Convert.ToDouble(liststrs[i + 1]);
}
break;
case "-":
{
cao1 = Convert.ToDouble(liststrs[i - 1]);
cao2 = cao1 - Convert.ToDouble(liststrs[i + 1]);
}
break;
}
liststrs[i - 1] = ((float)cao2).ToString();
liststrs.RemoveAt(i); liststrs.RemoveAt(i);
i = 0;
}
}
}
看似简单,减轻负担,杠杠的!
待续(慢慢来!...........)每天一点小改变☺