编辑: ZCYTheFirst | 2019-07-09 |
printf( ==>
请输入姓名: );
scanf( %s ,h2->
name);
printf( ==>
请输入证件号码: );
scanf( %s ,h2->
idcard);
h2->
hangbanh=p->
no;
h2->
seatno = p->
limit - p->
rest + 1;
--(p->
rest);
printf( \t====预定机票信息====\n );
printf( \t航班号:%4d ,h2->
hangbanh);
printf( \t目的地:%10s ,p->
destin);
printf( \t姓名:%10s ,h2->
name);
printf( \t证件号:%10s ,h2->
idcard);
printf( \t座位号:%5d\n ,h2->
seatno);
h2->
next = h1->
next;
h1->
next = h2;
//将新结点插入到顾客链表上 h1 = h2;
printf( \t---订票成功!---\n );
printf( ==>
是否继续订票?(y/n)\n );
scanf( %s ,s);
}while(s[0]=='
Y'
||s[0]=='
y'
);
printf( \t---订票结束---\n );
} //退票功能 void tuipiao(Linklist L) { char s[30];
int d;
Linklist p=L->
next;
link h1,h2;
printf( ==>
请输入航班号: );
scanf( %d ,&
d);
while(p) { if(p->
no==d) { printf( \t====航班信息====\n );
printf( \t航班号:%d\n ,p->
no);
printf( \t终点站:%s\n ,p->
destin);
printf( \t总座位:%d\n ,p->
limit);
printf( \t余票数:%d\n ,p->
rest);
break;
} p=p->
next;
} printf( ==>
输入证件号码:\n );
scanf( %s ,s);
h1=p->
clist;
//指向顾客链表 while(h1 &
&
strcmp(s,h1->
idcard)!=0)//查找相应的顾客 { h2=h1;
h1=h1->
next;
} if(h1) { if(strcmp(s,h1->
idcard)==0) { h2->
next=h1->
next;
//删除这个顾客 printf( \t---退票成功!---\n );
} } else printf( \t---无此乘客!---\n );
} //通过航班号查询 void hangbanhchaxun(Linklist L) { int no;
Linklist p = L->
next;
link h1;
printf( ==>
请输入航班号: );
scanf( %d ,&
no);
while( p &
&
p->
no != no)//查找相应航班 p=p->
next;
if( p ) { h1 = p->
clist->
next;
//指向顾客链表 if(h1==0) { printf( \t---对不起,此航班无乘客---\n );
return ;
} else { while(h1) { printf( \t====顾客信息====\n );
printf( \t姓名:%s\n ,h1->
name);
printf( \t证件号码:%s\n ,h1->
idcard);
printf( \t座位号:%d\n ,h1->
seatno);
h1=h1->
next;
} } } else printf( \t---对不起,无此航班!---\n );
} //通过目的地查询 void mudidchaxun(Linklist L) { char c[30];
int count=0;
Linklist p=L->
next;
printf( ==>
请输入终点站: );
scanf( %s ,c);
while(p) { if(strcmp(p->
destin,c)==0) { printf( \t====航班信息====\n );
printf( \t航班号:%d\n ,p->
no);
printf( \t目的地:%s\n ,p->
destin);
printf( \t总票数:%d\n ,p->
limit);
printf( \t余票数:%d\n ,p->
rest);
count++;
} p=p->
next;
} if(count==0) printf( \t---对不起,无此航班!---\n );
} //保存航班信息 void saveHangbanInfo( Linklist L ) { FILE *fp ;
Linklist p=L->
next;
fp=fopen( f:\\Hangban.txt , rb+ );
if(fp==NULL) { printf( the file can'
t be opened! );
exit(0) ;
} while(p) { if(fwrite(p,sizeof(pnode),1,fp)==1) p=p->
next ;
} fclose(fp);
} //保存顾客信息 void saveClientInfo( Linklist L ) { FILE *fp ;
Linklist p=L->
next;
link h;
fp=fopen( f:\\Client.txt , rb+ );
if(fp==NULL) { printf( the file can'
t be opened! );
exit(0);
} while(p) { h=p->
clist->
next;