69,381
社区成员
发帖
与我相关
我的任务
分享
//添加员工.pre为尾指针
void addMember(Infom *rear,FILE *fp){
Infom *newNode;
char n[5];
do{
newNode = (Infom *)malloc(sizeof(Infom));
printf("请输入ID:");
scanf("%d",&newNode->ID);
printf("请输入职位:");
scanf("%s",newNode->role);
printf("请输入名字:");
scanf("%s",newNode->name);
printf("请输入年龄:");
scanf("%d",&newNode->age);
printf("请输入身高:");
scanf("%f",&newNode->tall);
printf("请输入体重:");
scanf("%f",&newNode->weight);
printf("请输入工资:");
scanf("%f",&newNode->salary);
printf("请输入入职日期:");
scanf("%d",&newNode->joinDate);
rear->next = newNode;
rear = newNode;
newNode->next = '\0';
printf("确定添加?(Y or N)\n");
scanf("%s",n);
if(n[0] == 'Y' || n[0] == 'y')
{
printf("添加的名单如下");
printf("ID-----角色-----名字-----年龄-----身高-----体重-----工资-----入职日期\n");
printf("%d----%s----%s----%d----%.1f-----%.1f----%.3f----%d\n",newNode->ID,newNode->role,newNode->name,
newNode->age,newNode->tall,newNode->weight,newNode->salary,newNode->joinDate);
fp = fopen("D:\\userlist","a");
fwrite(newNode,sizeof(struct Infom),1,fp);
rewind(fp);
fclose(fp);
}
else free(newNode);
}while(n[0] == 'N' || n[0] == 'n' );
}
void showAll(){
FILE *fp;
Infom *element ;
element = (Infom *)malloc(sizeof(Infom));
fp =fopen("D:\\userlist","r");
if(feof(fp) == 1){
printf("There's no worker here\n");
}
else{
printf("ID-----角色-----名字-----年龄-----身高-----体重-----工资-----入职日期\n");
while((fread(element,sizeof(Infom),1,fp))){
printf("%d----%s----%s----%d----%.1f-----%.1f----%.3f----%d\n",element->ID,element->role,element->name,
element->age,element->tall,element->weight,element->salary,element->joinDate);
};
}
}