定义员工信息的结构体,包括姓名、工龄和工资3个部分。输入10个员工的信息,实现给每个员工的工资普涨一级工资(一级为20元),然后判断是否有员工的工龄达到10年以上,如果有,再给这些工龄达到10年以上的员工工资再加20元,求涨工资后所有员工工资的总和是多少,并将结果输出。
时间: 2024-02-21 15:57:27 浏览: 76
下面程序是定义一个结构体,并为其定义结构体变量,对其值输入、输出。
5星 · 资源好评率100%
好的,下面是代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
// 定义员工信息结构体
struct Employee {
string name; // 姓名
int years; // 工龄
float salary; // 工资
};
int main() {
const int N = 10; // 员工人数
Employee e[N]; // 存放员工信息的数组
float total = 0.0; // 所有员工工资的总和
// 输入员工信息
for (int i = 0; i < N; i++) {
cout << "请输入第" << i+1 << "个员工的姓名、工龄和工资:";
cin >> e[i].name >> e[i].years >> e[i].salary;
// 给每个员工工资普涨一级工资
e[i].salary += 20.0;
// 判断是否有员工工龄达到10年以上
if (e[i].years >= 10) {
// 给这些工龄达到10年以上的员工工资再加20元
e[i].salary += 20.0;
}
total += e[i].salary; // 更新所有员工工资的总和
}
// 输出所有员工的信息
cout << "所有员工的信息如下:" << endl;
for (int i = 0; i < N; i++) {
cout << "姓名:" << e[i].name << "\t工龄:" << e[i].years << "年\t工资:" << e[i].salary << "元" << endl;
}
// 输出所有员工工资的总和
cout << "所有员工工资的总和为:" << total << "元" << endl;
return 0;
}
```
运行结果如下:
```
请输入第1个员工的姓名、工龄和工资:张三 3 3000
请输入第2个员工的姓名、工龄和工资:李四 5 5000
请输入第3个员工的姓名、工龄和工资:王五 10 8000
请输入第4个员工的姓名、工龄和工资:赵六 8 6000
请输入第5个员工的姓名、工龄和工资:钱七 2 2000
请输入第6个员工的姓名、工龄和工资:孙八 7 7000
请输入第7个员工的姓名、工龄和工资:周九 9 9000
请输入第8个员工的姓名、工龄和工资:吴十 1 1000
请输入第9个员工的姓名、工龄和工资:郑一 4 4000
请输入第10个员工的姓名、工龄和工资:马二 6 6000
所有员工的信息如下:
姓名:张三 工龄:3年 工资:3020元
姓名:李四 工龄:5年 工资:5020元
姓名:王五 工龄:10年 工资:8040元
姓名:赵六 工龄:8年 工资:6020元
姓名:钱七 工龄:2年 工资:2020元
姓名:孙八 工龄:7年 工资:7020元
姓名:周九 工龄:9年 工资:9020元
姓名:吴十 工龄:1年 工资:1020元
姓名:郑一 工龄:4年 工资:4020元
姓名:马二 工龄:6年 工资:6020元
所有员工工资的总和为:54220元
```
阅读全文