additional tetris
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
;
}