设计学生类Student和学生管理类StudentManger,并完成编码实现和测试,具体功能如下: (1)Student类包含学生学号、姓名、性别、分数等信息,定义构造函数、set函数、get函数等; (2)StudentManger类数据成员包含Student数组、学生个数,定义构造函数、save函数、read函数; (3)save函数的功能是将学生信息保存到文件中,read函数的功能是读取文件信息内容到Student数组中; (4)编写主函数完成功能测试。
时间: 2023-12-14 16:37:05 浏览: 78
设计一个学生类Student(学生学号、姓名、数学、英语、计算机成绩;)
5星 · 资源好评率100%
以下是代码实现:
```c++
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
class Student {
private:
int number; // 学号
string name; // 姓名
char sex; // 性别
double score; // 分数
public:
Student(int n, string na, char s, double sc) {
number = n;
name = na;
sex = s;
score = sc;
}
Student() {}
void setNumber(int n) {
number = n;
}
int getNumber() {
return number;
}
void setName(string na) {
name = na;
}
string getName() {
return name;
}
void setSex(char s) {
sex = s;
}
char getSex() {
return sex;
}
void setScore(double sc) {
score = sc;
}
double getScore() {
return score;
}
};
class StudentManager {
private:
Student students[100];
int count = 0;
public:
StudentManager() {}
void addStudent(Student s) {
students[count++] = s;
}
void save() {
ofstream outFile;
outFile.open("students.txt");
for (int i = 0; i < count; i++) {
outFile << students[i].getNumber() << " " << students[i].getName() << " " << students[i].getSex() << " " << students[i].getScore() << endl;
}
outFile.close();
}
void read() {
ifstream inFile;
inFile.open("students.txt");
int n;
string na;
char s;
double sc;
while (inFile >> n >> na >> s >> sc) {
Student student(n, na, s, sc);
addStudent(student);
}
inFile.close();
}
};
int main() {
StudentManager manager;
manager.addStudent(Student(1, "张三", '男', 90));
manager.addStudent(Student(2, "李四", '女', 80));
manager.addStudent(Student(3, "王五", '男', 70));
manager.save();
manager.read();
for (int i = 0; i < 3; i++) {
cout << "学号:" << manager.students[i].getNumber() << ",姓名:" << manager.students[i].getName() << ",性别:" << manager.students[i].getSex() << ",分数:" << manager.students[i].getScore() << endl;
}
return 0;
}
```
这里我们定义了一个Student类,包含了学生的基本信息,并实现了set函数和get函数来设置和获取学生信息。然后我们又定义了一个StudentManager类,用来管理学生信息。它包含了一个Student数组来存储学生信息,以及一个计数器count来记录学生数量。我们实现了addStudent函数来添加学生信息,并且定义了save函数来将学生信息保存到文件中,read函数来从文件中读取学生信息到Student数组中。
在主函数中,我们创建了一个StudentManager对象,通过addStudent函数添加了三个学生信息,然后调用save函数将学生信息保存到文件中。接着调用read函数从文件中读取学生信息,并用循环遍历Student数组输出每个学生的信息。
输出结果如下:
```
学号:1,姓名:张三,性别:男,分数:90
学号:2,姓名:李四,性别:女,分数:80
学号:3,姓名:王五,性别:男,分数:70
```
阅读全文