additional tetris

profilevazquez1012
cvazquez_mod10_03102017.zip

cvazquez_mod10_03102017.cpp

cvazquez_mod10_03102017.cpp

#include < iostream >
#include < list >
#include < algorithm >
#include < string >
using   namespace  std ;

struct   StudentInfo
{
     string name ;
      int  grade ;
    
    friend   bool   operator > ( StudentInfo &  student1 , StudentInfo &  student2 ){
    return  student1 . name > student2 . name ;
    }
    friend   bool   operator < ( StudentInfo &  student1 , StudentInfo &  student2 ){
    return  student1 . name < student2 . name ;
    }
};

void  populateStudentRecord ( list < StudentInfo >&   array ){
    StudentInfo   Student   =   { "Tyler" , 95 };
    array . push_back ( Student );
    Student . name  =   "Jaeda" ;   Student . grade  =   90 ;
    array . push_back ( Student );
    Student . name  =   "Junito" ;   Student . grade  =   98 ;
    array . push_back ( Student );
    Student . name  =   "Sal" ;   Student . grade  =   99 ;
    array . push_back ( Student );
    Student . name  =   "Cristina" ;   Student . grade  =   89 ;
    array . push_back ( Student );
}

int  main (){
list < StudentInfo >   array ;
populateStudentRecord ( array );

array . sort ();
//Calculate the max and min grades and the students average and show them.
list < StudentInfo >:: iterator it =   array . start ();
int  max  =   ( * it ). grade ;
int  min  =   ( * it ). grade ;
double  sum  =   0 ;
int  count  =   0 ;
for ( it = array . start ();  it != array . finish ();  it ++ ){
   cout  <<   ( * it ). name  <<   " - " << ( * it ). grade  <<  endl ;
    if (   ( * it ). grade  >  max  )  max  =   ( * it ). grade ;
    else   if (   ( * it ). grade  <  min  )  min  =   ( * it ). grade ;
   sum  +=   ( * it ). grade ;
   count ++ ;
}
cout  << "The maximum grade is "   <<  max  <<  endl ;
cout  << "The minimum grade is "   <<  min  <<  endl ;
cout  << "The average grade is "   <<   ( sum / count )   <<  endl ;
return   0 ;
}