读书人

c语言数据结构做的民航订票系统用线

发布时间: 2012-08-02 11:35:25 作者: rapoo

c语言数据结构做的民航订票系统,用线性链表,但是退票时无法删除记录,请高手赐教,谢谢
void returnorder()
/*退票*/
{ struct airline *info;
linklist *p1,*p2,*head;
char cusname[10];
int cusid;/*身份*/
char cusgender[10];/*性别*/
int cusage;/*年龄*/
int cusamount;/*订票量*/
int cusseatnum;
if(!(info=find())) return;/*航线搜索*/
head=info->order;
p1=head;
printf("name:");
scanf("%s",cusname);
while(p1!=NULL) {/*查询乘客信息*/
if(!strcmp(cusname,p1->name)) break;
p2=p1;p1=p1->next;
}
if(p1==NULL){ printf("have no order!\n");return;}/*无,退出*/
else
{/*删除信息*/
if(p1==head) head=p1->next;
else p2->next=p1->next;
info->rem_amount+=p1->amount;
cusid=p1->id;
strcpy(cusgender,p1->gender);
cusage=p1->age;
cusseatnum=p1->seatnum;
printf("%s ok!\n",p1->name);
free(p1);
}

}

[解决办法]
单步调试问题在什么地方??
[解决办法]

那是因为你对单链表的删除结点 还没有清晰,这个问题,可以调试,到底是哪里出问题的。

读书人网 >C语言

热点推荐