[求助]删除模块的问题
/*删除模块*/del_message()
{int i,j,num,flag;
char c;
do
{system("cls");
printf("\n\n 请输入要删除的编号:");
scanf("%d",&num);
for(i=0;i<sum;i++)
if(message[i].num==num)
{for(j=i;j<sum;j++)
message[j]=message[j+1];
sum=i-1;
break;
}
if(i==sum)
{
printf("\n 没有信息!");
getchar();
}
printf("\n\n 继续?(Y/N)");
c=getch();
if(c=='y'||c=='Y')
{
flag=1;
printf("\n 继续!\n");
}
else flag=0;
}while(flag==1);
printf("\n\n 按任意键返回!");
getchar();
}
这个模块继续删除无效。只删除掉第1次的数据。点继续后删除的信息并没有实际删除掉。
还有就是运行删除模块后运行修改模块会提示无信息(全部都被删掉了。。实际只删除了1条资料。。)
----------------解决方案--------------------------------------------------------
看不懂你的代码,给你把格式整理了下。如果可以编译通过,你可以跟踪调试找问题。
程序代码:
/*删除模块*/
del_message()
{
int i,j,num,flag;
char c;
do{
system(\"cls\");
printf(\"\n\n 请输入要删除的编号:\");
scanf(\"%d\",&num);
for(i=0;i<sum;i++)
if(message[i].num==num)
{
for(j=i;j<sum;j++)
message[j]=message[j+1];
sum=i-1;
break;
}
if(i==sum)
{
printf(\"\n 没有信息!\");
getchar();
}
printf(\"\n\n 继续?(Y/N)\");
c=getch();
if(c=='y'||c=='Y')
{
flag=1;
printf(\"\n 继续!\n\");
}
else flag=0;
}while(flag==1);
printf(\"\n\n 按任意键返回!\");
getchar();
}
----------------解决方案--------------------------------------------------------