Skip to main content
Engineering LibreTexts

5.11: C++ Examples

  • Page ID
    10664
  • Temperature

    // 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%2B%2B_Programming
    
    #include 
    
    using namespace std;
    
    void whileLoop();
    void doLoop();
    void forLoop();
    void displayHeading();
    double calculateCelsius(double);
    void displayResult(double, double);
    
    int main() {
        whileLoop();
        doLoop();
        forLoop();
    }
    
    void whileLoop() {
        double fahrenheit;
        double celsius;
        
        displayHeading();
        fahrenheit = 0;
        while (fahrenheit <= 100) {
            celsius = calculateCelsius(fahrenheit);
            displayResult(fahrenheit, celsius);
            fahrenheit += 10;
        }
        cout << endl;
    }
    
    void doLoop() {
        double fahrenheit;
        double celsius;
        
        displayHeading();
        fahrenheit = 0;
        do {
            celsius = calculateCelsius(fahrenheit);
            displayResult(fahrenheit, celsius);
            fahrenheit += 10;
        } while (fahrenheit <= 100);
        cout << endl;
    }
    
    void forLoop() {
        double fahrenheit;
        double celsius;
        
        displayHeading();
        for (fahrenheit = 0 ; fahrenheit <= 100 ; fahrenheit += 10) {
            celsius = calculateCelsius(fahrenheit);
            displayResult(fahrenheit, celsius);
        }
        cout << endl;
    }
    
    void displayHeading() {
        cout << "F°\tC°" << endl;
    }
    
    double calculateCelsius(double fahrenheit) {
        double celsius;
    
        celsius = (fahrenheit - 32) * 5 / 9;
    
        return celsius;
    }
    
    void displayResult(double fahrenheit, double celsius) {
        cout << fahrenheit << "\t" << celsius;
        cout << endl;
    }
    

    Output

    F°	C°
    0	-17.7778
    10	-12.2222
    20	-6.66667
    30	-1.11111
    40	4.44444
    50	10
    60	15.5556
    70	21.1111
    80	26.6667
    90	32.2222
    100	37.7778
    
    F°	C°
    0	-17.7778
    10	-12.2222
    20	-6.66667
    30	-1.11111
    40	4.44444
    50	10
    60	15.5556
    70	21.1111
    80	26.6667
    90	32.2222
    100	37.7778
    
    F°	C°
    0	-17.7778
    10	-12.2222
    20	-6.66667
    30	-1.11111
    40	4.44444
    50	10
    60	15.5556
    70	21.1111
    80	26.6667
    90	32.2222
    100	37.7778