用c++写职工管理系统
时间: 2023-07-19 17:14:03 浏览: 51
好的,职工管理系统一般包括以下功能:
1. 添加职工信息
2. 显示职工信息
3. 删除职工信息
4. 修改职工信息
5. 查找职工信息
6. 排序职工信息
下面是一个简单的职工管理系统的示例代码,你可以参考一下。
```c++
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
// 职工类
class Worker {
public:
Worker(int id, string name, int level) {
this->m_Id = id;
this->m_Name = name;
this->m_Level = level;
}
// 显示个人信息
void showInfo() {
cout << "职工编号:" << this->m_Id << ",姓名:" << this->m_Name << ",职级:" << this->m_Level << endl;
}
// 获取职工编号
int getId() {
return this->m_Id;
}
// 获取职级
int getLevel() {
return this->m_Level;
}
private:
int m_Id; // 职工编号
string m_Name; // 姓名
int m_Level; // 职级
};
// 职工管理类
class WorkerManager {
public:
// 添加职工信息
void addWorker() {
int id;
string name;
int level;
cout << "请输入职工编号:";
cin >> id;
cout << "请输入职工姓名:";
cin >> name;
cout << "请输入职工职级:";
cin >> level;
Worker worker(id, name, level);
this->m_Workers.push_back(worker);
cout << "添加成功!" << endl;
}
// 显示职工信息
void showWorker() {
for (vector<Worker>::iterator it = this->m_Workers.begin(); it != this->m_Workers.end(); it++) {
it->showInfo();
}
}
// 删除职工信息
void deleteWorker() {
int id;
cout << "请输入要删除的职工编号:";
cin >> id;
vector<Worker>::iterator it = find(this->m_Workers.begin(), this->m_Workers.end(), id);
if (it != this->m_Workers.end()) {
this->m_Workers.erase(it);
cout << "删除成功!" << endl;
} else {
cout << "删除失败,未找到该职工!" << endl;
}
}
// 修改职工信息
void modifyWorker() {
int id;
int level;
cout << "请输入要修改的职工编号:";
cin >> id;
vector<Worker>::iterator it = find(this->m_Workers.begin(), this->m_Workers.end(), id);
if (it != this->m_Workers.end()) {
cout << "请输入新的职级:";
cin >> level;
it->setLevel(level);
cout << "修改成功!" << endl;
} else {
cout << "修改失败,未找到该职工!" << endl;
}
}
// 查找职工信息
void findWorker() {
int id;
cout << "请输入要查找的职工编号:";
cin >> id;
vector<Worker>::iterator it = find(this->m_Workers.begin(), this->m_Workers.end(), id);
if (it != this->m_Workers.end()) {
it->showInfo();
} else {
cout << "查找失败,未找到该职工!" << endl;
}
}
// 排序职工信息
void sortWorker() {
sort(this->m_Workers.begin(), this->m_Workers.end(), [](Worker a, Worker b) {
return a.getLevel() > b.getLevel();
});
cout << "排序成功!" << endl;
}
private:
vector<Worker> m_Workers; // 职工列表
};
// 显示菜单
void showMenu() {
cout << "************************************" << endl;
cout << "***** 欢迎使用职工管理系统! *****" << endl;
cout << "***** 1. 添加职工信息 *****" << endl;
cout << "***** 2. 显示职工信息 *****" << endl;
cout << "***** 3. 删除职工信息 *****" << endl;
cout << "***** 4. 修改职工信息 *****" << endl;
cout << "***** 5. 查找职工信息 *****" << endl;
cout << "***** 6. 排序职工信息 *****" << endl;
cout << "***** 0. 退出管理系统 *****" << endl;
cout << "************************************" << endl;
}
int main() {
WorkerManager wm;
int choice;
while (true) {
showMenu();
cout << "请输入您的选择:";
cin >> choice;
switch (choice) {
case 0: // 退出管理系统
cout << "欢迎下次使用!" << endl;
return 0;
case 1: // 添加职工信息
wm.addWorker();
break;
case 2: // 显示职工信息
wm.showWorker();
break;
case 3: // 删除职工信息
wm.deleteWorker();
break;
case 4: // 修改职工信息
wm.modifyWorker();
break;
case 5: // 查找职工信息
wm.findWorker();
break;
case 6: // 排序职工信息
wm.sortWorker();
break;
default:
cout << "输入有误,请重新输入!" << endl;
break;
}
}
return 0;
}
```
注意:这只是一个简单的示例代码,可能还需要根据实际需求进行修改和完善。