C语言实现航班订票系统
本文实例为大家分享了C语言实现航班订票系统的具体代码,供大家参考,具体内容如下
描述:
点定义两个链表,一个存储航班信息,一个存储客户信息;
进行一系列简单的增删查找;
代码如下
#include#include #include #include usingnamespacestd; constintMAXN=250; typedefstruct { stringp_id; intsum; intr; intc; intselected; intselect; stringstart; stringstartp; stringarrive; stringarrivep; intacx[MAXN][MAXN]; }node; typedefstructPnode { nodedata; structPnode*next; }Pnode,*Plist; typedefstruct { intr; intc; stringname; stringkp_id; stringk_id; }node1; typedefstructKnode { node1data; structKnode*next; }Knode,*Klist; voidinit(Plist&l) { l=newPnode; l->next=NULL; } voidinit(Klist&L) { L=newKnode; L->next=NULL; } voidcreatp(Plist&l,inte) { cout< >ll->data.p_id; cout<<""; cin>>ll->data.start; cout<<""; cin>>ll->data.startp; cout<<""; cin>>ll->data.arrive; cout<<""; cin>>ll->data.arrivep; cout<<""; cin>>ll->data.r; cout<<""; cin>>ll->data.c; cout<<""; cin>>ll->data.sum; cout<<""; cin>>ll->data.selected; cout<<""; cin>>ll->data.select; for(intj=1;j<=ll->data.r;j++) for(intv=1;v<=l->data.c;v++) ll->data.acx[j][v]=0; ll->next=NULL; r->next=ll; r=ll; } } voidcreatk(Klist&L,node1e) { KlistLL=newKnode; LL->data=e; LL->next=NULL; Klistr; r=L; while(r->next!=NULL) { r=r->next; } r->next=LL; //cout< next->data.r< next; while(p!=NULL) { cout<<'\t'<<'\t'<<'\t'<<'\t'<<'\t'< data.p_id<<""< data.start<<""< data.startp<<""< data.arrive<<""< data.arrivep<<""< data.sum<<""< data.selected<<""< data.select< data.r;i++) { cout<<'\t'<<'\t'<<'\t'<<'\t'<<'\t'; for(intj=1;j<=p->data.c;j++) cout< data.acx[i][j]; cout< next; } return; } voidalter(Plist&l,node1e,intflag) { Pnode*p,*pre; p=l->next; while(p->data.p_id!=e.kp_id) { pre=p; p=p->next; } if(flag) { p->data.select-=1; p->data.selected+=1; p->data.acx[e.r][e.c]=1; } else { p->data.select+=1; p->data.selected-=1; p->data.acx[e.r][e.c]=0; } return; } intdelet(Klist&L,node1e) { Klistp,pre; p=L; while(p->next!=NULL) { if(p->data.name==e.name&&p->data.k_id==e.k_id&&p->data.kp_id==e.kp_id) break; pre=p; p=p->next; } if(p==NULL) return0; else { //cout<<"hjdhfjks"< next=p->next; free(p); return1; } } intsearchh(Klist&L,node1e) { Knode*p; p=L->next; while(p!=NULL) { if(p->data.name==e.name&&p->data.k_id==e.k_id&&p->data.kp_id==e.kp_id) { cout< data.r<<"行"< data.c<<"列"< next; } return0; } voidshowone(Plist&l,node1e) { Pnode*p; p=l->next; while(p!=NULL) { if(p->data.p_id==e.kp_id) { cout< data.p_id<<""< data.start<<""< data.startp<<""< data.arrive<<""< data.arrivep<<""< data.sum<<""< data.selected<<""< data.select< next; while(p!=NULL) { //cout< data.acx[e.r][e.c]< data.p_id==e.kp_id) { if(p->data.acx[e.r][e.c]) return0; } p=p->next; } return1; } intmain() { Plistl; KlistL; init(l); init(L); intchoose,n; nodep; node1k; cout< >n; system("cls"); creatp(l,n); system("cls"); while(1) { cout< >choose; system("cls"); if(!choose) { cout<<'\t'<<'\t'<<'\t'<<'\t'<<'\t'< >k.name>>k.k_id; cout<<'\t'<<'\t'<<'\t'<<'\t'<<'\t'<<"输入客户选择的航班号,位置(行,列):"; cin>>k.kp_id>>k.r>>k.c; if(judge(l,k)) { creatk(L,k); alter(l,k,1); } else { cout< >k.name>>k.k_id>>k.kp_id; intflag=delet(L,k); if(flag) { alter(l,k,0); cout<<'\t'<<'\t'<<'\t'<<'\t'<<'\t'<<"退票成功"< >k.name>>k.k_id>>k.kp_id; intflag=searchh(L,k); if(flag) { showone(l,k); } else { cout<<'\t'<<'\t'<<'\t'<<'\t'<<'\t'<<"查找失败,请重新输入"< 更多学习资料请关注专题《管理系统开发》。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。