jkd
This commit is contained in:
1 parent
dc7455f1c4
commit
aedd00ef47
1 file changed
+56
@@ -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{
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user