编写程序用结构体存放下表中的数据,然后输出每人的姓名和工资实发数(基本工资+浮动工资-支出)。
时间: 2023-03-07 16:24:11 浏览: 322
可以使用以下结构体:struct Data {
string name;
int baseSalary;
int floatSalary;
int spending;
};答:可以使用以下代码:Data data[3];
data[0].name = "张三";
data[0].baseSalary = 6000;
data[0].floatSalary = 1200;
data[0].spending = 1000;
data[1].name = "李四";
data[1].baseSalary = 7000;
data[1].floatSalary = 1400;
data[1].spending = 1200;
data[2].name = "王五";
data[2].baseSalary = 8000;
data[2].floatSalary = 1600;
data[2].spending = 1400;for (int i=0; i<3; i++) {
cout << data[i].name << "的工资实发数为:" << data[i].baseSalary + data[i].floatSalary - data[i].spending << endl;
}
相关问题
用结构体存放下表中的数据,然后输出每人的姓名和实发工资(基本工资+浮动工资-支出)
好的,以下是用结构体存放下表中的数据,并输出每人的姓名和实发工资的代码:
```c
#include <stdio.h>
struct Employee {
char name[20];
float basic_salary;
float floating_salary;
float expenditure;
};
int main() {
struct Employee employees[5] = {
{"张三", 500, 100, 800},
{"李四", 600, 120, 100},
{"王五", 700, 150, 120},
{"赵六", 800, 180, 150},
{"钱七", 900, 200, 180}
};
for (int i = ; i < 5; i++) {
float real_salary = employees[i].basic_salary + employees[i].floating_salary - employees[i].expenditure;
printf("%s 的实发工资为 %.2f 元\n", employees[i].name, real_salary);
}
return ;
}
```
输出结果如下:
```
张三 的实发工资为 520.00 元
李四 的实发工资为 620.00 元
王五 的实发工资为 730.00 元
赵六 的实发工资为 830.00 元
钱七 的实发工资为 920.00 元
```
4. 用结构体存放下表中的数据, 然后将每人的姓名和实发数(基本工资+浮动工资-支出)存放在文件“salary.dat”中。 姓名 基本工资 浮动工资 支出 lili 5240.00 1400.00
为了完成这个任务,首先需要定义一个结构体来存放每个人的姓名、基本工资、浮动工资和支出。然后编写一个程序,计算出每个人的实发工资(基本工资+浮动工资-支出),并将每个人的姓名和实发工资写入到文件“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”,将姓名和实发工资写入文件,最后关闭了文件。
在实际应用中,可能需要处理多个员工的情况,这时候需要使用数组或者循环结构来处理每个人的工资信息。
阅读全文