a temperature conversion programme

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • arnuld

    a temperature conversion programme

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

  • Jim Langston

    #2
    Re: a temperature conversion programme


    "arnuld" <geek.arnuld@gm ail.comwrote in message
    news:1172985629 .302524.302110@ t69g2000cwt.goo glegroups.com.. .
    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;
    }


    Comment

    • Ian Collins

      #3
      Re: a temperature conversion programme

      Jim Langston wrote:
      #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;
      std::cout << fahr << "F \t "
      << cel << "C\n";
      }
      >
      return 0;
      }
      >
      >

      --
      Ian Collins.

      Comment

      • John Harrison

        #4
        Re: a temperature conversion programme

        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

        Comment

        • arnuld

          #5
          Re: a temperature conversion programme

          On Mar 4, 2:35 pm, John Harrison <john_androni.. .@hotmail.comwr ote:
          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 :-)
          john

          Comment

          Working...