a temperature conversion programme

A

arnuld

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;
}
 
J

Jim Langston

arnuld said:
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;
}

#include <iostream>

int main()
{
const int lower = 0;
const int upper = 300;
const int stepper = 20;
for ( int fahr = lower; fahr <= upper; fahr += stepper )
{
int cel = ( 5 * ( fahr - 32 ) ) / 2;
std::cout << fahr << "F \t "
<< cel << "C\n";
}

return 0;
}
 
I

Ian Collins

Jim said:
#include <iostream>

int main()
{
const int lower = 0;
const int upper = 300;
const int stepper = 20;
for ( int fahr = lower; fahr <= upper; fahr += stepper )
{
int cel = ( 5 * ( fahr - 32 ) ) / 2;

int cel = ( 5 * ( fahr - 32 ) ) / 9;
 
J

John Harrison

arnuld said:
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
 
A

arnuld

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.


ok, i will do this. that is really logical.
Apart from that I think it's very good.

thanks :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,994
Messages
2,570,223
Members
46,810
Latest member
Kassie0918

Latest Threads

Top