Site hosted by Angelfire.com: Build your free website today!
//This function computes the average wind chill per day
//Written by Adam Plumb and Max Indelicato 

#include <iostream.h>
#include <fstream.h>
#include <math.h>
#include <iomanip.h>

void wind_chill (ofstream outfile)
{
	double C, H, Spd, T, sum, ten_min, average, JD, pressure;	//declares variables as data type double
	int real_info, bad, loop_count, day;						//declares variables as data type int

	ifstream inputfile;											//declares inputfile
									

						
	inputfile.open("89381099.txt");								//opens input text file (varies)
	inputfile.ignore(500, '\n');								//ignores first line of inputfile
	inputfile.ignore(500, '\n');								//ignores second line of inputfile

	day = 1;													//initializes day as equaling 1
	outfile << "\n\n\n";
	outfile << "DAY" << "        " << "AVERAGE WINDCHILL" << "             " << "# OF ERRORS" << endl;//outputs labels of ouputfile 
	outfile << "------------------------------------------------------------------------------" << endl;
	while( inputfile )											//end-of-file while loop initialized
	{
		loop_count = 1;											//initializes loop_count as equaling 1
		bad = 0;												//initializes bad as equaling 0
		real_info = 0;											//initializes real_info as equaling 0
		sum = 0;												//initializes sum as equaling 0
		
		inputfile >> JD;										//gets initial Julian Day
		
		while(loop_count <= 144)								//initiates loop
		{
			inputfile >> ten_min >> T >> pressure >> Spd;		//reading in file
			inputfile.ignore(500, '\n');						//ignores the rest of the line

			if(pressure != 444.0 && T != 444.0 && Spd != 444.0)	//If statement
			{	
				H = ( 10.9 * sqrt( Spd ) + 9 - Spd ) * ( 33 - T );	//computing H
				C = 33 - ( H / 22.41492783 );						//computing windchill
				sum = sum + C;										//adding a total
				real_info++;										//counting number of times
				
				
			}


			else													//else statement
				bad++;
		
			loop_count++;											//adding 1 to loop_count
			
			inputfile >> JD;										//reading in JD


		}	//end of inside while loop

		
		average = sum / real_info;									//gets average
	
		outfile << setiosflags(ios::showpoint | ios::fixed);		//declaring iosflags
		outfile << setprecision(2);								//sets precision to 2
		//outputs words to file
		outfile << setw(2) << day << setw(21) << average << " ºC" << setw(25) << bad << endl;

		//adds one to day
		day++;
	}		//end of outside while loop


}