使用 C# 设计一个学生成绩管理程序,该程序可以输入多个学生信息,包括学号、姓名、课程名、课程学分和课程成绩。程序会根据学生的课程成绩计算 GPA,并按 GPA 从高到低对学生进行排序。

GPA 的计算规则如下:


 if (CourseArray[i].Grade <= 59)

                    GPA = 0;

                if (CourseArray[i].Grade <= 69 && CourseArray[i].Grade >= 60)

                    GPA = 1.0;

                if (CourseArray[i].Grade <= 79 && CourseArray[i].Grade >= 70)

                    GPA = 2.0;

                if (CourseArray[i].Grade <= 89 && CourseArray[i].Grade >= 80)

                    GPA = 3.0;

                if (CourseArray[i].Grade <= 100 && CourseArray[i].Grade >= 90)

                    GPA = 4.0;

分析:

  1. 该程序需要设计一个学生类,包含学号、姓名、课程名、课程学分和课程成绩等属性。

  2. 用户可以通过输入多个学生的信息来创建学生对象,并将这些学生对象存储在一个学生数组中。

  3. 然后,需要根据学生的课程成绩计算 GPA。根据给出的条件,可以使用一系列的 if 语句来判断成绩所对应的 GPA 值。

  4. 计算完每个学生的 GPA 后,可以使用某种排序算法(如冒泡排序或快速排序)对学生数组按照 GPA 值进行排序。

  5. 最后,将排序后的学生数组输出,即可得到按 GPA 值从高到低排序的学生信息。

代码示例:

using System;
using System.Collections.Generic;

class Student
{
    public string StudentNumber { get; set; }
    public string Name { get; set; }
    public string CourseName { get; set; }
    public int CourseCredit { get; set; }
    public int Grade { get; set; }
    public double GPA { get; set; }
}

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

        // 输入学生信息
        Console.WriteLine('请输入学生信息(输入exit退出):');
        string input;
        while ((input = Console.ReadLine()) != 'exit')
        {
            string[] info = input.Split(' ');
            Student student = new Student
            {
                StudentNumber = info[0],
                Name = info[1],
                CourseName = info[2],
                CourseCredit = int.Parse(info[3]),
                Grade = int.Parse(info[4])
            };
            studentList.Add(student);
        }

        // 计算 GPA 并排序
        foreach (Student student in studentList)
        {
            if (student.Grade <= 59)
                student.GPA = 0;
            else if (student.Grade <= 69)
                student.GPA = 1.0;
            else if (student.Grade <= 79)
                student.GPA = 2.0;
            else if (student.Grade <= 89)
                student.GPA = 3.0;
            else
                student.GPA = 4.0;
        }
        studentList.Sort((s1, s2) => s2.GPA.CompareTo(s1.GPA));

        // 输出排序结果
        Console.WriteLine('按 GPA 值从高到低排序的学生信息:');
        foreach (Student student in studentList)
        {
            Console.WriteLine($'{student.StudentNumber} {student.Name} {student.CourseName} {student.GPA}');
        }
    }
}

以上代码实现了一个简单的学生成绩管理程序,通过输入学生信息,计算 GPA 并按 GPA 值从高到低排序输出。你可以根据实际需求进行修改和完善。

C# 学生成绩管理系统:GPA计算和排序 - 代码示例

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

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