C++如果当月出现某个employee对象的生日,则将该雇员工资增加100元的奖金,如果该员工是小时工资员工,则增加10小时
时间: 2024-03-26 08:40:18 浏览: 134
好的,针对您的问题,我可以给出一个示例代码,用于实现上述需求:
```c++
#include <iostream>
#include <vector>
#include <ctime>
using namespace std;
class Employee {
public:
Employee(string name, int id, int salary, int birthMonth, bool isHourly) {
_name = name;
_id = id;
_salary = salary;
_birthMonth = birthMonth;
_isHourly = isHourly;
}
void printInfo() {
cout << "ID: " << _id << " Name: " << _name << " Salary: " << _salary << endl;
}
void increaseSalary() {
if (_isHourly) {
_salary += 10;
} else {
_salary += 100;
}
}
bool isBirthday(int currentMonth) {
return _birthMonth == currentMonth;
}
private:
string _name;
int _id;
int _salary;
int _birthMonth;
bool _isHourly;
};
int main() {
// 创建员工列表
vector<Employee> employees;
employees.push_back(Employee("Tom", 1001, 5000, 8, false));
employees.push_back(Employee("Jerry", 1002, 2000, 3, true));
employees.push_back(Employee("Mike", 1003, 3000, 12, false));
// 获取当前月份
time_t now = time(0);
tm *ltm = localtime(&now);
int currentMonth = 1 + ltm->tm_mon;
// 遍历员工列表,如果是生日月份,则增加工资
for (int i = 0; i < employees.size(); i++) {
if (employees[i].isBirthday(currentMonth)) {
employees[i].increaseSalary();
}
employees[i].printInfo();
}
return 0;
}
```
上述代码中,我们定义了一个 Employee 类,用于表示雇员的信息。在类的构造函数中,我们传入了雇员的姓名、ID、工资、生日月份以及是否为小时工资员工,用于初始化对象的属性。类中还定义了打印员工信息、增加工资、判断是否是生日等方法。
在主函数中,我们首先创建了一个包含多个 Employee 对象的 vector,模拟了雇员列表。然后获取当前月份,遍历员工列表,如果是生日月份,则调用 increaseSalary 方法增加工资,最后打印出每个雇员的信息。
希望能够帮助到您!
阅读全文