输入职工信息,建立一个磁盘文件,再将职工名,工资另建一个简明的职工工资文件。
不知道哪里错了
#include <stdio.h>
#include <stdlib.h>
struct employee{
char name[20];
int num;
char sex;
int age;
char addr[20];
float salary;
char health[8];
char education[10];
}person[2];
int main(){
//建立磁盘文件
FILE *fp;
if((fp=fopen("employee.dat","wb"))==NULL){
printf("cannot open file\n");
exit(0);
}
printf("enter :\n");
int i;
for(i=0;i<2;i++)
scanf("%s%d%c%d%s%f%s%s",person[i].name,&person[i].num,&person[i].sex,&person[i].age,
person[i].addr,&person[i].salary,person[i].health,person[i].education);
//写入磁盘
for(i=0;i<2;i++)
fwrite(&person[i],sizeof(struct employee),1,fp);
fclose(fp); //完毕
struct employee person1[2];
struct employee1{
char name[20];
float salary;
}person2[2];
//读出磁盘文件
if((fp=fopen("employee.dat","rb"))==NULL){
printf("cannot open file\n");
exit(0);
}
for(i=0;i<2;i++){
fread(&person1[i],sizeof(struct employee),1,fp);
strcpy(person2[i].name,person1[i].name);
person2[i].salary=person1[i].salary;
}
fclose(fp);
FILE *fp1;
if((fp1=fopen("employee1.dat","wb"))==NULL){
printf("cannot open file\n");
exit(0);
}
for(i=0;i<2;i++)
fwrite(&person2[i],sizeof(struct employee1),1,fp);
fclose(fp1);
return 0;
}