Programming Fundamentals/Loop Examples CSharp

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Temperature[edit]

// This program displays a temperature conversion table showing Fahrenheit
// temperatures from 0 to 100, in increments of 10, and the corresponding 
// Celsius temperatures using While, Do While, and For loops.
//
// 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)
    {
        WhileLoop();
        DoLoop();
        ForLoop();
    }

    private static void WhileLoop()
    {
        double fahrenheit;
        double celsius;
        
        DisplayHeading();
        fahrenheit = 0;
        while (fahrenheit <= 100)
        {
            celsius = CalculateCelsius(fahrenheit);
            DisplayResult(fahrenheit, celsius);
            fahrenheit += 10;
        }
        Console.WriteLine();
    }

    private static void DoLoop()
    {
        double fahrenheit;
        double celsius;
        
        DisplayHeading();
        fahrenheit = 0;
        do
        {
            celsius = CalculateCelsius(fahrenheit);
            DisplayResult(fahrenheit, celsius);
            fahrenheit += 10;
        } while (fahrenheit <= 100);
        Console.WriteLine();
    }

    private static void ForLoop()
    {
        double fahrenheit;
        double celsius;
        
        DisplayHeading();
        for (fahrenheit = 0 ; fahrenheit <= 100 ; fahrenheit += 10)
        {
            celsius = CalculateCelsius(fahrenheit);
            DisplayResult(fahrenheit, celsius);
        }
        Console.WriteLine();
    }

    private static void DisplayHeading()
    {
        Console.WriteLine("F°\tC°");
    }

    public static double CalculateCelsius(double fahrenheit)
    {
        double celsius;
        
        celsius = (fahrenheit - 32) * 5 / 9;
        
        return celsius;
    }
    
    private static void DisplayResult(double fahrenheit, double celsius)
    {
        Console.WriteLine(fahrenheit.ToString() + "\t" + celsius.ToString());
    }
}

Output[edit]

F°	C°
0	-17.7777777777778
10	-12.2222222222222
20	-6.66666666666667
30	-1.11111111111111
40	4.44444444444444
50	10
60	15.5555555555556
70	21.1111111111111
80	26.6666666666667
90	32.2222222222222
100	37.7777777777778

F°	C°
0	-17.7777777777778
10	-12.2222222222222
20	-6.66666666666667
30	-1.11111111111111
40	4.44444444444444
50	10
60	15.5555555555556
70	21.1111111111111
80	26.6666666666667
90	32.2222222222222
100	37.7777777777778

F°	C°
0	-17.7777777777778
10	-12.2222222222222
20	-6.66666666666667
30	-1.11111111111111
40	4.44444444444444
50	10
60	15.5555555555556
70	21.1111111111111
80	26.6666666666667
90	32.2222222222222
100	37.7777777777778

References[edit]