用C++编写程序设计学生类Student和学生管理类StudentManger,并完成编码实现和测试,具体功能如下: (1)Student类包含学生学号、姓名、性别、分数等信息,定义构造函数、set函数、get函数等; (2)StudentManger类数据成员包含Student数组、学生个数,定义构造函数、save函数、read函数; (3)save函数的功能是将学生信息保存到文件中,read函数的功能是读取文件信息内容到Student数组中; (4)编写主函数完成功能测试。
时间: 2023-12-14 22:36:58 浏览: 20
以下是C++代码实现:
```cpp
#include <iostream>
#include <fstream>
using namespace std;
class Student {
private:
string id;
string name;
string gender;
double score;
public:
Student() {}
Student(string id, string name, string gender, double score) {
this->id = id;
this->name = name;
this->gender = gender;
this->score = score;
}
void setId(string id) {
this->id = id;
}
void setName(string name) {
this->name = name;
}
void setGender(string gender) {
this->gender = gender;
}
void setScore(double score) {
this->score = score;
}
string getId() {
return id;
}
string getName() {
return name;
}
string getGender() {
return gender;
}
double getScore() {
return score;
}
};
class StudentManager {
private:
Student *students;
int count;
public:
StudentManager() {}
StudentManager(int count) {
this->count = count;
students = new Student[count];
}
~StudentManager() {
delete[] students;
}
void save(string filename) {
ofstream ofs(filename);
for (int i = 0; i < count; i++) {
ofs << students[i].getId() << " "
<< students[i].getName() << " "
<< students[i].getGender() << " "
<< students[i].getScore() << endl;
}
ofs.close();
}
void read(string filename) {
ifstream ifs(filename);
string id, name, gender, scoreStr;
double score;
for (int i = 0; i < count; i++) {
ifs >> id >> name >> gender >> scoreStr;
score = atof(scoreStr.c_str());
students[i] = Student(id, name, gender, score);
}
ifs.close();
}
};
int main() {
StudentManager manager(3);
manager.read("students.txt");
for (int i = 0; i < 3; i++) {
cout << manager[i].getId() << " "
<< manager[i].getName() << " "
<< manager[i].getGender() << " "
<< manager[i].getScore() << endl;
}
manager.save("students_copy.txt");
return 0;
}
```
在代码中,我们定义了两个类:Student和StudentManager。Student类存储一个学生的学号、姓名、性别、分数等信息,并定义了构造函数、set函数和get函数。StudentManager类包含一个Student数组和学生个数,定义了构造函数、save函数和read函数。save函数的功能是将学生信息保存到文件中,read函数的功能是从文件中读取学生信息到Student数组中。在主函数中,我们创建一个StudentManager对象,读取文件中的学生信息并输出,然后将学生信息保存到另一个文件中。