谢谢楼上的同学哦。。。
不过,我说过了,我是用顺序表做的,没有用链表。这个用链表做的,我已经做过了,而且验证是的。
我刚写了一个用顺序表做的删除模块,不过有一点小问题。在看看吧。。。。。。
/*删除信息模块*/
void dele()
{
FILE *fp;
int member,i;
char a[20];
fp=fopen("members.txt","r+");
if(fp==NULL)
{
printf("Can't create file:members.txt\n");
exit(0);
}
printf("请输入要删除的工号:");
scanf("%d",&member);
fflush(stdin);
if (member<0||member>N)
{
printf("\n删除的位置不存在!");exit(-1);
}
for (i=member;i<N-1;i++)
{
mem[i].member=mem[i+1].member;
strcpy(a,mem[i+1].name);
strcpy(mem[i].name,a);
//mem[i].name=mem[i+1].name;
strcpy(a,mem[i+1].sex);
strcpy(mem[i].sex,a);
//mem[i].sex=mem[i+1].sex;
mem[i].money=mem[i+1].money;
}
fwrite(mem,sizeof(struct members),N,fp);
rewind(fp);
fclose(fp);
//printf("*********************\n");
}
说明:
文本里的内容为:
1 guwenjie nan 1300
8 lifei nan 1200
5 heben nan 1500
2 lihuifang nv 1000
要输出的结果应该是:
1 guwenjie nan 1300
8 lifei nan 1200
5 heben nan 1500
哪位能不能用帮我纠正一下我的程序。。。。(还有不明白的地方,看贴子的开头)