建立一个磁盘文件“employee”,内存放职工的数据。每个职工的数据包括:职工姓名、职工号、性别、年龄、住址、工资、文化程度。要求将职工号、职工名、工资的信息单独抽出来另建一个职工工资文件。
时间: 2023-05-02 15:00:38 浏览: 157
这段代码创建了一个名为"employee"的文件,用于存放工作的数据。每个工作的数据包括:职工姓名、职工号、性别、年龄、住址、工资、文化程度。要求将职工号、职工姓名、工资的信息单独抽出来另建一个名为"employee资料"文件。
相关问题
用C语言建立一个磁盘文件“employee”,内存放职工的数据。每个职工的数据包括:职工姓名、职工号、性别、年龄、住址、工资、文化程度。要求将职工号、职工名、工资的信息单独抽出来另建一个职工工资文件。
要建立一个磁盘文件"employee",可以使用C语言中的文件操作函数来实现。首先,你需要定义一个结构体来表示职工的数据,包括职工姓名、职工号、性别、年龄、住址、工资和文化程度。然后,你可以使用文件操作函数来创建和写入数据到"employee"文件中。
下面是一个示例代码,演示了如何创建"employee"文件并写入职工数据:
```c
#include <stdio.h>
// 定义职工结构体
struct Employee {
char name[50];
int empId;
char gender;
int age;
char address[100];
float salary;
char education[50];
};
int main() {
// 创建并打开"employee"文件
FILE *file = fopen("employee", "wb");
if (file == NULL) {
printf("无法创建文件!\n");
return 1;
}
// 创建职工数据
struct Employee emp1 = {"John Doe", 1001, 'M', 30, "123 Main St", 5000.0, "Bachelor"};
struct Employee emp2 = {"Jane Smith", 1002, 'F', 28, "456 Elm St", 6000.0, "Master"};
// 写入职工数据到文件
fwrite(&emp1, sizeof(struct Employee), 1, file);
fwrite(&emp2, sizeof(struct Employee), 1, file);
// 关闭文件
fclose(file);
printf("成功创建并写入数据到文件!\n");
return 0;
}
```
上述代码中,我们首先定义了一个名为"Employee"的结构体,表示职工的数据。然后,在主函数中,我们使用`fopen`函数创建了一个名为"employee"的文件,并以二进制写入模式打开。接下来,我们创建了两个职工数据对象,并使用`fwrite`函数将这些数据写入到文件中。最后,我们使用`fclose`函数关闭文件。
要将职工号、职工名和工资的信息单独抽出来另建一个职工工资文件,你可以使用类似的方法读取"employee"文件中的数据,并将需要的信息写入到另一个文件中。你可以在读取数据时,只提取职工号、职工名和工资字段,并将它们写入到另一个文件中。
希望以上信息对你有所帮助!如果你有任何其他问题,请随时提问。
用C语言编写:有一磁盘文件employee,内存放职工的数据。每个职工的数据包括职工姓名、职工号、性别、年龄、住址、工资、健康状况、文化程度。今要求将职工名、工资的信息单独抽出来,另建一个简明的职工工资文件。
以下是一个简单的C语言程序,可以实现将employee文件中的职工名和工资信息抽出来并保存到salary文件中。
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_EMPLOYEE 1000
#define MAX_NAME 20
struct Employee {
char name[MAX_NAME];
int id;
char gender;
int age;
char address[50];
float salary;
char health[20];
char education[20];
};
int main() {
struct Employee employees[MAX_EMPLOYEE];
FILE *fp_in, *fp_out;
int num_employee = 0;
// 打开employee文件
fp_in = fopen("employee", "rb");
if (fp_in == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 读取employee文件中的内容
while (fread(&employees[num_employee], sizeof(struct Employee), 1, fp_in) == 1) {
num_employee++;
}
// 关闭employee文件
fclose(fp_in);
// 打开salary文件
fp_out = fopen("salary", "w");
if (fp_out == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 将职工名和工资信息写入salary文件
for (int i = 0; i < num_employee; i++) {
fprintf(fp_out, "%s %.2f\n", employees[i].name, employees[i].salary);
}
// 关闭salary文件
fclose(fp_out);
return 0;
}
```
该程序首先定义了一个结构体Employee来存储职工的数据,然后定义了一个数组employees来保存所有职工的信息。
程序通过打开employee文件,并使用fread函数读取其中的内容,将所有职工的信息存储到employees数组中。然后,程序打开salary文件,并使用fprintf函数将职工名和工资信息写入该文件中。
最后,程序关闭了employee和salary文件,并返回0表示运行成功。
阅读全文