下面是一个示例程序,可以用于设计学生成绩管理程序。它使用C#语言编写,实现了学生信息的输入、GPA的计算和学生排序功能。

using System;
using System.Collections.Generic;

namespace StudentGradeManagement
{
    class Student
    {
        public string StudentNumber { get; set; }
        public string Name { get; set; }
        public List<Course> Courses { get; set; }

        public double CalculateGPA()
        {
            double totalCredits = 0;
            double totalGradePoints = 0;

            foreach (var course in Courses)
            {
                totalCredits += course.Credits;
                totalGradePoints += course.Credits * course.GradePoint;
            }

            return totalGradePoints / totalCredits;
        }
    }

    class Course
    {
        public string CourseName { get; set; }
        public double Credits { get; set; }
        public double GradePoint { get; set; }
    }

    class Program
    {
        static void Main(string[] args)
        {
            List<Student> students = new List<Student>();

            Console.WriteLine("请输入学生信息:");
            Console.WriteLine("输入exit退出输入学生信息");

            while (true)
            {
                Console.WriteLine("请输入学生学号:");
                string studentNumber = Console.ReadLine();

                if (studentNumber == "exit")
                {
                    break;
                }

                Console.WriteLine("请输入学生姓名:");
                string name = Console.ReadLine();

                Student student = new Student
                {
                    StudentNumber = studentNumber,
                    Name = name,
                    Courses = new List<Course>()
                };

                Console.WriteLine("请输入学生课程信息:");
                Console.WriteLine("输入exit退出输入课程信息");

                while (true)
                {
                    Console.WriteLine("请输入课程名称:");
                    string courseName = Console.ReadLine();

                    if (courseName == "exit")
                    {
                        break;
                    }

                    Console.WriteLine("请输入课程学分:");
                    double credits = double.Parse(Console.ReadLine());

                    Console.WriteLine("请输入课程成绩:");
                    double gradePoint = double.Parse(Console.ReadLine());

                    Course course = new Course
                    {
                        CourseName = courseName,
                        Credits = credits,
                        GradePoint = gradePoint
                    };

                    student.Courses.Add(course);
                }

                students.Add(student);
            }

            students.Sort((s1, s2) => s2.CalculateGPA().CompareTo(s1.CalculateGPA()));

            Console.WriteLine("按照GPA排序的学生信息:");
            foreach (var student in students)
            {
                Console.WriteLine("学号:{0},姓名:{1},GPA:{2}", student.StudentNumber, student.Name, student.CalculateGPA());
            }

            Console.ReadLine();
        }
    }
}

这个程序使用了StudentCourse两个类来表示学生和课程。Student类包含学生的学号、姓名和课程列表,Course类包含课程的名称、学分和成绩。

Main方法中,首先创建一个空的学生列表students。然后通过一个循环,逐个输入学生的学号、姓名和课程信息。在内层循环中,逐个输入课程的名称、学分和成绩,并将课程添加到学生的课程列表中。当输入exit时,跳出内层循环,继续输入下一个学生的信息。当输入exit时,跳出外层循环,完成学生信息的输入。

然后,使用Sort方法对学生列表进行排序,排序的依据是学生的GPA值。最后,按照排序结果打印学生的学号、姓名和GPA值。

注意:这只是一个简单的示例程序,没有包含输入验证等完整的功能。在实际应用中,可能需要添加更多的错误处理和验证逻辑

用C#设计学生成绩管理程序。自己输入学生学号、姓名、课程名根据学生的课程及课程学分和课程成绩计算GPA最后按GPA的值对学生进行排序。

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

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