2016-11-13 52 views
-2

我需要一些游戏计算器的代码帮助。所以我写了所有这些代码,但IF/THEN语句表现怪异。C#IF/ELSE statemenets

截图: enter image description here - 我输入P和它应该去的代码ELSE部分,而是它继续到如果一部分。请帮忙!

{ 
    class MainClass 
    { 
     public static void Main(string[] args) // IF YOU ARE TO REWRITE FROM MY SOURCE, ALL ORIGINAL CREDITORS MUST GO INTO THE CREDITS! 
     { 

      double num01; 
      double num02; 
      double num03; 
      double num04; 
      double num05; 
      double num06; 
      string CD = null; 
      string P = null; 
      string answer = null; 



      Console.Write("Diogenes's Calculator 1.0\n\nCredits: DoS (#57714)\n   DZ(#54689)"); 
      Console.WriteLine(); 
      Console.WriteLine(); 


      Console.Write("Hello! Would you like Charity Donation or Propaganda Calculator? (CD or P): "); 
      Console.ReadLine(); 
      answer = Convert.ToString(); 
      if(answer == CD) { 
       Console.WriteLine(); 
       Console.Write("Howmuch influence does the target have?: "); 
       num01 = Convert.ToDouble(Console.ReadLine()); 
       Console.Write("Howmuch is the cost of Charity Donatins? (Gold): "); 
       num02 = Convert.ToDouble(Console.ReadLine()); 
       Console.Write("What % of influence does Charity Donation give (Made if value does change)?: "); 
       num03 = Convert.ToDouble(Console.ReadLine()); 
       Console.Write(num02 + num03); 
       Console.ReadKey(); 

      } else if(answer == P) { 
       answer = Convert.ToString(); 
       Console.WriteLine(); 
       Console.Write("Howmuch influence does the target have?: "); 
       num04 = Convert.ToDouble(Console.ReadLine()); 
       Console.Write("Howmuch influence do you want the target to have?: "); 
       num05 = Convert.ToDouble(Console.ReadLine()); 
       Console.Write("What % of influence does Propaganda take off (Made if value does change)?: "); 
       num06 = Convert.ToDouble(Console.ReadLine()); 
       Console.Write(num04 + num05); 
       Console.ReadKey(); 

      } else { 
       Console.WriteLine("Looks like you didn't type in CD or P. Buh Bye!"); 
       Console.ReadKey(); 
      } 



     } 
    } 
} 
+1

P为空,答案不是。你可能打算写'answer ==“P”' –

回答

0

要检查,如果答案是等于存储领域P,不若答案是等于实际字符串“P”的值。而P该变量为空。

其次,你在这里扔掉你的用户输入:

Console.ReadLine(); 
answer = Convert.ToString(); 

您正在阅读的控制台输入什么,然后分配answerConvert对象的字符串表示,这可能是一个完全合格的命名空间。你想:

answer = Console.ReadLine(); 
+0

否则如果(答案==“P”)https://gyazo.com/b0ea2b28972fb15871f1698c7d3dbdd0 - 没有respnse – user122876

+0

你需要努力逐步通过你的应用程序一行一行你调试它 – Jonesopolis

+0

它现在看起来像这样。我不知道它是如何破坏的:(。https://gyazo.com/9b9d7af62483be4d071f606ebba13207 – user122876

0

Console.Write(“你好!你想要慈善捐款还是宣传计算器?(CD或P):”);

 answer = Console.ReadLine(); 
     if(answer == "CD") {