用C#设计学生成绩管理程序。自己输入学生学号、姓名、课程名根据学生的课程及课程学分和课程成绩计算GPA最后按GPA的值对学生进行排序。
下面是一个示例程序,可以用于设计学生成绩管理程序。它使用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();
}
}
}
这个程序使用了Student和Course两个类来表示学生和课程。Student类包含学生的学号、姓名和课程列表,Course类包含课程的名称、学分和成绩。
在Main方法中,首先创建一个空的学生列表students。然后通过一个循环,逐个输入学生的学号、姓名和课程信息。在内层循环中,逐个输入课程的名称、学分和成绩,并将课程添加到学生的课程列表中。当输入exit时,跳出内层循环,继续输入下一个学生的信息。当输入exit时,跳出外层循环,完成学生信息的输入。
然后,使用Sort方法对学生列表进行排序,排序的依据是学生的GPA值。最后,按照排序结果打印学生的学号、姓名和GPA值。
注意:这只是一个简单的示例程序,没有包含输入验证等完整的功能。在实际应用中,可能需要添加更多的错误处理和验证逻辑
原文地址: https://www.cveoy.top/t/topic/h3yI 著作权归作者所有。请勿转载和采集!