From 6e7041edcd10a8dd4cad58a3765ef9f9cb4db3d4 Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Sat, 7 Sep 2019 16:46:46 -0400 Subject: [PATCH] [+] Create method to calculate GP for a course --- src/utils/gpa-utils.ts | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/src/utils/gpa-utils.ts b/src/utils/gpa-utils.ts index ed5bd77..0ebeb3c 100644 --- a/src/utils/gpa-utils.ts +++ b/src/utils/gpa-utils.ts @@ -31,7 +31,7 @@ export class GPAUtils * * @param coursesOriginal List of courses */ - public static gpa(coursesOriginal: Course[]): {gpa: number, accurate: boolean} + public static getGPA(coursesOriginal: Course[]): {gpa: number, accurate: boolean} { // Clone array let courses: Course[] = []; @@ -84,4 +84,29 @@ export class GPAUtils // Get average GPA return {gpa: totalGPA / courses.length, accurate: accurate}; } + + /** + * Calculate GPA for a course + * + * @param course Course + */ + public static getGP(course: Course) + { + // Find the GPA for this course. + return this.SCALE.forEach(scale => + { + // Letter grades are the same + if (scale[this.LETTER] == course.letterGrade) + { + // Get grade and add it + let grade = scale[this.GPA]; + + // Add scaleUp if not failed. + if (grade != 0) grade += course.scaleUp; + + // That's it + return grade; + } + }) + } }