建立一个students类,具有学号、姓名、性别、专业、年级等数据成员,具有构造函数、display()显示信息函数等。 使用map,存储多个学生的信息,语法为 map<int,students,> stu,使用的key为学号。 提示输入学号,在map中找到该学号对应的student对象,并调用display()函数显示该学生的信息。 项目或源程序保存为Lab14_3。
时间: 2024-03-20 13:39:18 浏览: 18
很好,下面是完整的源代码,可以直接拷贝粘贴到Lab14_3.cpp中进行编译运行:
```cpp
#include <iostream>
#include <string>
#include <map>
using namespace std;
class students {
private:
int stu_id;
string name;
string gender;
string major;
int grade;
public:
students(int id, string n, string g, string m, int gr) {
stu_id = id;
name = n;
gender = g;
major = m;
grade = gr;
}
void display() {
cout << "学号: " << stu_id << endl;
cout << "姓名: " << name << endl;
cout << "性别: " << gender << endl;
cout << "专业: " << major << endl;
cout << "年级: " << grade << endl;
}
};
int main() {
// 创建一个map来存储学生信息
map<int, students> stu;
// 添加学生信息
students stu1(1, "小明", "男", "计算机科学", 3);
stu.insert(pair<int, students>(1, stu1));
students stu2(2, "小红", "女", "物理学", 2);
stu.insert(pair<int, students>(2, stu2));
students stu3(3, "小刚", "男", "化学工程", 4);
stu.insert(pair<int, students>(3, stu3));
students stu4(4, "小美", "女", "英语", 1);
stu.insert(pair<int, students>(4, stu4));
// 提示输入学号
int id;
cout << "请输入学号: ";
cin >> id;
// 查找学生信息
map<int, students>::iterator it = stu.find(id);
if (it != stu.end()) {
// 学生信息存在,显示学生信息
students s = it->second;
s.display();
} else {
// 学生信息不存在
cout << "没有找到学号为" << id << "的学生信息!" << endl;
}
return 0;
}
```
这个学生信息管理系统可以让用户输入学号,然后在map中查找该学号对应的学生信息,并调用display()函数显示该学生的信息。