写几个函数: (1)输入10个职工的姓名和职工号; (2)按职工号由小到大顺序排序,姓名顺序也随之调整; (3)要求输入一个职工号,使用顺序查找法找出该职工的姓名,从主函数输入要查找的职工号,输出该职工姓名。
时间: 2024-05-07 08:21:50 浏览: 54
以下是代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Employee {
string name;
int id;
};
void input(Employee arr[], int n) {
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个职工的姓名和职工号:";
cin >> arr[i].name >> arr[i].id;
}
}
void sort(Employee arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (arr[i].id > arr[j].id) {
swap(arr[i], arr[j]);
}
}
}
}
string search(Employee arr[], int n, int id) {
for (int i = 0; i < n; i++) {
if (arr[i].id == id) {
return arr[i].name;
}
}
return "未找到该职工";
}
int main() {
const int n = 10;
Employee arr[n];
input(arr, n);
sort(arr, n);
cout << "按职工号排序后的列表:" << endl;
for (int i = 0; i < n; i++) {
cout << arr[i].name << " " << arr[i].id << endl;
}
int id;
cout << "请输入要查找的职工号:";
cin >> id;
string name = search(arr, n, id);
cout << "该职工姓名为:" << name << endl;
return 0;
}
```
以上代码中,`Employee` 结构体存储了职工的姓名和职工号。`input` 函数用于输入 10 个职工的姓名和职工号,`sort` 函数按职工号由小到大顺序排序,`search` 函数使用顺序查找法找出指定职工号的姓名。在主函数中,首先调用 `input` 和 `sort` 函数,然后输入要查找的职工号并调用 `search` 函数进行查找,最后输出该职工的姓名。
阅读全文