2017-10-08 33 views
0

我是一個新手,作爲一個練習,必須創建一個應用程序,允許用戶3次嘗試正確輸入其引腳。我遇到的問題是,一旦輸入正確的引腳,應用程序就會關閉。第三次嘗試後也是如此。所以「正確的Pin」和「再見」不會先打印出來。這是我目前所擁有的。謝謝。如何在正確的引腳輸入和三次嘗試後關閉C#控制檯應用程序?

 int pin = 2456; 

     int attempts = 1; 


     bool correctPin = false; 

     while (attempts <= 3 && correctPin == false) 
     { 

      //Ask user to enter pin 
      Console.WriteLine("Please enter your pin"); 
      //read what user types 
      string guess = Console.ReadLine(); 
      int number1 = int.Parse(guess); 
      attempts++; 

      //if correct pin entered 
      if (number1 == pin) 
      { 

       correctPin = true; 
       Console.WriteLine("Correct Pin"); 
      } 

      //if incorrect pin entered 

      else if (number1 != pin) 
      { 
       Console.WriteLine("Incorrect Pin"); 
      } 
      else if (attempts > 3) 
      { 
       Console.WriteLine("Goodbye"); 

      } 

     } 

    } 
} 

}

回答

0

外循環,可以把一個:

Console.ReadLine(); 

語句來防止程序卻退出

這將是一件好事,至少給了用戶提示應用程序正在等待寫入類似「按Enter鍵退出...」的控制檯

+0

謝謝!我曾嘗試過Console.ReadLine();但直到現在才意識到,它必須在我想要的方式下工作,這是合理的。 – ChunLi

0

控制檯窗口正在關閉,因爲沒有其他事情可做了。你應該把Console.Readline()放在最後。

另外,您應該將Console.WriteLine("Goodbye");放在if語句之外,就在Readline()之上。

+0

謝謝。前者的說法奏效。但是,如果我將Console.WriteLine(「Goodbye」)放在Console.Readline()之上,它不適合我。我切換它們,儘管在循環之外它是下面的,它工作。乾杯:) Console.ReadLine(); Console.WriteLine(「Goodbye」); – ChunLi

+0

是的,由於出於我的意思,如果是,而:) – OctoCode

相關問題