C# 学生成绩管理程序:计算GPA并排序
下面是一个示例程序,可以用于设计学生成绩管理程序。它使用 C# 语言编写,实现了学生信息的输入、GPA 的计算和学生排序功能。\n\ncsharp\nusing System;\nusing System.Collections.Generic;\n\nnamespace StudentGradeManagement\n{\n class Student\n {\n public string StudentNumber { get; set; }\n public string Name { get; set; }\n public List<Course> Courses { get; set; }\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.GradePoint;\n }\n\n return totalGradePoints / totalCredits;\n }\n }\n\n class Course\n {\n public string CourseName { get; set; }\n public double Credits { get; set; }\n public double GradePoint { get; set; }\n }\n\n class Program\n {\n static void Main(string[] args)\n {\n List<Student> students = new List<Student>();\n\n Console.WriteLine("请输入学生信息:");\n Console.WriteLine("输入exit退出输入学生信息");\n\n while (true)\n {\n Console.WriteLine("请输入学生学号:");\n string studentNumber = Console.ReadLine();\n\n if (studentNumber == "exit")\n {\n break;\n }\n\n Console.WriteLine("请输入学生姓名:");\n string name = Console.ReadLine();\n\n Student student = new Student\n {\n StudentNumber = studentNumber,\n Name = name,\n Courses = new List<Course>()\n };\n\n Console.WriteLine("请输入学生课程信息:");\n Console.WriteLine("输入exit退出输入课程信息");\n\n while (true)\n {\n Console.WriteLine("请输入课程名称:");\n string courseName = Console.ReadLine();\n\n if (courseName == "exit")\n {\n break;\n }\n\n Console.WriteLine("请输入课程学分:");\n double credits = double.Parse(Console.ReadLine());\n\n Console.WriteLine("请输入课程成绩:");\n double gradePoint = double.Parse(Console.ReadLine());\n\n Course course = new Course\n {\n CourseName = courseName,\n Credits = credits,\n GradePoint = gradePoint\n };\n\n student.Courses.Add(course);\n }\n\n students.Add(student);\n }\n\n students.Sort((s1, s2) => s2.CalculateGPA().CompareTo(s1.CalculateGPA()));\n\n Console.WriteLine("按照GPA排序的学生信息:");\n foreach (var student in students)\n {\n Console.WriteLine("学号:{0},姓名:{1},GPA:{2}", student.StudentNumber, student.Name, student.CalculateGPA());\n }\n\n Console.ReadLine();\n }\n }\n}\n\n\n这个程序使用了Student和Course两个类来表示学生和课程。Student类包含学生的学号、姓名和课程列表,Course类包含课程的名称、学分和成绩。\n\n在Main方法中,首先创建一个空的学生列表students。然后通过一个循环,逐个输入学生的学号、姓名和课程信息。在内层循环中,逐个输入课程的名称、学分和成绩,并将课程添加到学生的课程列表中。当输入exit时,跳出内层循环,继续输入下一个学生的信息。当输入exit时,跳出外层循环,完成学生信息的输入。\n\n然后,使用Sort方法对学生列表进行排序,排序的依据是学生的GPA值。最后,按照排序结果打印学生的学号、姓名和GPA值。\n\n注意:这只是一个简单的示例程序,没有包含输入验证等完整的功能。在实际应用中,可能需要添加更多的错误处理和验证逻辑。
原文地址: http://www.cveoy.top/t/topic/pMub 著作权归作者所有。请勿转载和采集!