From aedd00ef47f90c5137facb973056d3a3c1804f9e Mon Sep 17 00:00:00 2001 From: didier amyot Date: Wed, 20 Sep 2023 16:31:05 -0400 Subject: [PATCH] jkd --- src/bigGrades.ts | 56 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/bigGrades.ts diff --git a/src/bigGrades.ts b/src/bigGrades.ts new file mode 100644 index 0000000..d91a3b5 --- /dev/null +++ b/src/bigGrades.ts @@ -0,0 +1,56 @@ +import rawData from "https://didier-ahuntsic.gitlab.io/cours-420-317-ah/data/grades.json" assert {type: "json"}; + + +type Grade = { + studentId: number, + examId: number, + grade: number +}; + +type Student = {name: string, studentId: number}; + +type Exam = { + examId: number, + maxGrade: number, + weight: number, + name: string, +}; + +type RawData = { + exams: Exam[], + grades: Grade[] + students: Student[]}; + +type Mark = { + grade: number, + maxGrade: number, + weight: number +}; + +type StudentReportCard = { + studentId: number, + studentName: string, + marks: Mark[] +}; + +function computeFinalGrade(reportCard: StudentReportCard): number{ + let finalGrade = 0; + for(let mark of reportCard.marks){ + finalGrade += (mark.grade / mark.maxGrade) * mark.weight / 100 + } + return finalGrade; +} + +function transformData(rawData: RawData): StudentReportCard[]{ + +} + + + +function main(_rawData: RawData): void{ + + +} + + +