4. 用结构体存放下表中的数据, 然后将每人的姓名和实发数(基本工资+浮动工资-支出)存放在文件“salary.dat”中。 姓名 基本工资 浮动工资 支出 lili 5240.00 1400.00
时间: 2024-09-10 14:29:09 浏览: 79
为了完成这个任务,首先需要定义一个结构体来存放每个人的姓名、基本工资、浮动工资和支出。然后编写一个程序,计算出每个人的实发工资(基本工资+浮动工资-支出),并将每个人的姓名和实发工资写入到文件“salary.dat”中。
下面是一个简单的示例代码,假设使用C语言编写:
```c
#include <stdio.h>
// 定义结构体存储个人信息
struct SalaryRecord {
char name[20]; // 假设姓名不会超过19个字符
double base_salary;
double bonus_salary;
double expenditure;
double actual_salary; // 实发工资
};
int main() {
// 假设只有一个员工
struct SalaryRecord employee = {
"lili",
5240.00,
1400.00,
0.00, // 假设支出为0
0.00 // 实发工资将在这里计算
};
// 计算实发工资
employee.actual_salary = employee.base_salary + employee.bonus_salary - employee.expenditure;
// 打开文件用于写入
FILE *file = fopen("salary.dat", "w");
if (file == NULL) {
perror("无法打开文件");
return -1;
}
// 将姓名和实发工资写入文件
fprintf(file, "%s %f\n", employee.name, employee.actual_salary);
// 关闭文件
fclose(file);
return 0;
}
```
这段代码定义了一个结构体`SalaryRecord`,创建了一个变量`employee`来存放示例数据,并计算了实发工资。然后程序打开了文件“salary.dat”,将姓名和实发工资写入文件,最后关闭了文件。
在实际应用中,可能需要处理多个员工的情况,这时候需要使用数组或者循环结构来处理每个人的工资信息。
阅读全文