c++用结构体包含工号姓名性别基本薪资考勤早退最后薪资算员工工资
时间: 2023-07-01 15:05:53 浏览: 84
好的,首先我们可以定义一个结构体来存储员工的信息:
```c++
struct Employee {
int id; // 员工工号
string name; // 员工姓名
char gender; // 员工性别
double salary; // 基本薪资
int attendance; // 考勤天数
int earlyLeave; // 早退次数
double finalSalary; // 最后的薪资
};
```
然后,我们可以定义一个函数来计算员工的最后薪资:
```c++
void calcSalary(Employee &emp) {
double basicSalary = emp.salary / 30 * emp.attendance; // 计算基本工资
double earlyLeavePenalty = emp.salary / 30 / 8 * emp.earlyLeave; // 计算早退罚款
emp.finalSalary = basicSalary - earlyLeavePenalty; // 最后的薪资等于基本工资减去早退罚款
}
```
这个函数接受一个 `Employee` 结构体作为参数,然后根据员工的基本薪资、考勤天数和早退次数计算出最后的薪资,并将其保存到 `finalSalary` 成员变量中。
最后,我们就可以创建一个 `Employee` 对象,并调用 `calcSalary` 函数来计算最后的薪资了:
```c++
Employee emp;
emp.id = 1001;
emp.name = "张三";
emp.gender = 'M';
emp.salary = 5000;
emp.attendance = 25;
emp.earlyLeave = 2;
calcSalary(emp);
cout << "员工 " << emp.name << " 的最后薪资是 " << emp.finalSalary << endl;
```
输出结果应该是:
```
员工 张三 的最后薪资是 4923.33
```
阅读全文