All pastes #42585 Raw Edit

copy

public cpp v1 · immutable
#42585 ·published 2006-02-21 05:43 UTC
rendered paste body
#include <iostream>#include <fstream>#include <string>#include <iomanip>using namespace std;int TABLE(ofstream &fout,string L_Name,string F_Name,int grade_sum,float average,int lowest_grade,int next_lowest_grade); int main(){	ifstream fin;    			 //Input file stream	ofstream fout;    			 //Output file stream	fin.open("grades.txt");        	 //Open input file	fout.open("averages.txt");     	 //Open output file	float average;	float highest_ave=-999;	float lowest_ave=999;	int i;	int grade;	int grade_sum;	int num_of_grade;	int lowest_grade;	int next_lowest_grade;	string L_Name;	string F_Name;	string HighL_Name;	string HighF_Name;	string LowF_Name;	string LowL_Name;	fout<<"GRADE REPORT"<<endl;	fout<<"============"<<endl<<endl;	fout<<setw(27)<<"Grade Sum"<<setw(13)<<"Average"<<setw(18)	    <<"Lowest-Grade"<<setw(21)<<"Next Lowest Grade"<<endl;	while (fin>>F_Name>>L_Name>>num_of_grade>>grade)	{		grade_sum = grade;		lowest_grade= grade;		next_lowest_grade= grade;		for ( i=1; i < num_of_grade; i++)		{			fin>>grade;			if (grade <= lowest_grade)				lowest_grade=grade;			else				if (grade <= next_lowest_grade)					next_lowest_grade=grade;			grade_sum += grade;		}		grade_sum=grade_sum - lowest_grade - next_lowest_grade;		average=grade_sum/float(num_of_grade-2);		if (average < lowest_ave)		{			lowest_ave=average;			LowF_Name=F_Name;			LowL_Name=L_Name;		}			if (average > highest_ave)		{			highest_ave=average;			HighF_Name=F_Name;			HighL_Name=L_Name;		}		TABLE(fout,L_Name,F_Name,grade_sum,average,lowest_grade,next_lowest_grade);	}	fout<<"Highest Average: "<<HighF_Name<<" "<<HighL_Name<<" ("<<highest_ave<<")"<<endl;	fout<<"Lowest Average: "<<LowF_Name<<" "<<LowL_Name<<" ("<<setprecision (2)<<lowest_ave<<")"<<endl<<endl;	fout<<"                       *******END OF REPORT********"<<endl<<endl;	return 0;}int TABLE(ofstream &fout,string L_Name,string F_Name,int grade_sum,float average,int lowest_grade,int next_lowest_grade){	fout<<F_Name[0]<<". "<<setw(15)<<L_Name<<setw(6)<<"             "<<grade_sum<<setw(12)<<setprecision (2)<<average<<setw(15)<<lowest_grade<<setw(18)<<next_lowest_grade<<endl<<endl;return 0;}