首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

c语言数据结构做的民航订票系统,用线性链表,但是退票时无法删除记录,请高手赐教,多谢

2012-08-02 
c语言数据结构做的民航订票系统,用线性链表,但是退票时无法删除记录,请高手赐教,谢谢void returnorder()/*

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);
  }

}

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

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

热点排行