写给父亲的语音计算器(加减乘除的处理C#,三)

曾给孩子写了一个计算器把我累坏了,四个操作数,三个操作符,只有加减乘除四则运算,我的个神,三个操作符一共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;
                    }
                }
        }

看似简单,减轻负担,杠杠的!

待续(慢慢来!...........)每天一点小改变☺

我的邮箱[email protected];[email protected]

发布了66 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/ganggangwawa/article/details/102730326