定义一个包含5个教师成员的结构体数组,教师信息包括职工号、姓名和工资。要求从键盘输入所有教师的信息,并设计一个sort函数实现结构体数组按教师工资由少到多排序。
时间: 2023-06-19 22:08:19 浏览: 143
以下是实现代码:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
struct Teacher {
int id;
string name;
double salary;
};
bool cmp(const Teacher &a, const Teacher &b) {
return a.salary < b.salary;
}
int main() {
Teacher teachers[5];
for (int i = 0; i < 5; i++) {
cout << "请输入第" << i+1 << "个教师的信息:\n";
cout << "职工号:";
cin >> teachers[i].id;
cout << "姓名:";
cin >> teachers[i].name;
cout << "工资:";
cin >> teachers[i].salary;
}
sort(teachers, teachers+5, cmp);
cout << "教师信息按工资从少到多排序:\n";
for (int i = 0; i < 5; i++) {
cout << "职工号:" << teachers[i].id << ",姓名:" << teachers[i].name << ",工资:" << teachers[i].salary << endl;
}
return 0;
}
```
在这个程序中,我们首先定义了一个包含5个教师成员的结构体数组,然后从键盘输入所有教师的信息。接下来,我们使用sort函数对结构体数组按照教师工资进行排序,排序的方式可以通过自定义比较函数来实现。最后,我们输出排序后的教师信息。