当前位置:首页 > 数据结构课程设计-航空订票系统
else {
R=p[i].first; S=p[i].first->next;
息!\\n\\n\
while(S!=NULL) { if(strcmp(S->Name,Name)==0) { p[i].tick=p[i].tick+S->ticket; R->next=S->next;
cout<<\您已经成功退票!\\n\\n\
}
R=R->next; S=S->next;
}
if(S==NULL) cout<<\很抱歉,在该航班上没有找到您的姓名,请核实信
}
if(p[i].Q.front!=NULL) { waitlink Q=p[i].Q.front , q; while(Q!=NULL) { if(p[i].tick>=Q->ticket) { if(Q==p[i].Q.front) { cout<<\正在为等候的乘客 \办理订票!\\n\ Book(p,p[i].end,Q->ticket,Q->name,N); if(p[i].Q.front==p[i].Q.rear) { p[i].Q.front=p[i].Q.rear=NULL; Q=Q->next;
}
13 / 22
}
}
}
}
}
else
{ p[i].Q.front=p[i].Q.front->next; Q=Q->next; }
else { }
cout<<\正在为等候的乘客 \办理订票!\\n\Book(p,p[i].end,Q->ticket,Q->name,N); q->next=Q->next; Q=Q->next;
else { q=Q; Q=Q->next; }
break;
if(strcmp(p[i].number,number)==0&&p[i].first==NULL)
{
cout<<\很抱歉,该航班目前没有已订票的乘客,无法为你退票,请核实信息!\\n\\n\
break; }
}
if(i>=N) cout<<\很抱歉,没有该航班信息,无法为你退票,请核实信息!\\n\\n\return 0;
}
5.录入功能的算法设计(CreatPlane( )函数的源代码)
void CreatPlane(PlaneLink *p,int n,int N) {
int i,j;
for(i=N;i 14 / 22 p[i].first=NULL; // 带头结点的单链表为空时的条件 p[i].Q.front=p[i].Q.rear=NULL; //队列为空时的条件 cout<<\ cout<<\请输入航班号: \ cin>>p[i].number; } cout<<\输入终点站名: \ cin>>p[i].end; for( j=0;j cout<<\飞机号、飞行日期、成员定额:\\n\ if(strcmp(p[i].number,p[j].number)==0) //查看该航班号是否已经存在 { } if(strcmp(p[i].end,p[j].end)==0) // 查看是否存在到改站点的航班 { } cout<<\已经有到该站点的航班!\\n \cout<<\已经存在该航班号!\\n \ cin>>p[i].planenum>>p[i].date>>p[i].dinge; p[i].tick=p[i].dinge; p[i].k=0; } } cout<<\录入完成!\\n\ 6.总航线预览功能的算法设计(display( )函数的源代码) int display(PlaneLink *p,int N) //N为当前的航班数 { cout<<\ =============\\n\ cout<<\ 航班号 飞机号 终点站 飞行日期 定额 余票数 排队等 候人数\\n\ 15 / 22 cout<<\ _____\\n\ for(int i=0;i cout< te< } cout<<\ =============\\n\ } return 0; 五、调试分析 1)各功能的具体实例分析 为了调试分析方便,在程序中已经初始放入了三个航班信息,如下: 1.系统主菜单界面 2.总航线预览功能界面 16 / 22
共分享92篇相关文档