#include #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& 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); }