#include<iostream>
#include<fstream>
#include<iomanip>
using namespace std;

void readFile(float tempF[],float sum)
{
	sum=0;
	ifstream inp("inputfile.txt");
	
	if(!inp)
	{
		cout<<"Error!"<<endl;
		exit(0);
	}
	else
	cout <<"File successfully opened."<<endl;
	
	while (!inp.eof())
	{
		for(int i=0;i<10;i++)
		{
			inp>>tempF[i];
			sum+=tempF[i];
		}
	}
	inp.close();
}
void computeC(float tempF[],float tempC[],float &sum)
{
	for(int i=0;i<10;i++)
		{
			tempC[i] = (5/9.0) * (tempF[i] - 32);
			sum+=tempC[i];
		}
		
}
float average(float sum)
{
	float avrg;
	avrg=sum/10;
	
	return avrg;
}
char grade(float C,int &low,int &medium,int &high)
{

	for(int i=0;i<10;i++)
	{
		if(C<20)
	{
		low++;
		return 'L';
		
	}
		else if(C>=20&&C<35)
	{
		medium++;
		return 'M';
	
	}
		else if(C>=35)
	{
		high++;
		return 'H';
	}
	
	}
}
void writeFile(float tempF[],float tempC[],float sum)
{
	char des;
	int l,h,m;
	
	ofstream out("output1.txt");
	out<<"C(Celcius) \tF (Farenheit)\tDescription "<<endl;
	out<<"========== \t========= \t========== "<<endl;
	
	for(int i=0;i<10;i++)
	{
		des = grade(tempC[i],l,m,h);
		out<<fixed<<setprecision(2);
		out<<tempC[i]<<"\t\t"<<tempF[i]<<"\t\t  "<<des<<endl;
	}
	out.close();
}


int main()
{
	float tempF[10];
	float tempC[10];
	float Average;
	char des;
	float sum=0;
	int low=0,high=0,medium=0;
	
	readFile(tempF,sum);
	computeC(tempF,tempC,sum);
	Average= average(sum);
	writeFile(tempF,tempC,sum);
	
	for(int i=0;i<10;i++)
		{
			des=grade(tempC[i],low,medium,high);
			
		}
	cout<<fixed<<setprecision(2);
	cout<<"Average of the temperature: "<<Average<<endl;
	cout<<"Number of high temperature: "<<high<<endl;
	cout <<"Number of medium temperature: "<<medium<<endl;
	cout<<"Number of low temperature: "<<low<<endl;
	
	return 0;
}
