void initFlight()//初始化航线数组 { flight_no=0; char ch=0; strncpy((char*)flight,&ch,FLIGHT_NUM*sizeof(Flight)); for(int i=0;i<FLIGHT_NUM;i++) { Custom_init(flight[i].Al_link); Waiter_init(flight[i].wait_queue); } }
void insertFlight(Flight& f)//按终点站名有序插入航线到航线数组 { int i=-1; while(i+1<flight_no && strcmp(f.terminus,flight[i+1].terminus)==1) { i++; } for(int j=flight_no-1;j>=i+1;j--) { memcpy((void*)(&(flight[j+1])),(void*)(&(flight[j])),sizeof(Flight)); } memcpy((void*)(&(flight[i+1])),(void*)(&f),sizeof(Flight)); Custom_init(flight[i+1].Al_link); Waiter_init(flight[i+1].wait_queue); copyCustomLink(flight[i+1].Al_link,f.Al_link); copyWait_Queue(flight[i+1].wait_queue,f.wait_queue); flight_no++; }
void init() { int m; cout<<"请输入航线条数:"; cin>>m; for(int i=1;i<=m;i++) { Flight f; initFlight(f); cout<<"输入第"<<i<<"条航线:"<<endl; cout<<"航班号:"; cin>>f.flight_no; cout<<"飞机号:"; cin>>f.plane_no; cout<<"终点站名:"; cin>>f.terminus; cout<<"飞行周日:"; cin>>f.week; cout<<"成员定额:"; cin>>f.count; f.rest=f.count; insertFlight(f); printf("\n"); } } int findbyname(char terminus[15])//根据终点站名查找 { for(int i=0;i<flight_no;i++) { if(strcmp(flight[i].terminus,terminus)==0) { return i; } } return -1; }
int findbyno(char no[10])//根据航班号查找 { for(int i=0;i<flight_no;i++) { if(strcmp(flight[i].flight_no,no)==0) { return i; } } return -1; }
void findFlight()//查询航线子模块 { char terminus[15]; cout<<"请输入要查询航线的终点站号:"; cin>>terminus; int index=findbyname(terminus); if(index==-1) { printf("该航线不存在!\n"); return ; } cout<<setw(12)<<"航班号"<<setw(12)<<"飞机号"<<setw(12)<<"飞行周日"<<setw(12)<<"余票额"<<endl; cout<<setw(12)<<flight[index].flight_no <<setw(12)<<flight[index].plane_no <<setw(12)<<flight[index].week <<setw(12)<<flight[index].rest<<endl<<endl; }
void dingpiao(int index) {
Wait_Custom *p=flight[index].wait_queue.front; while(p!=flight[index].wait_queue.rear) { if(p-&
首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5