5、设计一个表示学习成绩的类,至少包括三门课程的成绩,可以设置、显示每: 门课程的成绩,可以计算、显示平均成绩。 提示:设计成绩类的类名为Grade,成绩类的数据成员,应该包括学生的学号和姓名,假设有3门课,分别为C++程序设计语言,用整型变量Cpp表示;计算机原理,用整型变量Computer表示数据库,用整型变量DataBase表示。平均成绩用实型变量Average表示。 为了Grade类数据的安全,数据成员全部为私有,对成绩类的属性数据用一- 些函数进行设置和修改,PutNo为设置和修改学号,PutName为设置和修改姓名, PutCpp为设置和修改C++程序设计语言的成绩,PutCom为设置和修改计算机原 理的成绩,PutData为设置和修改数据库的成绩,还有一个同时设置所有5个参 数的函数SetGrade,它们都设置为公有函数。计算平均成绩的函数为Calc,设计 函数Display输出成绩。GetCom为读取计算机原理的成绩,GetData为读取数据库的成绩,设计读取平均成绩的函数为GetAve。计算平均成绩只是在类的内部实现,所以设计为私有函数,其他函数都设计为公有函数。
时间: 2024-02-01 07:14:15 浏览: 63
以下是Grade类的实现:
```cpp
#include <iostream>
using namespace std;
class Grade {
private:
string studentNo; // 学号
string studentName; // 姓名
int Cpp; // C++程序设计语言成绩
int Computer; // 计算机原理成绩
int DataBase; // 数据库成绩
float Average; // 平均成绩
void Calc() {
Average = (Cpp + Computer + DataBase) / 3.0;
}
public:
void PutNo(string no) {
studentNo = no;
}
void PutName(string name) {
studentName = name;
}
void PutCpp(int score) {
Cpp = score;
Calc();
}
void PutCom(int score) {
Computer = score;
Calc();
}
void PutData(int score) {
DataBase = score;
Calc();
}
void SetGrade(string no, string name, int cpp, int com, int data) {
PutNo(no);
PutName(name);
PutCpp(cpp);
PutCom(com);
PutData(data);
}
int GetCom() {
return Computer;
}
int GetData() {
return DataBase;
}
float GetAve() {
return Average;
}
void Display() {
cout << "学号:" << studentNo << endl;
cout << "姓名:" << studentName << endl;
cout << "C++程序设计语言成绩:" << Cpp << endl;
cout << "计算机原理成绩:" << Computer << endl;
cout << "数据库成绩:" << DataBase << endl;
cout << "平均成绩:" << Average << endl;
}
};
```
使用示例:
```cpp
int main() {
Grade g;
g.SetGrade("20210001", "张三", 80, 90, 85);
g.Display();
cout << "计算机原理成绩:" << g.GetCom() << endl;
cout << "数据库成绩:" << g.GetData() << endl;
cout << "平均成绩:" << g.GetAve() << endl;
return 0;
}
```
输出:
```
学号:20210001
姓名:张三
C++程序设计语言成绩:80
计算机原理成绩:90
数据库成绩:85
平均成绩:85
计算机原理成绩:90
数据库成绩:85
平均成绩:85
```
阅读全文