arnuld wrote:
this is my final code. Can you folks advise some improvements for
making this programme better?
BTW, i aways compile my programme with this cmmand on Linux:
g++ -ansi -pedantic -Wall -Wextra file.cpp
// a programme that converts Fahrenheit
temperature
// to Celcius (in range 0 -
300)
#include <iostream>
int main() {
int fahr, cel;
const int lower = 0;
const int upper = 300;
const int stepper = 20;
fahr = lower;
while (fahr <= upper)
{
cel = (5 * (fahr - 32)) / 9;
std::cout << fahr
<< "F \t"
<< cel
<< "C"
<< "\n";
fahr = fahr + stepper;
}
return 0;
}
My only real concern is the use of int to represent temperature. This is
unnatural (temperature is a continuously varying quantity so is
naturally represented as a double) and also means you get a rounding
error in your calculation. For instance
40 deg F is not 4 deg C, its more like 4.4444 deg C
60 deg F is not 15 deg C, its more like 15.5555 deg C
even if you only what to print out the converted temperature to the
nearest degree, your still getting the wrong answer in the second
example above (nearest being 16 deg C).
I would change fahr and cel to doubles, and then make a decision on how
you want to print the results.
Apart from that I think it's very good.
john