//################################################### //Justin //Grade Report Program //COP 3014 //DUE:2/21/06 //################################################### /* Function Headers */ #include #include #include #include using namespace std; void print_report(ofstream &fout,string L_Name,string F_Name,int grade_sum,float average,int lowest_grade,int next_lowest_grade); float average, highest_ave=-999, lowest_ave=999; int i, grade, grade_sum, num_of_grade, lowest_grade, next_lowest_grade; string L_Name, F_Name, HighL_Name, HighF_Name, LowF_Name, LowL_Name; int main() { ifstream fin; //Input file stream ofstream fout; //Output file stream fin.open("grades.txt"); //Open input file "grade_data.dat" fout.open("report.txt"); //Open output file "grade_report.out" float average, highest_ave=-999, lowest_ave=999; int i, grade, grade_sum, num_of_grade, lowest_grade, next_lowest_grade; string L_Name, F_name, HighL_Name, HighF_Name, LowF_Name, LowL_Name; fout<<"\t\t\tGRADE REPORT"<>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; } print_report(fout,L_Name,F_Name,grade_sum,average,lowest_grade,next_lowest_grade); } fout<<"Highest Average: "<