用C#设计学生成绩管理程序。根据学生选修的课程及课程学分和课程成绩计算GPA最后按GPA的值对学生进行排序。GPA英语全称是Grade Point Average意思就是平均成绩点数GPA的计算一般是将每门课程的绩点乘以学分加起来以后除以总的学分得出平均分。
下面是一个示例的C#学生成绩管理程序,根据学生选修的课程及课程学分和课程成绩计算GPA,并按GPA值对学生进行排序:
using System;
using System.Collections.Generic;
public class Student
{
public string Name { get; set; }
public List<Course> Courses { get; set; }
public double CalculateGPA()
{
double totalCredits = 0;
double totalGradePoints = 0;
foreach (Course course in Courses)
{
totalCredits += course.Credits;
totalGradePoints += course.GradePoints * course.Credits;
}
return totalGradePoints / totalCredits;
}
}
public class Course
{
public string Name { get; set; }
public double Credits { get; set; }
public double GradePoints { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
List<Student> students = new List<Student>();
// 添加学生和他们的课程及成绩信息
Student student1 = new Student
{
Name = "张三",
Courses = new List<Course>
{
new Course { Name = "数学", Credits = 3, GradePoints = 4 },
new Course { Name = "英语", Credits = 2, GradePoints = 3.5 },
new Course { Name = "物理", Credits = 4, GradePoints = 3 },
}
};
Student student2 = new Student
{
Name = "李四",
Courses = new List<Course>
{
new Course { Name = "数学", Credits = 4, GradePoints = 3.5 },
new Course { Name = "英语", Credits = 3, GradePoints = 4 },
new Course { Name = "物理", Credits = 2, GradePoints = 3 },
}
};
students.Add(student1);
students.Add(student2);
// 根据GPA值对学生进行排序
students.Sort((s1, s2) => s2.CalculateGPA().CompareTo(s1.CalculateGPA()));
// 打印排序后的学生信息
foreach (Student student in students)
{
Console.WriteLine(student.Name + " 的GPA为:" + student.CalculateGPA());
}
}
}
这个程序中,我们创建了一个Student类来表示学生,其中包含学生的姓名和选修的课程列表。每个课程由Course类表示,其中包含课程名称、学分和绩点。在Student类中,我们定义了一个CalculateGPA方法来计算学生的GPA,该方法遍历学生的课程列表,累加每门课程的学分和绩点乘积,并将其除以总学分数得到平均分。
在Program类中,我们创建了两个学生对象,并为他们添加了选修的课程及成绩信息。然后,我们将学生对象添加到一个列表中,并使用Sort方法对列表中的学生对象进行排序,排序的依据是学生的GPA值。最后,我们使用循环打印排序后的学生信息,包括姓名和对应的GPA值
原文地址: https://www.cveoy.top/t/topic/h3yc 著作权归作者所有。请勿转载和采集!