开关/案例条件失败

时间:2015-09-29 05:32:53

标签: c# calculator

class Program
{
   static void Main(string[] args)  

   { 
    bool WantToQuit = false;
    string action = "Quit";
    int currentNumber = 0;
    int number2 = 0;

    Console.WriteLine("Enter a number to work with:");
    currentNumber = Convert.ToInt32(Console.ReadLine());

    {
        Console.WriteLine("What would you like to do?");
        Console.WriteLine("1 - Add");
        Console.WriteLine("2 - Substract");
        Console.WriteLine("3 - Divide");
        Console.WriteLine("4 - Multiply");
        Console.WriteLine("5 - Modulus");  
        Console.WriteLine("6 - Quit");

        action = Console.ReadLine();

        Console.WriteLine("Enter another number to manipulate the current number:");
        number2 = Convert.ToInt32(Console.ReadLine());

        switch (action)
        {
            case "Add":
                currentNumber += number2;
                break;
            case "Substract":
                currentNumber -= number2;
                break;
            case "Divide":
                currentNumber /= number2;
                break;
            case "Multiply":
                currentNumber *= number2;
                break;
            case "Modulus":
                currentNumber %= number2;
                break;
            case "Quit":
                WantToQuit = true;
                break;
            default:
                break;
        }

        Console.WriteLine("Current number = " + currentNumber);
    }
    Console.WriteLine("END OF PROGRAM");
    Console.ReadLine();

}

没有这样的红色代码错误;但是,当我执行程序时,它不会添加currentNumber。它只会说添加你想要操作的另一个数字,它会说与当前数字(原始数字)相同的数字。

我觉得如果我真的做错了,那就在

之内
switch (action) 
{...} 

但我无法弄明白。我将不胜感激任何帮助!

3 个答案:

答案 0 :(得分:2)

尝试案例" 1"相反的情况"添加"

答案 1 :(得分:1)

关注@ Mick的回答
以这种方式使用它

case "1":
case "Add":
break;

答案 2 :(得分:0)

在这种情况下,断点是你的朋友。您需要在特定位置设置它们,最好在代码启动时确保代码按照您的期望运行。

您必须使用断点来验证您的currentNumber,然后验证您的action变量,以确保它们为您的其余代码流返回正确的值。