0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Assignment2
{
class Program
{
    static void Main(string[] args)
    {
        int Value1,Value2,result,a;

        Console.Write("Enter Value 1: ");
        Value1 = Convert.ToInt32(Console.ReadLine());

        Console.Write("Enter Value 2: ");
        Value2 = Convert.ToInt32(Console.ReadLine());

        Console.WriteLine("Choose an arithmetic operator:");


        Console.WriteLine("\t1. +(add)");
        Console.WriteLine("\t2. -(subtract)");
        Console.WriteLine("\t3. *(multiply)");
        Console.WriteLine("\t4. /(divide)");
        Console.Write("\t5. %(mod)");

        Console.Write("\n\n");

        a = Convert.ToInt32(Console.ReadLine());

        switch (a)
        {
            case"1":
                Console.WriteLine("Operator is: Add");
                result=Value1+Value2;
                Console.WriteLine("Result: "+result);
                break;

            case"2":
                Console.WriteLine("Operator is: Subtract");
                result=Value1-Value2;
                Console.WriteLine("Result: "+result);
                break;

            case"3":
                Console.WriteLine("Operator is: Multiply");
                result=Value1*Value2;
                Console.WriteLine("Result: "+result);
                break;

            case"4":
                Console.WriteLine("Operator is: devide");
                result=Value1/Value2;
                Console.WriteLine("Result: "+result);
                break;

            case"5":
                Console.WriteLine("Operator is: mod");
                result = Value1 % Value2;
                Console.WriteLine("Result: "+result);
                break;
        }
    }
}
}

我有基本的 C#,我尝试制作一个可以使用 Case 语句运行 5 次算术运算的程序,在我完成编码之后..我发现 5 个错误让我卡住了..输出总是带有 2 个结果(即我选择添加..会出现2个输出,它的加减同时..有人可以帮我吗?

4

3 回答 3

2

违规代码是您的案例陈述。a是一个int。您的案例陈述都使用strings。只需删除数字周围的引号:

switch(a)
{
    case 1: 
            // some code
            break;
    case 2: 
            // some code
            break;
    // rest of cases
}
于 2012-04-17T04:55:34.113 回答
0

您正在转换a为 int 但您的 switch 语句将其与字符串匹配。将其更改为case 1:而不是case "1"解决问题。

于 2012-04-17T04:56:40.620 回答
0

删除引号以防万一。IE

替换case "1":case 1:

于 2012-04-17T04:58:01.590 回答