# 5.11: C++ Examples

## 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();
double calculateCelsius(double);
void displayResult(double, double);

int main() {
whileLoop();
doLoop();
forLoop();
}

void whileLoop() {
double fahrenheit;
double celsius;

fahrenheit = 0;
while (fahrenheit <= 100) {
celsius = calculateCelsius(fahrenheit);
displayResult(fahrenheit, celsius);
fahrenheit += 10;
}
cout << endl;
}

void doLoop() {
double fahrenheit;
double celsius;

fahrenheit = 0;
do {
celsius = calculateCelsius(fahrenheit);
displayResult(fahrenheit, celsius);
fahrenheit += 10;
} while (fahrenheit <= 100);
cout << endl;
}

void forLoop() {
double fahrenheit;
double celsius;

for (fahrenheit = 0 ; fahrenheit <= 100 ; fahrenheit += 10) {
celsius = calculateCelsius(fahrenheit);
displayResult(fahrenheit, celsius);
}
cout << endl;
}

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


## References

• Wikiversity: Computer Programming