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 つの結果が含まれます (つまり、i Add を選択すると、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

intに変換aしていますが、switchステートメントはそれを文字列と一致させています。問題を修正するcase 1:代わりにに変更してください。case "1"

于 2012-04-17T04:56:40.620 に答える
0

念のため引用符を削除してください。すなわち

に置き換えcase "1":ますcase 1:

于 2012-04-17T04:58:01.590 に答える