从文件里读取每个员工信息并显示c语言编程,有一磁盘文件“employee”,内存放职工的数据。每个职工数据包括职工姓名、职工号、性别、年龄……...

有一磁盘文件“employee”,内存放职工的数据。每个职工数据包括职工姓名、职工号、性别、年龄、住址、工资、健康状况、文化程度。今要求将职工名、工资的信息单独抽出来另件一个简明的职工工资文件。

【c源程序】

#include

#include

#include

struct emploee

{char    num[6];

char    name[10];

char    sex[2];

int     age;

char    addr[20];

int     salary;

char    health[8];

char    class[10];

}em[10];

struct emp

{char name[10];

int  salary;

}em_case[10];

int main()

{FILE *fp1,*fp2;

int i,j;

if ((fp1=fopen("emploee","r"))==NULL)

{printf("can not open file.\n");

exit(0);

}

printf("\n  NO.   name  sex   age    addr   salary   health  class\n");

for (i=0;fread(&em[i],sizeof(struct emploee),1,fp1)!=0;i++)

{printf("\n%4s%8s%4s%6d%10s%6d%10s%8s",em[i].num,em[i].name,em[i].sex,

em[i].age,em[i].addr,em[i].salary,em[i].health,em[i].class);

strcpy(em_case[i].name,em[i].name);

em_case[i].salary=em[i].salary;

}

printf("\n\n  ********************************      ");

if((fp2=fopen("emp_salary","wb"))==NULL)

{printf("can not open file\n");

exit(0);

}

for (j=0;j

{if(fwrite(&em_case[j],sizeof(struct emp),1,fp2)!=1)

printf("error!");

printf("\n  %12s%10d",em_case[j].name,em_case[j].salary);

}

printf("\n   *******************************     ");

fclose(fp1);

fclose(fp2);

return 0;

}

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
建立一个磁盘文件"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"文件中的数据,并将需要的信息写入到另一个文件中。你可以在读取数据时,只提取职工职工名和工资字段,并将它们写入到另一个文件中。 希望以上信息对你有所帮助!如果你有任何其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值