该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
scanf("%d",&numb_ord);
while(p_c!=NULL)
{
if(strcmp(name, p_c->name)==0&&numb_ord==p_c->numb_ord&&p_c->numb_id==numb_id)//判断是否存在这样顾客,如果有,则做出相应处理
{
break;
}
p1_c=p_c;
p_c=p_c->next;
}
if(p_c==NULL)
{
printf("该顾客信息不存在,单击任意键退出");
getch();
}
else// 将链表信息重新写到文件中
{
while(p_p!=NULL)
{
if(p_p->number==p_c->numb_p)
{
break;
}
p_p=p_p->next;
}
p_p->seat_odd=p_p->seat_odd+p_c->amount_t;//相关航班信息票数恢复
//删除退票顾客信息结点
if(p1_c==NULL)
{
head_c=NULL;
free(p_c);
}
else
{
p1_c->next=p_c->next;
free(p_c);
}
write_p(head_p);
write_c(head_c);
printf("退票成功,单击任意键退出");
getch();
}
free_p(head_p);
free_c(head_c);
system("cls");
}
//查找待修改结点,判断是否符合条件
int xg_hb(int number, int amount_t, p_inf * p)
{
/*寻找待修改结点*/
while(p!=NULL)
{
if(p->number==number)
{
break;
}
p=p->next;
}
if(p==NULL)
{
printf("\n********************************************************************************");
printf("对不起,该航班不存在,不能订票\n");
printf("\n********************************************************************************");
return 0;
}
else
{
if(p->seat_odd-amount_t<0)
{
printf("\n********************************************************************************");
printf("对不起,该航班只剩%d张票\n",p->seat_odd);
printf("********************************************************************************\n");
return 0;
}
else
{
p->seat_odd=p->seat_odd-amount_t;
return 1;
}
}
}
/*
**以下两个函数功能实现以航班号查询
**或以始发地及目的地查询
*/
//实现以航班号查询
void cx_hbh(p_inf * p, int number)
{
while(p!=NULL)//执行条件:未到尾结点
{
if(p->number==number)
{
break;
}
p=p->next;
}
printf("********************************************************************************");
printf("符合要求的航班信息如下所示:\n");
printf("********************************************************************************");
if(p==NULL)
{
printf("\a对不起该航班信息不存在\n");
}
else
{
printf("航班号 起飞时间 抵达时间 始发地目的地 票价 折扣情况 座位总数 剩余座位数\n");