2017-01-15 7 views
0

私は現在C#ConsoleでVisual Studioを使用していますが、私の主な問題は次のような行が表示されないことです。 if文を実行すると、最初のConsole.WriteLineを実行し、最初の入力を入力してから、2番目のConsole.WriteLineを実行せずに次のキーを押すとコンソールが閉じられます。それが私の問題です。Console.Writeline()前のConsole.Writeline()の後に表示されない

 Console.WriteLine("Please enter F or C to define your temperature. Enter F or C here: "); 

私は、第1の入力をテストしているが、それは、コンソールでその行を読み取るために拒否し、二Console.WriteLineを後に停止しているように見えます。また、F、Cのいずれかの入力が可能な温度変換を行うためのヒントがあれば、私の問題を解決する方法と同様に評価されます。

{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int numberOne; 
      int unConvertedTemp; 
      bool fahrenheit; 
      bool celsius; 
      Console.Write("Hello welcome to the temperature converter. Please provide the numerical value of your temperature. Enter your response here:"); 
      numberOne = Convert.ToInt32(Console.ReadLine()); 
      Console.WriteLine("Please enter F or C to define your temperature. Enter F or C here: "); 
      unConvertedTemp = Convert.ToInt32(Console.ReadLine()); 

      int fToC = ((F - 32)/9) * 5; 
      int cTOF = ((C + 32/5) * 9); 

     } 
    } 
} 
+0

コードを実行することができ、numberOneとunCon vertedTempの両方に値があります。 unConvertedTempは整数に変換しようとしていますが、FまたはCのいずれかを渡すように指示しています。これにより、プログラムが終了する例外が発生します。これはあなたが経験していることですか? – Kolichikov

+0

あなたのコードを正しいcodeblockに親切に入れてください。 – Uzair

+0

いいえ私はif値をまだ含んでいません。私は現在、コンソールが最初の入力を過ぎて進展することができません。 2番目のWriteLineも表示されません。 –

答えて

0

問題が何であるかはっきりしていませんが、これが役立ちます。 if文を使用して、ユーザーの入力内容を確認する必要があります。

static void Main(string[] args) 
    { 
     int tempurature; 
     string celciusOrFahrenheit; 

     Console.Write("Hello welcome to the temperature converter. Please provide the numerical value of your temperature. Enter your response here:"); 
     tempurature = Convert.ToInt32(Console.ReadLine()); 
     Console.WriteLine("Please enter F or C to define your temperature. Enter F or C here: "); 
     celciusOrFahrenheit = Console.ReadLine(); 

     if (celciusOrFahrenheit.ToUpper() == "C") 
     { 
      Console.WriteLine("Temp converted to farenhite: " + ConvertToFahrenheit(tempurature)); 
     } 

     if (celciusOrFahrenheit.ToUpper() == "F") 
     { 
      Console.WriteLine("Temp converted to celcius: " + ConvertToCelcius(tempurature)); 
     } 
     Console.ReadKey(); 
    } 

    public static int ConvertToFahrenheit(int temp) 
    { 
     int cToF = ((temp + 32/5) * 9); 
     return cToF; 
    } 

    public static int ConvertToCelcius(int temp) 
    { 
     int fToC = ((temp - 32)/9) * 5; 
     return fToC; 
    } 
} 
1

あなたの言っていることは実際には真実ではありません。次のキーを押すと終了すると言われますが、次の "Enter"ボタンを押すと終了します。

あなたの関数(およびプログラム)は、出力を見る前に単純に終了しています。あなたの最終的なWriteLineの後にReadLineを置くだけで、コンソールはあなたが終了する前に "enter"をタイプするのを待ちます。

関連する問題