调用以上函数继续编写,要求有员工信息修改,录入,添加,删除,查询功能
时间: 2024-09-12 20:07:52 浏览: 9
为了实现这样的员工管理系统的功能,我们可以使用C++的结构体或类来存储员工信息,并定义相应的成员函数来执行增删改查操作。这里我为你提供一个简单的Employee类的设计以及主要的操作函数:
```cpp
#include <iostream>
#include <vector>
using namespace std;
// 员工类
class Employee {
public:
// 构造函数
Employee(int id, string name, double salary)
: id(id), name(name), salary(salary) {}
// 获取和设置属性
int getId() const { return id; }
void setId(int id) { this->id = id; }
string getName() const { return name; }
void setName(string name) { this->name = name; }
double getSalary() const { return salary; }
void setSalary(double salary) { this->salary = salary; }
private:
int id;
string name;
double salary;
};
// 动态存储员工的容器
class EmployeeManager {
public:
// 添加新员工
void addEmployee(Employee emp) {
employees.push_back(emp);
}
// 删除员工(根据ID)
bool deleteEmployee(int id) {
for (auto it = employees.begin(); it != employees.end(); ++it) {
if (it->getId() == id) {
employees.erase(it);
return true;
}
}
return false;
}
// 修改员工信息(根据ID)
void updateEmployee(int id, string newName, double newSalary) {
for (auto& emp : employees) {
if (emp.getId() == id) {
emp.setName(newName);
emp.setSalary(newSalary);
break;
}
}
}
// 查询员工(返回所有信息或特定信息)
void searchEmployee(const int id = -1) {
if (id != -1) {
for (const auto& emp : employees) {
if (emp.getId() == id) {
cout << "ID: " << emp.getId()
<< ", Name: " << emp.getName()
<< ", Salary: " << emp.getSalary() << endl;
return;
}
}
cout << "Employee not found with ID " << id << endl;
} else {
for (const auto& emp : employees) {
cout << "ID: " << emp.getId()
<< ", Name: " << emp.getName()
<< ", Salary: " << emp.getSalary() << endl;
}
}
}
private:
vector<Employee> employees;
};
int main() {
EmployeeManager manager;
// 使用manager进行操作,如addEmployee(), deleteEmployee(), updateEmployee(), searchEmployee()
return 0;
}
```
在这个例子中,我们首先创建了一个`Employee`类,用于表示员工信息,并提供了读写属性的方法。然后定义了`EmployeeManager`类,包含一个动态数组用来存储员工,并实现了添加、删除、更新和查询员工的功能。
要在main函数中实际使用这些功能,你需要像这样调用它们:
```cpp
// 示例
Employee e(1, "John Doe", 50000.00);
manager.addEmployee(e);
// 更新第1号员工信息
manager.updateEmployee(1, "Jane Doe", 60000.00);
// 查找并打印第1号员工
manager.searchEmployee(1);
// 如果需要,删除第1号员工
if (manager.deleteEmployee(1)) {
cout << "Employee with ID 1 has been deleted." << endl;
} else {
cout << "No employee found with ID 1 to delete." << endl;
}
return 0;
```