设计一个简单的学生成绩管理系统,之后参对成绩表进行如下操作: (1)建立学生成绩信息结构数组(从student.txt读入数据) (2)显示。即输出出所有成绩。
时间: 2023-12-19 12:07:31 浏览: 56
好的,我可以为您介绍一下设计学生成绩管理系统的思路。
首先,您需要定义一个学生信息结构体,用于存储每个学生的姓名、学号和成绩等信息。例如:
```c++
struct Student {
string name;
string id;
float score;
};
```
接下来,您需要从文件中读入学生信息,可以使用文件流实现。假设您的学生信息存储在一个名为"student.txt"的文本文件中,每行包含一个学生的信息,格式为"姓名 学号 成绩",例如:
```
张三 20180101 90.5
李四 20180102 85.5
王五 20180103 78.0
```
您可以使用如下代码读取这个文件,并将每个学生的信息存储到一个结构体数组中:
```c++
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
struct Student {
string name;
string id;
float score;
};
vector<Student> loadStudents(const string& filename) {
vector<Student> students;
ifstream infile(filename);
if (!infile) {
cerr << "Error: can't open file " << filename << endl;
return students;
}
string name, id;
float score;
while (infile >> name >> id >> score) {
students.push_back({name, id, score});
}
infile.close();
return students;
}
```
接下来,您需要实现一个函数来输出所有学生的成绩信息。例如:
```c++
void printStudents(const vector<Student>& students) {
cout << "姓名\t学号\t成绩" << endl;
for (const auto& student : students) {
cout << student.name << '\t' << student.id << '\t' << student.score << endl;
}
}
```
最后,您需要在主函数中调用这两个函数来完成对成绩表的操作:
```c++
int main() {
auto students = loadStudents("student.txt");
printStudents(students);
return 0;
}
```
这样就可以读入学生信息,并输出所有学生的成绩了。
阅读全文