设计一个c#程序:定义一个描述学生基本情况的类,数据成员包括姓名、学号以及c++、英语和数学成绩,成员函数包括输出数据、设置姓名和学号、设置三门课的成绩,求出总成绩和平均成绩
时间: 2024-09-23 08:09:31 浏览: 60
在 C# 中设计一个描述学生基本情况的类,我们可以创建一个名为 `Student` 的类,如下所示:
```csharp
public class Student
{
// 数据成员(属性)
public string Name { get; set; } // 姓名
public int ID { get; set; } // 学号
private double[] SubjectScores = new double[3]; // 成绩数组,代表C++、英语和数学
// 构造函数
public Student(string name, int id)
{
Name = name;
ID = id;
}
// 设置成绩
public void SetSubjectScore(int subjectIndex, double score)
{
if (subjectIndex >= 0 && subjectIndex < 3)
{
SubjectScores[subjectIndex] = score;
}
else
{
throw new IndexOutOfRangeException("Subject index out of range.");
}
}
// 获取总成绩和平均成绩
public double CalculateTotalAndAverage()
{
double totalScore = SubjectScores.Sum();
double averageScore = totalScore / 3.0;
return totalScore, averageScore;
}
// 输出数据
public override string ToString()
{
return $"Name: {Name}, ID: {ID}, Scores: C++ - {SubjectScores[0]}, English - {SubjectScores[1]}, Math - {SubjectScores[2]}, Total: {CalculateTotalAndAverage()[0]}, Average: {CalculateTotalAndAverage()[1]}";
}
}
```
在这个类里,我们定义了数据成员 `Name` 和 `ID`,以及一个私有的成绩数组 `SubjectScores`。成员函数有:
- 构造函数用于初始化学生信息;
- `SetSubjectScore` 用于设置单科成绩,检查索引是否合法;
- `CalculateTotalAndAverage` 计算总分和平均分;
- `ToString` 方法用于返回学生的详细信息。
你可以像下面这样使用这个类:
```csharp
// 创建学生实例并操作
var student = new Student("张三", 12345);
student.SetSubjectScore(0, 90); // 设置C++成绩
student.SetSubjectScore(1, 85); // 设置英语成绩
student.SetSubjectScore(2, 95); // 设置数学成绩
Console.WriteLine(student.ToString()); // 输出学生信息
```
阅读全文