下面是一个用C#设计的学生成绩管理程序的示例,它可以输入学生信息和课程成绩,自动计算GPA并按GPA值从高到低排序:\n\ncsharp\nusing System;\nusing System.Collections.Generic;\nusing System.Linq;\n\nclass 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 (Course course in Courses)\n {\n if (course.Grade <= 59)\n totalGradePoints += 0;\n else if (course.Grade <= 69)\n totalGradePoints += 1.0 * course.Credits;\n else if (course.Grade <= 79)\n totalGradePoints += 2.0 * course.Credits;\n else if (course.Grade <= 89)\n totalGradePoints += 3.0 * course.Credits;\n else if (course.Grade <= 100)\n totalGradePoints += 4.0 * course.Credits;\n\n totalCredits += course.Credits;\n }\n\n return totalGradePoints / totalCredits;\n }\n}\n\nclass Course\n{\n public string Name { get; set; }\n public int Grade { get; set; }\n public double Credits { get; set; }\n}\n\nclass Program\n{\n static void Main(string[] args)\n {\n List<Student> students = new List<Student>();\n\n // 输入学生信息和课程成绩\n Console.WriteLine("请输入学生信息和课程成绩(输入exit退出):");\n while (true)\n {\n Console.Write("学号:");\n string studentNumber = Console.ReadLine();\n\n if (studentNumber == "exit")\n break;\n\n Console.Write("姓名:");\n string studentName = Console.ReadLine();\n\n Student student = new Student\n {\n StudentNumber = studentNumber,\n Name = studentName,\n Courses = new List<Course>()\n };\n\n while (true)\n {\n Console.Write("课程名:");\n string courseName = Console.ReadLine();\n\n if (courseName == "exit")\n break;\n\n Console.Write("成绩:");\n int grade = Convert.ToInt32(Console.ReadLine());\n\n Console.Write("学分:");\n double credits = Convert.ToDouble(Console.ReadLine());\n\n Course course = new Course\n {\n Name = courseName,\n Grade = grade,\n Credits = credits\n };\n\n student.Courses.Add(course);\n }\n\n students.Add(student);\n }\n\n // 按GPA排序\n students = students.OrderByDescending(s => s.CalculateGPA()).ToList();\n\n // 输出学生信息和GPA\n Console.WriteLine("学生信息和GPA:");\n foreach (Student student in students)\n {\n Console.WriteLine("学号:{0},姓名:{1},GPA:{2}", student.StudentNumber, student.Name, student.CalculateGPA());\n }\n }\n}\n\n\n该程序使用了Student类和Course类来存储学生和课程的信息。每个学生有一个学号、姓名和一个课程列表,每个课程有一个课程名、成绩和学分。程序首先让用户输入学生信息和课程成绩,然后按照GPA从高到低对学生进行排序,最后输出学生的信息和GPA。\n\n这个示例程序使用简单的条件语句计算GPA,您可以根据实际情况调整GPA计算逻辑。此外,还可以添加其他功能,例如:\n\n* 存储和读取学生信息到文件。\n* 查询特定学生的成绩。\n* 生成成绩单。\n\n希望这个示例程序能够帮助您理解如何使用C#设计学生成绩管理程序。


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

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