使用c语言,结构体数组有一单位,职工信息包括姓名(name)、年龄(age)、工龄(worktime)、性别(sex)和婚姻状况(marrige)、级别(grade:1~5级)、工资(wage)、是否在职(tired)等信息。现在要进行工资的调整,规定退休职工增加工资50元,在职的职工1~5级的工资分别增加20、40、60、80、100元,编程实现上述的调整。
时间: 2023-05-16 21:05:52 浏览: 128
以下是使用C语言编写的代码,实现了工资的调整:
```
#include <stdio.h>
#include <string.h>
struct Employee {
char name[20];
int age;
int worktime;
char sex;
char marrige;
int grade;
int wage;
int tired;
};
void adjust_wage(struct Employee *emp) {
if (emp->tired == 1) {
emp->wage += emp->grade * 20;
} else {
emp->wage += 50;
}
}
int main() {
struct Employee emp[10];
int i;
// 初始化员工信息
for (i = 0; i < 10; i++) {
strcpy(emp[i].name, "张三");
emp[i].age = 30;
emp[i].worktime = 10;
emp[i].sex = 'M';
emp[i].marrige = 'Y';
emp[i].grade = i + 1;
emp[i].wage = 1000;
emp[i].tired = 1;
}
// 调整工资
for (i = 0; i < 10; i++) {
adjust_wage(&emp[i]);
}
// 输出员工信息
for (i = 0; i < 10; i++) {
printf("姓名:%s,工资:%d\n", emp[i].name, emp[i].wage);
}
return 0;
}
```
这个程序定义了一个结构体类型 `Employee`,包含了职工的各种信息。`adjust_wage` 函数根据职工的在职状态和级别来调整工资。在 `main` 函数中,初始化了一个包含 10 个职工的数组,并对每个职工调用 `adjust_wage` 函数来调整工资。最后输出了每个职工的姓名和工资。
阅读全文