C#利用面向对象的编程思想,去设计实现打印学生不同课程的成绩信息
时间: 2024-11-09 15:28:15 浏览: 16
在C#中,我们可以使用面向对象的设计原则来实现一个学生和课程成绩的信息管理系统。首先,我们创建两个基本的类:学生(Student)和课程(Course)。这里是一个简化的例子:
```csharp
public class Student
{
public string Name { get; set; }
private Dictionary<Course, double> grades; // 存储每个学生的成绩
public Student(string name)
{
Name = name;
grades = new Dictionary<Course, double>();
}
// 添加成绩方法
public void AddGrade(Course course, double grade)
{
if (grades.ContainsKey(course))
throw new ArgumentException("该学生已记录了此课程的成绩");
grades.Add(course, grade);
}
// 打印成绩方法
public void PrintGrades()
{
Console.WriteLine($"{Name}'s Grades:");
foreach (KeyValuePair<Course, double> grade in grades)
{
Console.WriteLine($"课程:{grade.Key.Name}, 成绩:{grade.Value}");
}
}
}
public class Course
{
public string Name { get; set; }
public int ID { get; set; }
public Course(string name, int id)
{
Name = name;
ID = id;
}
}
// 示例用法
public class Program
{
public static void Main()
{
var mathCourse = new Course("数学", 1);
var englishCourse = new Course("英语", 2);
var student = new Student("小明");
student.AddGrade(mathCourse, 90);
student.AddGrade(englishCourse, 85);
student.PrintGrades();
}
}
```
在这个设计中,`Student`类有姓名和一个成绩字典,用于存储每门课程的成绩。`AddGrade`方法用于添加成绩,`PrintGrades`方法则打印出所有课程及其对应的成绩。
`Course`类则定义了课程的基本属性,如名称和ID。
阅读全文