假设你是一位工程师,请用c++写一段代码,要求如下:建立一个students类,具有学号、姓名、性别、专业、年级等数据成员,具有构造函数、display()显示信息函数等。 使用map,存储多个学生的信息,语法为 map<int,students,> stu,使用的key为学号。 提示输入学号,在map中找到该学号对应的student对象,并调用display()函数显示该学生的信息。
时间: 2024-03-10 13:48:16 浏览: 50
好的,以下是符合要求的 C++ 代码:
```c++
#include <iostream>
#include <string>
#include <map>
using namespace std;
class students {
public:
int number;
string name;
string gender;
string major;
int grade;
// 构造函数
students(int n, string nm, string gd, string mj, int gr) :
number(n), name(nm), gender(gd), major(mj), grade(gr) {}
// 显示信息函数
void display() {
cout << "学号:" << number << endl;
cout << "姓名:" << name << endl;
cout << "性别:" << gender << endl;
cout << "专业:" << major << endl;
cout << "年级:" << grade << endl;
}
};
int main() {
// 建立 map,使用学号作为 key,students 对象作为 value
map<int,students> stu;
// 添加多个学生信息
students s1(1001, "张三", "男", "计算机", 1);
students s2(1002, "李四", "女", "数学", 2);
students s3(1003, "王五", "男", "物理", 3);
stu[s1.number] = s1;
stu[s2.number] = s2;
stu[s3.number] = s3;
// 提示输入学号
int input_number;
cout << "请输入学号:";
cin >> input_number;
// 在 map 中查找该学号对应的学生信息,并调用 display 函数显示
if (stu.find(input_number) != stu.end()) {
stu[input_number].display();
} else {
cout << "没有该学号对应的学生信息。" << endl;
}
return 0;
}
```
这段代码建立了一个 `students` 类,具有学号、姓名、性别、专业、年级等数据成员,还有构造函数和 `display()` 显示信息函数。使用 `map` 存储多个学生的信息,使用学号作为 key。接受用户输入学号,查找在 `map` 中对应的 `students` 对象,并调用 `display()` 函数显示该学生的信息。
阅读全文