C#学生成绩管理程序:计算GPA并按GPA排序
以下是使用C#设计的学生成绩管理程序,包括计算GPA和按GPA排序的功能:\n\ncsharp\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\npublic class Student\n{\n public string Name { get; set; }\n public List<Course> Courses { get; set; }\n\n public Student(string name)\n {\n Name = name;\n Courses = new List<Course>();\n }\n\n public void AddCourse(Course course)\n {\n Courses.Add(course);\n }\n\n public double CalculateGPA()\n {\n double totalCredits = 0;\n double totalGradePoints = 0;\n\n foreach (var course in Courses)\n {\n totalCredits += course.Credits;\n totalGradePoints += course.Credits * course.Grade;\n }\n\n return totalGradePoints / totalCredits;\n }\n}\n\npublic class Course\n{\n public string Name { get; set; }\n public int Credits { get; set; }\n public double Grade { get; set; }\n\n public Course(string name, int credits, double grade)\n {\n Name = name;\n Credits = credits;\n Grade = grade;\n }\n}\n\npublic class Program\n{\n public static void Main(string[] args)\n {\n List<Student> students = new List<Student>();\n\n // 添加学生及其选修的课程及成绩\n Student student1 = new Student("张三");\n student1.AddCourse(new Course("数学", 3, 85));\n student1.AddCourse(new Course("英语", 4, 92));\n student1.AddCourse(new Course("物理", 3, 78));\n students.Add(student1);\n\n Student student2 = new Student("李四");\n student2.AddCourse(new Course("数学", 3, 90));\n student2.AddCourse(new Course("英语", 4, 88));\n student2.AddCourse(new Course("物理", 3, 95));\n students.Add(student2);\n\n // 计算每个学生的GPA\n foreach (var student in students)\n {\n double gpa = student.CalculateGPA();\n Console.WriteLine($"{student.Name} 的GPA为:{gpa}");\n }\n\n // 按GPA排序学生\n var sortedStudents = students.OrderByDescending(s => s.CalculateGPA()).ToList();\n\n Console.WriteLine("\n按GPA排序的学生列表:");\n foreach (var student in sortedStudents)\n {\n Console.WriteLine($"{student.Name} 的GPA为:{student.CalculateGPA()}");\n }\n }\n}\n\n\n在上面的程序中,我们定义了两个类Student和Course,Student类表示学生,包含学生的姓名和选修的课程列表;Course类表示课程,包含课程的名称、学分和成绩。\n\n在Student类中,我们实现了AddCourse()方法用于添加学生的选修课程,以及CalculateGPA()方法用于计算学生的GPA。GPA的计算公式为每门课程的学分乘以该门课程的成绩,然后将所有课程的学分和成绩乘积相加,再除以总学分数。\n\n在Program类中,我们创建了两个学生对象,并为每个学生添加选修的课程及成绩。然后通过调用CalculateGPA()方法计算每个学生的GPA,并输出结果。\n\n最后,我们使用LINQ中的OrderByDescending()方法对学生列表进行排序,按照GPA的值从高到低排序,并输出排序后的学生列表及其对应的GPA值。
原文地址: http://www.cveoy.top/t/topic/pMtI 著作权归作者所有。请勿转载和采集!