C语言怎么实现航班订票系统
创始人
2024-12-24 18:02:55
0次

描述:

点定义两个链表,一个存储航班信息,一个存储客户信息;

进行一系列简单的增删查找;

代码如下

#include#include#include#includeusing namespace std;const int MAXN=250;typedef struct{  string p_id;  int sum;  int r;  int c;  int selected;  int select;  string start;  string startp;  string arrive;  string arrivep;  int acx[MAXN][MAXN];} node;typedef struct Pnode{  node data;  struct Pnode *next;} Pnode,*Plist;typedef struct{  int r;  int c;  string name;  string kp_id;  string k_id;} node1;typedef struct Knode{  node1 data;  struct Knode *next;} Knode,*Klist;void init(Plist &l){  l=new Pnode;  l->next=NULL;}void init(Klist &L){  L=new Knode;  L->next=NULL;}void creatp(Plist &l,int e){  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(int j=1; j<=ll->data.r; j++)      for(int v=1; v<=l->data.c; v++)        ll->data.acx[j][v]=0;    ll->next=NULL;    r->next=ll;    r=ll;  }}void creatk(Klist &L,node1 e){  Klist LL=new Knode;  LL->data=e;  LL->next=NULL;  Klist r;  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(int j=1; j<=p->data.c; j++)        cout<data.acx[i][j];      cout<next;  }  return ;}void alter(Plist &l,node1 e,int flag){  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 ;}int delet(Klist &L,node1 e){  Klist p,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)    return 0;  else  {    //cout<<"hjdhfjks"<next=p->next;    free(p);    return 1;  }}int searchh(Klist &L,node1 e){  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;  }  return 0;}void showone(Plist &l,node1 e){  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])        return 0;    }    p=p->next;  }  return 1;}int main(){  Plist l;  Klist L;  init(l);  init(L);  int choose,n;  node p;  node1 k;  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;      int flag=delet(L,k);      if(flag)      {        alter(l,k,0);        cout<<'\t'<<'\t'<<'\t'<<'\t'<<'\t'<<"退票成功"<>k.name>>k.k_id>>k.kp_id;      int flag=searchh(L,k);      if(flag)      {        showone(l,k);      }      else      {        cout<<'\t'<<'\t'<<'\t'<<'\t'<<'\t'<<"查找失败,请重新输入"<

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...