2017-02-03 4 views
0

私のプログラムはエラーを出さないが動作しないので、コマンドウィンドウを終了するときに名前とパスワードを尋ねる。私のプログラムでC#論理エラー?

お願いします。

namespace password 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      String Samsonpass = "12345"; 
      String Riazpass = "hyperion"; 
      String mypass = "CSGOPRO"; 
      String Samson = "Samson"; 
      String Riaz = "Riaz"; 
      String Curstin = "Curstin"; 

      Console.Write("Enter your name :"); 
      string answer = Console.ReadLine(); 
      Console.Write("Enter your password :"); 
      string password = Console.ReadLine(); 

      if (answer == Curstin && password == mypass) 
      { 
       Console.Write("Welcome Curstin"); 
      } 
      else if (answer == Riaz && password == Riazpass) 
      { 
       Console.Write("Welcome Riaz"); 
      } 
      else if (answer == Samson && password == Samsonpass) 
      { 
       Console.Write("Welcome Samson"); 
      } 
      else 
      { 
       Console.Write("Invalid user or password !"); 
      } 


     } 
    } 
} 
+1

何も残していないので、終了します。開いたままにする必要がある場合は、プログラムの最後に 'Console.ReadKey();'の行に沿って何かを試してみてください。 –

+0

コマンドシェルで直接プログラムexeを呼び出します。コマンドウィンドウが閉じず、出力が表示されます –

答えて

0

まず第一に、あなたの間違いは非常に簡単だった、あなたはConsole.ReadKey();Console.ReadLine();を入れて忘れ、単にそれはできるだけ早くあなたがコードを終えると、プログラムを終了しません。私はあなたがスイッチを使用することをお勧めし

第二に、私は変数名は、このアプリに非常に関連性があるならば、それはユーザ名ではありません非常にわからない、それがです?。

static void Main(string[] args) 
    { 
     Console.Write("Enter your name: "); 
     string answer = Console.ReadLine(); 
     Console.Write("Enter your password: "); 
     string password = Console.ReadLine(); 

     switch (password) 
     { 
      case "12345": 
       Console.WriteLine("Welcome " + answer); 
       break; 

      case "hyperion": 
       Console.WriteLine("Welcome" + answer); 
       break; 
      case "CSGOPRO": 
       Console.WriteLine("Welcome " + answer); 
       break; 
      default: 
       break; 
     } 

     Console.ReadKey(); 

    } 

スイッチリファレンス:https://msdn.microsoft.com/en-us/library/06tc147t.aspx 幸運あなたはこのような何かをしなければなりません!

+0

ありがとうございます!あなたは大きな助けをしていました:) –

0

私はそれがうまくいくと思います。 最後にReadLineを追加しようとしています(コードを編集してください)。

1

動作しますが終了していますので終了します。 Console.ReadLine();を入れます。最後に。

1

他の人も触れたように、以下のようにプログラムの最後にconsole.readline()を追加するだけです。これはプログラムを強制的に停止し、出力を見る時間を与えます。

namespace password 
    { 
     class Program 
     { 
      static void Main(string[] args) 
      { 
       String Samsonpass = "12345"; 
       String Riazpass = "hyperion"; 
       String mypass = "CSGOPRO"; 
       String Samson = "Samson"; 
       String Riaz = "Riaz"; 
       String Curstin = "Curstin"; 

       Console.Write("Enter your name :"); 
       string answer = Console.ReadLine(); 
       Console.Write("Enter your password :"); 
       string password = Console.ReadLine(); 

       if (answer == Curstin && password == mypass) 
       { 
        Console.Write("Welcome Curstin"); 
       } 
       else if (answer == Riaz && password == Riazpass) 
       { 
        Console.Write("Welcome Riaz"); 
       } 
       else if (answer == Samson && password == Samsonpass) 
       { 
        Console.Write("Welcome Samson"); 
       } 
       else 
       { 
        Console.Write("Invalid user or password !"); 
       } 
       Console.Readline(); 

      } 
     } 
    } 
0

2つの可能性が終えた後、あなたのコードを一時停止します

  1. はあなたのコードの末尾にConsole.ReadLine();を置きます。または:
  2. Ctrl + F5でアプリケーションを起動します。