Author Topic: Wind Chill Program C++  (Read 30010 times)

herge

  • Member
  • ***
  • Posts: 477
Wind Chill Program C++
« on: February 22, 2013, 02:24:07 AM »
 Hi Rubber Duck Fans:

 Are we ready for some real chilly and cold math.
 The government of USA (NOAA) supplied the formula
 and the rest is just c++ it was original a Borland C program
 but now works on c++ 2008 with a few additions.
Code: [Select]
// windchill.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
/* WIND.CPP 11/20/2003 10:30
   Author: herge
   Location: Waterloo, Ontario, CANADA
   WWW.nws.NOAA.gov
   Wind Chill = 35.74 + 0.6215 * T - 35.75(V**0.16) +
   0.4275 * T(V**0.16)
   Where T = Degrees F and V = mph */
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <cmath>
#include <conio.h>
  using std::cout;
  using std::endl;
  using std::setw;
  using std::endl;

int _tmain(int argc, _TCHAR* argv[])
    {
    int i = 0; /* t index(f)*/
    int j = 0; /* v index(m)*/
    const int k = 248; /* Degree Symbol */
    int w = 0; /* Temperature Degrees F */
    double v6 = 0; /* Miles ** 0.16*/
    double c = 40; /* initial t(F) */
    int d = 5; /* initial v (mph) */
    double f = 1;
    cout << "MPH\tWind Chill Factor (Temperature +40" << char(k)
<<"F to -40" << char(k) << "F" << endl;
    cout << " V  ";
    for ( i = 0 ; i < 17; i ++)
    cout << setw(3) << ( 40 - ( i * 5 )) << " " ;
    cout << char(k) << "F" << endl;
    for ( i = 1; i < 13; i++ )
        { /* Velocity */
        d = i * 5.0 * f;
        cout << setw(3) << d << " ";
        /* MPH to power of (0.16) */
        /* for wind chill formula */
        /* calculate in outer loop*/
        v6 = pow(d, 0.16);
        for ( j = 0; j < 17; j++)
            { /* Temperature */
            c = 40 - (j * 5);
            w = 35.74 + 0.6215 * c - 35.75 * v6 +
            0.4275 * c * v6;
            cout << setw(3) << w << " ";
            if( j == 16) cout << char(k) << "F";
        }
        cout << endl;
    }
    cout << "MPH" << endl;
    getch();
return 0;
}
  Expected output
Code: [Select]
MPH     Wind Chill Factor (Temperature +40°F to -40°F
 V   40  35  30  25  20  15  10   5   0  -5 -10 -15 -20 -25 -30 -35 -40 °F
  5  36  30  24  18  12   7   1  -4 -10 -16 -22 -28 -34 -39 -45 -51 -57 °F
 10  33  27  21  15   8   2  -3  -9 -15 -22 -28 -34 -40 -46 -53 -59 -65 °F
 15  31  25  19  12   6   0  -6 -12 -19 -25 -32 -38 -45 -51 -57 -64 -70 °F
 20  30  23  17  10   4  -2  -8 -15 -21 -28 -35 -41 -48 -54 -61 -67 -74 °F
 25  29  22  16   9   2  -4 -10 -17 -24 -30 -37 -44 -50 -57 -64 -70 -77 °F
 30  28  21  14   8   1  -5 -12 -19 -25 -32 -39 -46 -53 -59 -66 -73 -80 °F
 35  27  20  13   7   0  -6 -13 -20 -27 -34 -41 -48 -54 -61 -68 -75 -82 °F
 40  26  19  13   6   0  -7 -14 -21 -28 -35 -42 -49 -56 -63 -70 -77 -84 °F
 45  26  19  12   5  -1  -8 -15 -22 -29 -37 -44 -51 -58 -65 -72 -79 -86 °F
 50  25  18  11   4  -2  -9 -16 -24 -31 -38 -45 -52 -59 -66 -73 -80 -87 °F
 55  25  18  10   3  -3 -10 -17 -24 -32 -39 -46 -53 -60 -67 -75 -82 -89 °F
 60  24  17  10   3  -4 -11 -18 -25 -33 -40 -47 -54 -61 -69 -76 -83 -90 °F
MPH


 Do NOT try to change the range of temperatures or wind speed
 It will not work!
 Getting the degee symbol to print was a real pain.

Regards herge
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

hfheatherfox07

  • Member
  • ***
  • Posts: 464
Re: Wind Chill Program C++
« Reply #1 on: February 22, 2013, 03:31:38 AM »
@ herge , you seem to know C++
Can you get the about box and menus to work in this tutorial?

http://masm32.com/board/index.php?action=dlattach;topic=1402.0;attach=1250

I just got mad and did it in masm :)

