以下是一个用 C# 设计的学生成绩管理程序的示例:\n\ncsharp\nusing System;\nusing System.Collections.Generic;\n\nnamespace StudentGradeManagement\n{\n class Student\n {\n public string StudentId { get; set; }\n public string Name { get; set; }\n public List<Course> Courses { get; set; }\n\n public Student(string studentId, string name)\n {\n StudentId = studentId;\n Name = name;\n Courses = new List<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 if (totalCredits == 0)\n {\n return 0;\n }\n\n return totalGradePoints / totalCredits;\n }\n }\n\n class Course\n {\n public string Name { get; set; }\n public double Credits { get; set; }\n public double Grade { get; set; }\n\n public Course(string name, double credits, double grade)\n {\n Name = name;\n Credits = credits;\n Grade = grade;\n }\n }\n\n class Program\n {\n static void Main(string[] args)\n {\n List<Student> students = new List<Student>();\n\n Console.WriteLine("请输入学生信息(输入 exit 结束输入):");\n while (true)\n {\n Console.Write("学号:");\n string studentId = Console.ReadLine();\n\n if (studentId == "exit")\n {\n break;\n }\n\n Console.Write("姓名:");\n string name = Console.ReadLine();\n\n Student student = new Student(studentId, name);\n\n Console.WriteLine("请输入学生的课程信息(输入 exit 结束输入):");\n while (true)\n {\n Console.Write("课程名:");\n string courseName = Console.ReadLine();\n\n if (courseName == "exit")\n {\n break;\n }\n\n Console.Write("学分:");\n double credits = Convert.ToDouble(Console.ReadLine());\n\n Console.Write("成绩:");\n double grade = Convert.ToDouble(Console.ReadLine());\n\n Course course = new Course(courseName, credits, grade);\n student.Courses.Add(course);\n }\n\n students.Add(student);\n }\n\n Console.WriteLine("\n学生成绩报告:");\n foreach (var student in students)\n {\n Console.WriteLine("学号:{0},姓名:{1},GPA:{2}", student.StudentId, student.Name, student.CalculateGPA());\n }\n\n students.Sort((s1, s2) => s2.CalculateGPA().CompareTo(s1.CalculateGPA()));\n\n Console.WriteLine("\n按 GPA 从高到低排序后的学生:");\n foreach (var student in students)\n {\n Console.WriteLine("学号:{0},姓名:{1},GPA:{2}", student.StudentId, student.Name, student.CalculateGPA());\n }\n\n Console.ReadLine();\n }\n }\n}\n\n\n在这个示例中,我们使用了 Student 类表示学生,包含学号、姓名和课程列表的属性。每个学生可以有多门课程,所以我们还定义了 Course 类表示课程,包含课程名、学分和成绩的属性。\n\n在 Main 方法中,我们首先接收用户输入的学生和课程信息,然后计算每个学生的 GPA,并将学生添加到 students 列表中。最后,我们根据学生的 GPA 值对 students 列表进行排序,并输出排序后的学生信息。\n\n请注意,这只是一个简单的示例,没有进行输入验证和错误处理。在实际应用中,你可能需要添加更多的代码来处理各种情况。

C# 学生成绩管理程序:计算 GPA 并排序

原文地址: http://www.cveoy.top/t/topic/pMuK 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录