我运行我的代码但是当它进入switch语句时它不执行它并从程序中退出。 在switch语句中,当用户按1时,它将进行加法,2进行减法,依此类推。 我无法理解错误。
int c; c = 0;
int a;
int b;
Console.Write Line("Enter First Number");
a = Convert.ToInt16(Console.Read Line());
Console.Write Line("Enter First Number");
b = Convert.ToInt16(Console.Read Line());
Program k = new Program();
k.display();
switch(c)
{
case 1 :
{
Console.Write Line("Answer is {0}",k.add(a,b));
}
break;
case 2:
{
Console.Write Line("Answer is {0}", k.sub(a,b));
}
break;
case 3:
{
Console.Write Line("Answer is {0}", k.prod(a, b));
}
break;
case 4 :
{
Console.Write Line("Answer is {0}", k.divide(a, b));
}
break;
default:
{
Console.Write Line("Enter Valid value");
}
break;
}
Console.Read Key();
}
public void display()
{
Console.Write Line("Menu");
Console.Write Line("1.Add");
Console.Write Line("2.Subtract");
Console.Write Line("3.Multiply");
Console.Write Line("4.Divide");
Console.Write Line("5.Modulus");
}
public int add(int x, int y)
{
int sum;
sum = x + y;
return sum;
}
public int sub(int x, int y)
{
int subtract;
subtract = x - y;
return subtract;
}
public int prod(int x, int y)
{
int p;
p = x * y;
return p;
}
public int divide(int x, int y)
{
int div;
div = x / y;
return div;
}
答案 0 :(得分:4)
您没有在c
中添加值添加以下代码来执行此操作:
Console.WriteLine("1 = Add, 2 = Subtract, 3 = Multiply, 4 = Divide");
c = Convert.ToInt16(Console.ReadLine());
您的休息语句也需要在括号内:
case 1 :
{
Console.WriteLine("Answer is {0}",k.add(a,b));
break;
}
您的Write Line
和Read Line
语句需要转换为单个字WriteLine
和ReadLine
这段代码真的很乱。你是用Microsoft Word写的吗?
答案 1 :(得分:2)
查看变量c
。当代码通过时,它总是为零。您需要在某处使用变量c
。
答案 2 :(得分:0)
当您的原始代码中的break
超出case
switch(c)
{
case 1 :
{
Console.WriteLine("Answer is {0}",k.add(a,b));
}
break;
case 2:
{
Console.WriteLine("Answer is {0}", k.sub(a,b));
}
break;
case 3:
{
Console.WriteLine("Answer is {0}", k.prod(a, b));
}
答案 3 :(得分:0)
首先,要执行该操作,需要让用户提供输入。我已经在下面粘贴了您的代码。 variable c
已声明,但用户从未输入过任何输入;始终为0。
int c = 0;
int a;
int b;
Console.Write Line("Enter First Number");
a = Convert.ToInt16(Console.Read Line());
Console.Write Line("Enter First Number");
b = Convert.ToInt16(Console.Read Line());
Program k = new Program();
k.display();
switch(c)
您不是在要求用户输入变量int c
的输入。
您可以执行以下操作:
Program k = new Program();
k.display(); // Once it displays
c = Convert.ToInt16(Console.ReadLine());
switch(c)
{ /*your code*/ }