while(sizeof(p1->data.bz)>20)改成while(strlen(p1->data.bz)>20),因为while(sizeof(p1->data.bz)>20)永远成立,
int main(void)
{
int k;
char password[6]="0";
struct chainedlist *head=0,*acc=0;
char s[7];//用于存放密码
printf("\t\t\t\t
请输入登录密码:\n\t\t\n\t\t\t\t");
scanf("%s",s);
if(strcmp(s,password)==0) //确认输入密码是否正确
{
head=creat();
//删除
k=menu(k);
switch(k)
{
case 1: head=creat();break; //调用创建链表函数
case 2: head=load(head);break; //从文件调入记录函数
case 3: head=search(head);break; //调用账目查询函数
case 4: head=del(head); break; //调用删除账目信息函数
case 5: head=add(head,acc);break; //调用追加账目信息函数
case 6: print(head); break; //调用显示账目信息函数
case 7: statistics(head); break; //调用统计函数
case 8: save(head);break; //调用保存函数
case 0: exit(0); //退出系统,返回主界面
default: printf("输入错误,请重试!\n");
}
}
}
看国奥比赛了,有时间再改,你自己也调试一下!