c++写一个职工管理系统
时间: 2023-07-30 20:08:33 浏览: 48
好的,下面是一个简单的职工管理系统的代码。这个系统可以添加、删除、修改、查询和显示职工信息。
```cpp
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
// 职工类
class Worker {
public:
Worker(int id, string name, int level)
: m_id(id), m_name(name), m_level(level) {}
// 显示职工信息
void showInfo() {
cout << "职工编号:" << m_id << ",姓名:" << m_name << ",职级:" << m_level << endl;
}
// 获取职工编号
int getId() const {
return m_id;
}
private:
int m_id; // 职工编号
string m_name; // 姓名
int m_level; // 职级
};
// 职工管理类
class WorkerManager {
public:
// 添加职工
void addWorker() {
cout << "请输入职工编号:";
int id;
cin >> id;
// 判断职工编号是否已经存在
for (auto it = m_workers.begin(); it != m_workers.end(); ++it) {
if ((*it)->getId() == id) {
cout << "职工编号已经存在,请重新输入!" << endl;
return;
}
}
cout << "请输入姓名:";
string name;
cin >> name;
cout << "请输入职级:";
int level;
cin >> level;
m_workers.push_back(new Worker(id, name, level));
cout << "添加成功!" << endl;
}
// 删除职工
void deleteWorker() {
cout << "请输入要删除的职工编号:";
int id;
cin >> id;
for (auto it = m_workers.begin(); it != m_workers.end(); ++it) {
if ((*it)->getId() == id) {
delete *it;
m_workers.erase(it);
cout << "删除成功!" << endl;
return;
}
}
cout << "职工编号不存在!" << endl;
}
// 修改职工
void modifyWorker() {
cout << "请输入要修改的职工编号:";
int id;
cin >> id;
for (auto it = m_workers.begin(); it != m_workers.end(); ++it) {
if ((*it)->getId() == id) {
cout << "请输入姓名:";
string name;
cin >> name;
(*it)->m_name = name;
cout << "请输入职级:";
int level;
cin >> level;
(*it)->m_level = level;
cout << "修改成功!" << endl;
return;
}
}
cout << "职工编号不存在!" << endl;
}
// 查找职工
void searchWorker() {
cout << "请输入要查找的职工编号:";
int id;
cin >> id;
for (auto it = m_workers.begin(); it != m_workers.end(); ++it) {
if ((*it)->getId() == id) {
(*it)->showInfo();
return;
}
}
cout << "职工编号不存在!" << endl;
}
// 显示所有职工
void showAllWorkers() {
for (auto it = m_workers.begin(); it != m_workers.end(); ++it) {
(*it)->showInfo();
}
}
private:
vector<Worker*> m_workers; // 职工数组
};
int main() {
WorkerManager wm;
while (true) {
cout << "============================" << endl;
cout << "请选择要进行的操作:" << endl;
cout << "1. 添加职工" << endl;
cout << "2. 删除职工" << endl;
cout << "3. 修改职工" << endl;
cout << "4. 查询职工" << endl;
cout << "5. 显示所有职工" << endl;
cout << "0. 退出程序" << endl;
cout << "============================" << endl;
int choice;
cin >> choice;
switch (choice) {
case 0:
cout << "正在退出程序..." << endl;
return 0;
case 1:
wm.addWorker();
break;
case 2:
wm.deleteWorker();
break;
case 3:
wm.modifyWorker();
break;
case 4:
wm.searchWorker();
break;
case 5:
wm.showAllWorkers();
break;
default:
cout << "输入有误,请重新选择!" << endl;
break;
}
}
return 0;
}
```
这个职工管理系统使用了面向对象的思想,采用了职工类和职工管理类来管理职工信息。用户可以通过菜单选择要进行的操作,包括添加职工、删除职工、修改职工、查询职工和显示所有职工。