blob: 0a08217841dd193d677d75418dfe5709eb9fd644 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <vector>
#include "student_info.h"
#include "median.h"
#include "grade.h"
double grade(double midterm, double final, double homework)
{
return (midterm * 0.2 +
final * 0.4 +
homework * 0.4);
}
/* Overloads above grade() */
double grade(double midterm, double final, const std::vector<double>& hw)
{
if (hw.size() == 0)
throw std::domain_error("Student has no homework");
return grade(midterm, final, median(hw));
}
double grade(const StudentInfo& s)
{
return grade(s.midterm, s.final, s.homework);
}
|