c++请帮助张老师把这些学生信息储存到一个string类型的向量 list 中,并输出学号序号为3和4的学生的名字 输出样例: Student A Student B
时间: 2024-10-24 12:19:02 浏览: 22
在C++中,你可以创建一个自定义的`Student`类来存储学生的姓名,然后将这些信息存储在一个`std::vector<std::string>`类型的list中。这里假设每个学生的信息是一个字符串,例如"Student Name"。首先,你需要定义`Student`类,然后编写函数来添加学生并提取特定学生的姓名。
```cpp
#include <iostream>
#include <vector>
#include <string>
// 定义Student类
class Student {
public:
std::string name;
int id;
// 构造函数
Student(int id, const std::string& name) : id(id), name(name) {}
};
// 函数来存储学生信息
void storeStudents(std::vector<std::string>& studentList, const std::vector<Student>& students) {
for (const auto& student : students) {
studentList.push_back("Student " + std::to_string(student.id) + " " + student.name);
}
}
// 函数来输出指定学号的学生名字
void printStudents(const std::vector<std::string>& studentList, int index1, int index2) {
if (index1 >= 0 && index1 < studentList.size() && index2 >= 0 && index2 < studentList.size()) {
std::cout << "Student " << index1 << ": " << studentList[index1] << std::endl;
std::cout << "Student " << index2 << ": " << studentList[index2] << std::endl;
} else {
std::cout << "Invalid index!" << std::endl;
}
}
int main() {
// 创建学生数据
std::vector<Student> students = {Student(1, "A"), Student(2, "B"), Student(3, "C"), Student(4, "D")};
// 存储学生信息到字符串列表
std::vector<std::string> studentNames;
storeStudents(studentNames, students);
// 输出第3和第4名学生的名字
printStudents(studentNames, 2, 3); // 注意索引是从0开始的
return 0;
}
```
在这个例子中,`storeStudents`函数用于添加学生信息,而`printStudents`函数则根据给定的学号索引打印对应的学生名字。注意在`printStudents`函数里,由于数组下标从0开始,所以输出学号序列为3和4的学生,我们需要传入索引值2和3。
阅读全文