定义一个包含5个教师成员的结构体数组,教师信息包括职工号、姓名和工资。要求从键盘输入所有教师的信息,并设计一个sort函数实现结构体数组按教师工资由少到多排序。目前,已编辑完成main函数,请编程实现input函数、output函数和sort函数,分别实现教师信息的录入、输出与排序。
时间: 2023-11-22 11:53:58 浏览: 21
以下是代码实现:
```c++
#include<iostream>
#include<string>
using namespace std;
struct Teacher {
string id; //职工号
string name; //姓名
int salary; //工资
};
void input(Teacher *t, int n) {
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "位教师的职工号、姓名和工资:";
cin >> t[i].id >> t[i].name >> t[i].salary;
}
}
void output(Teacher *t, int n) {
for (int i = 0; i < n; i++) {
cout << "第" << i+1 << "位教师的信息为:" << endl;
cout << "职工号:" << t[i].id << endl;
cout << "姓名:" << t[i].name << endl;
cout << "工资:" << t[i].salary << endl;
}
}
void sort(Teacher *t, int n) {
for (int i = 0; i < n-1; i++) {
for (int j = 0; j < n-i-1; j++) {
if (t[j].salary > t[j+1].salary) {
swap(t[j], t[j+1]);
}
}
}
}
int main() {
const int N = 5;
Teacher teachers[N];
input(teachers, N);
sort(teachers, N);
output(teachers, N);
return 0;
}
```
输入5个教师的信息后,可以通过sort函数实现按工资从少到多排序,并通过output函数输出排序后的教师信息。
阅读全文