aboutsummaryrefslogtreecommitdiff
path: root/ch1/1-15_temp-convert-func.c
blob: ae30d4ff82363135d6e2b05f27a2bc81898e311b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <stdio.h>

/* The C Programming Language: 2nd Edition
 *
 * Exercise 1-15: Rewrite the temperature conversion program of Section 1.2 to
 * use a function for conversion.
 *
 * Answer: This exercise teaches you the purpose of functions: to perform
 * specific operations that can be reused. Writing good functions is the
 * foundation of good programming. Without functions, programming would still
 * be in its version of the stone age.
 *
 * In the case of temperature conversion, all you really need to do is
 * outsource the math to a function and return the result.
 */

#define MAX_F 300.0
#define STEP 20.0

float convert_to_c(float f) {
	float celsius = (5.0 / 9.0) * (f - 32.0);
	return celsius;
}

int main() {
	printf("FAHRENHEIT   CELSIUS\n");
	float i;
	for (i = 0.0; i <= MAX_F; i += STEP) {
		printf("%4.0f           %7.3f\n", i, convert_to_c(i));
	}
	return 0;
}