2017-01-15 4 views
0

В настоящее время я использую Visual Studio в C# Console, моя основная проблема - это строка, которая не выглядит следующим образом. Я не перешел к выражению if, потому что, когда я запустил его, консоль запускает первую консоль.WriteLine. Я буду вводить первый вход, а затем консоль закрывается при следующем нажатии клавиши без запуска второй Console.WriteLine. Это моя проблема.Console.Writeline() Не появляется после предыдущей Console.Writeline()

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

Я проверил первый вход, но он отказывается читать эту строку в консоли и появляется, чтобы остановить после второго 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

Мне удалось запустить код и получить значения как в числах, так и в unCon vertedTemp. Хотя похоже, что unConvertedTemp пытается преобразовать в целое число, но вы говорите людям, чтобы они передавали либо F, либо C. Это приведет к исключению, которое закончит вашу программу. Это то, что вы испытываете? – Kolichikov

+0

добросовестно введите код в правильный код. – Uzair

+0

Нет. Мне еще нужно включить значение if. В настоящее время я не могу запустить свою консоль за первым входом. Он даже не покажет вторую 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

Я не верю, что вы говорите правду. Вы говорите, что он закрывается при следующем нажатии клавиши, но он выйдет только при следующей кнопке «Ввод».

Ваша функция (и программа) просто выходят, прежде чем вы сможете увидеть какой-либо вывод. Просто поставьте ReadLine после окончательной WriteLine, чтобы консоль ожидала, что вы наберете «enter» перед выходом.

Смежные вопросы