Can you fix it?
Your code and your skills will be assimilated. Your programming language is irrelevant.
We are the ASM Borg and you will become part of us. Compile and be assembled.

hfheatherfox07

  • Member
  • ***
  • Posts: 464
Re: Wind Chill Program C++
« Reply #2 on: February 22, 2013, 03:50:08 AM »
I tried compiling this but I get errors  :(

Your code and your skills will be assimilated. Your programming language is irrelevant.
We are the ASM Borg and you will become part of us. Compile and be assembled.

herge

  • Member
  • ***
  • Posts: 477
Re: Wind Chill Program C++
« Reply #3 on: February 22, 2013, 04:46:22 AM »

 Hi hfheatherfox07:

 You will get three warning messages but it should go.
Code: [Select]
1>Compiling...
1>stdafx.cpp
1>Compiling...
1>windchill.cpp
1>c:\documents and settings\owner\my documents\visual studio 2008\projects\windchill\windchill\windchill.cpp(39) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
1>c:\documents and settings\owner\my documents\visual studio 2008\projects\windchill\windchill\windchill.cpp(49) : warning C4244: '=' : conversion from 'double' to 'int', possible loss of data
1>c:\documents and settings\owner\my documents\visual studio 2008\projects\windchill\windchill\windchill.cpp(56) : warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details.
1>        c:\program files\microsoft visual studio 9.0\vc\include\conio.h(145) : see declaration of 'getch'
1>Compiling manifest to resources...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Linking...
1>LINK : C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\windchill\Debug\windchill.exe not found or not built by the last incremental link; performing full link
1>Embedding manifest...
1>Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
1>Copyright (C) Microsoft Corporation.  All rights reserved.
1>Build log was saved at "file://c:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\windchill\windchill\Debug\BuildLog.htm"
1>windchill - 0 error(s), 3 warning(s)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========


 Regards herge

Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

herge

  • Member
  • ***
  • Posts: 477
Re: Wind Chill Program C++
« Reply #4 on: February 22, 2013, 05:05:46 AM »

 Hi heather:

 you called stdafx twice?

 Regards herge
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

hfheatherfox07

  • Member
  • ***
  • Posts: 464
Re: Wind Chill Program C++
« Reply #5 on: February 22, 2013, 05:17:49 AM »
I am sorry I copied your source as you posted it, not compiling
Maybe you have different  stdafx.h ?
Why are you compiling stdafx.cpp ?



I have no idea what your answer was? :(
Your code and your skills will be assimilated. Your programming language is irrelevant.
We are the ASM Borg and you will become part of us. Compile and be assembled.

hfheatherfox07

  • Member
  • ***
  • Posts: 464
Re: Wind Chill Program C++
« Reply #6 on: February 22, 2013, 05:19:28 AM »

 Hi heather:

 you called stdafx twice?

 Regards herge


What are you talking about?
Sorry new to C++

EDIT:
Please take a look at the batch file that I use to complie !
I'm am not using visual studio 2008

Can you include all your includes?
Your code and your skills will be assimilated. Your programming language is irrelevant.
We are the ASM Borg and you will become part of us. Compile and be assembled.

herge

  • Member
  • ***
  • Posts: 477
Re: Wind Chill Program C++
« Reply #7 on: February 22, 2013, 05:37:44 AM »

 hi heather:

Code: [Select]
C:\down\temp>dir
 Volume in drive C has no label.
 Volume Serial Number is E491-9F6C

 Directory of C:\down\temp

02/21/2013  12:52 PM    <DIR>          .
02/21/2013  12:52 PM    <DIR>          ..
02/21/2013  12:50 PM    <DIR>          main 5-Resources Icons, Dialogs and Menu

02/21/2013  01:21 PM    <DIR>          Wind Chill Program C++
               0 File(s)              0 bytes
               4 Dir(s)  111,687,221,248 bytes free

C:\down\temp>cd ,\wind chill program c++
The system cannot find the path specified.

C:\down\temp>cd .\wind chill program c++

C:\down\temp\Wind Chill Program C++>dir
 Volume in drive C has no label.
 Volume Serial Number is E491-9F6C

 Directory of C:\down\temp\Wind Chill Program C++

02/21/2013  01:21 PM    <DIR>          .
02/21/2013  01:21 PM    <DIR>          ..
02/21/2013  01:21 PM               551 Build it.bat
02/21/2013  12:59 PM               552 buildit.bat
02/21/2013  12:52 PM               551 buildit.txt
02/21/2013  12:58 PM               552 builit.bar.txt
02/21/2013  01:21 PM             1,059 StdAfx.h
02/21/2013  01:21 PM             1,729 windchill.cpp
               6 File(s)          4,994 bytes
               2 Dir(s)  111,687,221,248 bytes free

C:\down\temp\Wind Chill Program C++>build it
'build' is not recognized as an internal or external command,
operable program or batch file.

C:\down\temp\Wind Chill Program C++>"build it"
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

cl : Command line warning D9002 : ignoring unknown option '/ML'
windchill.cpp
windchill.cpp(31) : warning C4310: cast truncates constant value
windchill.cpp(32) : warning C4310: cast truncates constant value
windchill.cpp(36) : warning C4310: cast truncates constant value
windchill.cpp(39) : warning C4244: '=' : conversion from 'double' to 'int', pos
ible loss of data
windchill.cpp(49) : warning C4244: '=' : conversion from 'double' to 'int', pos
ible loss of data
windchill.cpp(51) : warning C4310: cast truncates constant value
windchill.cpp(56) : warning C4996: 'getch': The POSIX name for this item is dep
ecated. Instead, use the ISO C++ conformant name: _getch. See online help for d
tails.
        C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\conio.h(145) :
ee declaration of 'getch'
windchill.cpp(21) : warning C4100: 'argv' : unreferenced formal parameter
windchill.cpp(21) : warning C4100: 'argc' : unreferenced formal parameter
Press any key to continue . . .
Microsoft (R) Incremental Linker Version 5.12.8078
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

Press any key to continue . . .
C:\down\temp\Wind Chill Program C++>dir
 Volume in drive C has no label.
 Volume Serial Number is E491-9F6C

 Directory of C:\down\temp\Wind Chill Program C++

02/21/2013  01:27 PM    <DIR>          .
02/21/2013  01:27 PM    <DIR>          ..
02/21/2013  01:21 PM               551 Build it.bat
02/21/2013  12:59 PM               552 buildit.bat
02/21/2013  12:52 PM               551 buildit.txt
02/21/2013  12:58 PM               552 builit.bar.txt
02/21/2013  01:21 PM             1,059 StdAfx.h
02/21/2013  01:21 PM             1,729 windchill.cpp
02/21/2013  01:27 PM           162,816 windchill.exe
               7 File(s)        167,810 bytes
               2 Dir(s)  111,687,024,640 bytes free

C:\down\temp\Wind Chill Program C++>windchill
MPH     Wind Chill Factor (Temperature +40°F to -40°F
 V   40  35  30  25  20  15  10   5   0  -5 -10 -15 -20 -25 -30 -35 -40 °F
  5  36  30  24  18  12   7   1  -4 -10 -16 -22 -28 -34 -39 -45 -51 -57 °F
 10  33  27  21  15   8   2  -3  -9 -15 -22 -28 -34 -40 -46 -53 -59 -65 °F
 15  31  25  19  12   6   0  -6 -12 -19 -25 -32 -38 -45 -51 -57 -64 -70 °F
 20  30  23  17  10   4  -2  -8 -15 -21 -28 -35 -41 -48 -54 -61 -67 -74 °F
 25  29  22  16   9   2  -4 -10 -17 -24 -30 -37 -44 -50 -57 -64 -70 -77 °F
 30  28  21  14   8   1  -5 -12 -19 -25 -32 -39 -46 -53 -59 -66 -73 -80 °F
 35  27  20  13   7   0  -6 -13 -20 -27 -34 -41 -48 -54 -61 -68 -75 -82 °F
 40  26  19  13   6   0  -7 -14 -21 -28 -35 -42 -49 -56 -63 -70 -77 -84 °F
 45  26  19  12   5  -1  -8 -15 -22 -29 -37 -44 -51 -58 -65 -72 -79 -86 °F
 50  25  18  11   4  -2  -9 -16 -24 -31 -38 -45 -52 -59 -66 -73 -80 -87 °F
 55  25  18  10   3  -3 -10 -17 -24 -32 -39 -46 -53 -60 -67 -75 -82 -89 °F
 60  24  17  10   3  -4 -11 -18 -25 -33 -40 -47 -54 -61 -69 -76 -83 -90 °F
MPH

C:\down\temp\Wind Chill Program C++>

/code]

 It works.

 Do not put spaces in filnames because you
 have to quote them i e
 >"build it"

 If you want Dos start vc and use tools command prompt
 the tools is above vc click it and then click command prompt.

 Regards herge
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

hfheatherfox07

  • Member
  • ***
  • Posts: 464
Re: Wind Chill Program C++
« Reply #8 on: February 22, 2013, 12:03:26 PM »
I double click the batch file , that is all and it will NOT compile :(
And as for that other attachment I can not add about dialog , or menu to code
Dunno how with out error :(


Not opening any DOS command prompt ??
I have Microsoft SDK and Microsoft Visual C++ Toolkit 2003

 not same includes as you !!!!
That is why I asked for them


I will stick to masm32
As long as you instal in C drive , a persons can download your asm source with a batch file and build an app, simple!

So much hassle with C and C ++
H
I have no idea what your answer was, I double click that batch file and it still won't compile ?
It's OK.........

 
Your code and your skills will be assimilated. Your programming language is irrelevant.
We are the ASM Borg and you will become part of us. Compile and be assembled.

herge

  • Member
  • ***
  • Posts: 477
Re: Wind Chill Program C++
« Reply #9 on: February 22, 2013, 02:10:44 PM »
 Hi DednDave:

 If you got Microsoft vc 2008 or vc 2005 in Arixona down south try the
 wind chill program  please,

 Hi heather:

 Dos does not like spaces in Filenames get use to it or
 as I have said before quote it. i e
 >"build it"
 or to put iy another way dos stops at the space so it thinks it
 is the second arguement when it is NOT.
 If you DO NOT QUOTE it can not find the next arguement and
 because if found the Space it think its got the arguement when
 it only has half of it!

 This is vc 2008 and it has different DLLs running
 and is very difficult to run with out them.

 I think you should try Borland 5.5 compiler and make sure you
 get the .cfg files thal are short files. It's about 8 meg.
 I can assure you will need the cfg files for Borland to go.
Code: [Select]
C:\borland\bcc55\bin>dir *.cfg
 Volume in drive C has no label.
 Volume Serial Number is E491-9F6C

 Directory of C:\borland\bcc55\bin

07/15/2008  05:34 AM                60 bcc32.cfg
07/15/2008  05:45 AM                28 ilink.cfg
07/15/2008  05:57 AM                28 ilink32.cfg
               3 File(s)            116 bytes
               0 Dir(s)  111,672,188,928 bytes free


 You won't actual find these files you have to create them
 manually. But you will find imfomation at the down load site
 as to what is in them.

 Regards herge
« Last Edit: February 22, 2013, 03:14:59 PM by herge »
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

hfheatherfox07

  • Member
  • ***
  • Posts: 464
Re: Wind Chill Program C++
« Reply #10 on: February 22, 2013, 04:45:47 PM »
This are my errors

Code: [Select]
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

windchill.cpp
windchill.cpp(31) : warning C4310: cast truncates constant value
windchill.cpp(32) : warning C4310: cast truncates constant value
windchill.cpp(36) : warning C4310: cast truncates constant value
windchill.cpp(39) : warning C4244: '=' : conversion from 'double' to 'int', poss
ible loss of data
windchill.cpp(44) : error C2666: 'pow' : 7 overloads have similar conversions
        C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\math.h(620):
could be 'long double pow(long double,int)'
        C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\math.h(618):
or       'long double pow(long double,long double)'
        C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\math.h(572):
or       'float pow(float,int)'
        C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\math.h(570):
or       'float pow(float,float)'
        C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\math.h(534):
or       'double pow(int,int)'
        C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\math.h(532):
or       'double pow(double,int)'
        C:\Program Files\Microsoft Visual C++ Toolkit 2003\include\math.h(195):
or       'double pow(double,double)'
        while trying to match the argument list '(int, double)'
windchill.cpp(49) : warning C4244: '=' : conversion from 'double' to 'int', poss
ible loss of data
windchill.cpp(51) : warning C4310: cast truncates constant value
Press any key to continue . . .
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 13.10.3077 for 80x86
Copyright (C) Microsoft Corporation 1984-2002. All rights reserved.

also I need dacs4w32.lib 
Do you have?
Your code and your skills will be assimilated. Your programming language is irrelevant.
We are the ASM Borg and you will become part of us. Compile and be assembled.

herge

  • Member
  • ***
  • Posts: 477
Re: Wind Chill Program C++
« Reply #11 on: February 22, 2013, 05:50:22 PM »
 Hi Heather:

 #include <cmath>
 This should get rid of pow error I hope.

 Note there is a c in front of math.
 so it is cmath NOT math.

 I do not have dacs4w32.lib on my
 system so I can't give it to you.

 Regards herge
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

hfheatherfox07

  • Member
  • ***
  • Posts: 464
Re: Wind Chill Program C++
« Reply #12 on: February 22, 2013, 05:58:18 PM »

 Hi Heather:

 #include <cmath>
 This should get rid of pow error I hope.

 Regards herge

This is crazy ....
You have that in your original source
 :dazzled:
Forget it I will stick to masm .....
Your code and your skills will be assimilated. Your programming language is irrelevant.
We are the ASM Borg and you will become part of us. Compile and be assembled.

herge

  • Member
  • ***
  • Posts: 477
Re: Wind Chill Program C++
« Reply #13 on: February 22, 2013, 06:06:32 PM »

 Hi heather:

 look at the very first entry and check the includes
 cmath is there.

 regards herge
Regards herge
Read "Slow Death by Rubber Duck"
for chemical Laughs.

hfheatherfox07

  • Member
  • ***
  • Posts: 464
Re: Wind Chill Program C++
« Reply #14 on: February 22, 2013, 06:26:11 PM »

 Hi heather:

 look at the very first entry and check the includes
 cmath is there.

 regards herge

LOL
That what I was saying
Your code and your skills will be assimilated. Your programming language is irrelevant.
We are the ASM Borg and you will become part of us. Compile and be assembled.