using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _02TemperatureConverter { class Program { static void Main(string[] args) { string zakoncz = "Zakończ"; Console.WriteLine("Konwerter Temperatur"); Console.WriteLine("Temperatury podaje się w następujących stalach, po liczbie stopni zapisz odpowiednia literę skali:"); Console.WriteLine("Skala Celsjusza - C"); Console.WriteLine("Skala Fahrenheita - F"); Console.WriteLine("Skala Kelvina - K"); Console.WriteLine("Żeby zakończyć program wpisz: Zakończ"); bool work = true; while (work) { string temperature = Console.ReadLine(); if (temperature.Length==0) { Console.WriteLine("Wpisz temperature."); continue; } char scale = temperature.Last(); double temperatureValue = 0; Double.TryParse(temperature.Remove(temperature.IndexOf(scale), 1),out temperatureValue); if(temperature.Equals(zakoncz)) { work = false; } else if (scale == 'C') { double inKelvin = CToK(temperatureValue); double inFarenh = CToF(temperatureValue); Console.WriteLine("Temperatura wynosi:" + String.Format("{0:N2}",inKelvin) + " K"); Console.WriteLine("Temperatura wynosi:" + String.Format("{0:N2}",inFarenh) + " F"); } else if (scale == 'F') { double inKelvins = FToK(temperatureValue); double inCelcius = FToC(temperatureValue); Console.WriteLine("Temperatura wynosi:" + String.Format("{0:N2}",inKelvins) + " K"); Console.WriteLine("Temperatura wynosi:" + String.Format("{0:N2}",inCelcius) + " C"); } else if (scale == 'K') { double inFarenh = KToF(temperatureValue); double inCelciu = KToC(temperatureValue); Console.WriteLine("Temperatura wynosi:" + String.Format("{0:N2}",inFarenh) + " F"); Console.WriteLine("Temperatura wynosi:" + String.Format("{0:N2}",inCelciu) + " C"); } else { Console.WriteLine("Zły sposób zapisu. Spróbuj jeszcze raz."); } } Console.WriteLine("Program zostanie zakończony"); Console.ReadKey(); } public static double CToK(double celc) { return celc + 273.15; } public static double CToF(double celc) { return (9 / 5.0) * celc + 32; } public static double KToC(double kelv) { return kelv - 273.15; } public static double KToF(double kelv) { return kelv * (9 / 5.0) - 459.67; } public static double FToC(double farenh) { return (5 / 9.0) * (farenh - 32); } public static double FToK(double farenh) { return (farenh + 459.67) * (5.0 / 9.0); } } }