2015-09-20 18 views
0

它可能是一个非常简单的解决方案,但时,它提供3个错误信息:我的计算器是行不通的C#控制台应用程序

The name 'iNum1' does not exist in the current context 
The name 'iNum2' does not exist in the current context 
The name 'soOper' does not exist in the current context 

当我删除我的代码最后一行它的工作原理,但没有它,我不能计算它。我希望有人能帮帮忙。这是代码。

//information 
    Console.WriteLine("This is a calculator"); 

    //Let them fill in the first number 
    Console.WriteLine("Please enter the first number"); 
    bool bNoNum1 = true; 
    while (bNoNum1) 
    { 

     string sNum1 = Console.ReadLine(); 

     try 
     { 
      int iNum1 = int.Parse(sNum1); 
      bNoNum1 = false; 
     } 

     catch (Exception) 
     { 
      Console.WriteLine("That's not a number"); 
     } 

    } 



    //Let them fill in (*, +,/of -) 
    Console.WriteLine("Please enter +, +, - or :"); 

    bool bNoOperator = true; 


    do 
    { 
     string sOper = Console.ReadLine(); 

     if (sOper == "x") 
     { 
      string soOper = "*"; 
      bNoOperator = false; 
     } 
     else if (sOper == ":") 
     { 
      string soOper = "/"; 
      bNoOperator = false; 
     } 
     else if (sOper == "+") 
     { 
      string soOper = "+"; 
      bNoOperator = false; 
     } 
     else if (sOper == "-") 
     { 
      string soOper = "-"; 
      bNoOperator = false; 
     } 
     else 
     { 
      Console.WriteLine("De operator " + sOper + " Is niet bekend. Kies uit +, -, x of :"); 
     } 
    } while (bNoOperator); 


    //Enter second number 
    Console.WriteLine("Please enter the second number"); 

    bool bNoNum2 = true; 
    while (bNoNum2) 
    { 
     string sNum2 = Console.ReadLine(); 

     try 
     { 
      int iNum2 = int.Parse(sNum2); 
      bNoNum2 = false; 
     } 

     catch (Exception) 
     { 
      Console.WriteLine("That's not a number"); 
     } 
    } 

    //calculating 

    int uitkomst = iNum1 + soOper + iNum2; 
+1

相关:http://stackoverflow.com/questions/2693138/variable-scope-in​​-statement-blocks – rene

+1

你不是第一个遇到这个问题:http://stackoverflow.com/search? q = does + not + exist + in + the current + context +%5Bc%23%5D – rene

+1

[C#Math calculator](http://stackoverflow.com/questions/2859111/c-sharp-math-calculator ) – Luke

回答

2

您需要声明的3个变量作为一个全球性的你的背景之外,放线“这样的上述这些变量,

Console.WriteLine("This is a calculator"); 
" 
int iNum1; 
int iNum2; 
string sOper = ""; 
0

你在错误的地点申报iNum1和iNum2 - 内一些内部的括号,它们在最后一行所在的范围内是未知的,在不同的级别声明这些变量

在任何情况下,当你这样做时,你将会遇到另一个问题:soOper是一个字符串。用一个字符串和另一个int添加一个int。

相关问题