Skip to main content
Engineering LibreTexts

4.12: C# Examples

  • Page ID
    10648
  • Temperature

    The temperature program main function is listed twice, once using if-then-else and once using switch, followed by the supporting functions.

    If Then Else

    // This program asks the user to select Fahrenheit or Celsius conversion
    // and input a given temperature. Then the program converts the given 
    // temperature and displays the result.
    //
    // References:
    //     https://www.mathsisfun.com/temperature-conversion.html
    //     https://en.wikibooks.org/wiki/C_Sharp_Programming
    
    using System;
    
    public class Temperature
    {
        public static void Main(string[] args)
        {
            string choice;
            
            choice = GetChoice();
            if (choice == "C" || choice == "c")
            {
                ProcessCelsius();
            }
            else if (choice == "F" || choice == "f")
            {
                ProcessFahrenheit();
            }
            else
            {
                Console.WriteLine("You must enter C to convert to Celsius or F to convert to Fahrenheit.");
            }
        }
    

    Switch

        public static void Main(string[] args)
        {
            string choice;
            
            choice = GetChoice();
            switch (choice)
            {
                case "C":
                case "c":
                    ProcessCelsius();
                    break;
                case "F":
                case "f":
                    ProcessFahrenheit();
                    break;
                default:
                    Console.WriteLine("You must enter C to convert to Celsius or F to convert to Fahrenheit.");
                    break;
            }
        }
    

    Supporting Functions

        public static string GetChoice()
        {
            string choice;
            
            Console.WriteLine("Enter C to convert to Celsius or F to convert to Fahrenheit:");
            choice = Console.ReadLine();
            
            return choice;
        }
        
        public static void ProcessCelsius()
        {
            double temperature;
            double result;
            
            temperature = GetTemperature("Fahrenheit");
            result = CalculateCelsius(temperature);
            DisplayResult(temperature, "Fahrenheit", result, "Celsius");
        }
        
        public static void ProcessFahrenheit()
        {
            double temperature;
            double result;
            
            temperature = GetTemperature("Celsius");
            result = CalculateFahrenheit(temperature);
            DisplayResult(temperature, "Celsius", result, "Fahrenheit");
        }
        
        public static double GetTemperature(string scale)
        {
            double temperature;
            
            Console.WriteLine("Enter " + scale + " temperature:");
            temperature = Convert.ToDouble(Console.ReadLine());
            
            return temperature;
        }
    
        public static double CalculateCelsius(double fahrenheit)
        {
            double celsius;
            
            celsius = (fahrenheit - 32) * 5 / 9;
            
            return celsius;
        }
        
        public static double CalculateFahrenheit(double celsius)
        {
            double fahrenheit;
            
            fahrenheit = celsius * 9 / 5 + 32;
            
            return fahrenheit;
        }
        
        public static void DisplayResult(double temperature, string fromScale, double result, string toScale)
        {
            Console.WriteLine(temperature + "° " + fromScale + " is " + result + "° " + toScale);
        }
    }
    

    Output

    Enter C to convert to Celsius or F to convert to Fahrenheit:
     c
    Enter Fahrenheit temperature:
     100
    100° Fahrenheit is 37.7777777777778° Celsius
    
    Enter C to convert to Celsius or F to convert to Fahrenheit:
     f
    Enter Celsius temperature:
     100
    100° Celsius is 212° Fahrenheit
    
    Enter C to convert to Celsius or F to convert to Fahrenheit:
     x
    You must enter C to convert to Celsius or F to convert to Fahrenheit.