js作业案例_原创精品文档.pdf
js作业案例--第1页
JavaScript作业案例:学生成绩管理系统
背景
某个学校需要一个简单的学生成绩管理系统,用于记录和管理学生的考试成绩。该
系统需要实现以下功能:
1.添加学生信息:包括姓名、性别、年龄等。
2.添加考试成绩:包括科目名称和分数。
3.查询学生信息:根据姓名查询学生的基本信息和所有科目的成绩。
4.查询科目平均分:根据科目名称查询该科目所有学生的平均分。
5.查询总平均分:计算所有学生所有科目的平均分。
过程
1.添加学生信息
我们需要创建一个空的数组students来存储学生信息。通过一个函数addStudent
来添加学生信息。该函数接受学生对象作为参数,并将其添加到students数组中。
letstudents=[];
functionaddStudent(student){
students.push(student);
}
2.添加考试成绩
接下来,我们需要给每个学生添加考试成绩。我们可以通过一个函数addScore来
实现。该函数接受两个参数,一个是要添加成绩的学生姓名,另一个是考试成绩对
象。在函数内部,我们首先根据姓名找到对应的学生对象,然后将考试成绩添加到
该对象的scores属性中。
functionaddScore(name,score){
letstudent=students.find(student=student.name===name);
if(student){
student.scores.push(score);
}
}
3.查询学生信息
为了查询学生信息,我们可以通过一个函数getStudentInfo来实现。该函数接受
学生姓名作为参数,并返回该学生的基本信息和所有科目的成绩。
js作业案例--第1页
js作业案例--第2页
functiongetStudentInfo(name){
letstudent=students.find(student=student.name===name);
if(student){
return{
name:student.name,
gender:student.gender,
age:student.age,
scores:student.scores
};
}
}
4.查询科目平均分
要查询某个科目的平均分,我们可以通过一个函数getSubjectAverage来实现。该
函数接受科目名称作为参数,并遍历所有学生的成绩,计算该科目的平均分。
functiongetSubjectAverage(subject){
lettotal=0;
letcount=0;
students.forEach(student={
student.scores.forEach(score={
i