C语言实现航班订票系统分享!

本文实例为大家分享了C语言实现航班订票系统的具体代码,供大家参考,具体内容如下

描述:

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

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

代码如下

  #include<cstdio>  #include<cstring>  #include<iostream>  #include<cstdlib>  using 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<<endl<<endl;    Plist r=new Pnode;    r=l;    for(int i=0; i<e; i++)    {      Plist ll=new Pnode;      cout<<endl;      cout<<"请依次输入航班班次,起飞时间,起飞地点,到达时间,到达地点,座位行数,列数,总座位数,已被购买的数目,未被购买的数目"<<endl;      cout<<'t';      cin>>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<<L->next->data.r<<endl;  }  void show(Plist &l)  {    Plist p=new Pnode;    p=l->next;    while(p!=NULL)    {      cout<<'t'<<'t'<<'t'<<'t'<<'t'<<p->data.p_id<<" "<<p->data.start<<" "<<p->data.startp<<" "<<p->data.arrive<<" "<<p->data.arrivep<<" "<<p->data.sum<<" "<<p->data.selected<<" "<<p->data.select<<endl;      for(int i=1; i<=p->data.r; i++)      {        cout<<'t'<<'t'<<'t'<<'t'<<'t';        for(int j=1; j<=p->data.c; j++)          cout<<p->data.acx[i][j];        cout<<endl;      }      p=p->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"<<endl;      pre->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<<endl;        cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"您的位置是"<<p->data.r<<"行"<<p->data.c<<"列"<<endl;        return 1;      }      p=p->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<<endl;        cout<<'t'<<"您的航班信息如下(依次为航班班次,起飞时间,起飞地点,到达时间,到达地点,座位总数,已购座位数,未购座位数)"<<endl;        cout<<'t'<<'t'<<'t'<<'t'<<'t'<<p->data.p_id<<" "<<p->data.start<<" "<<p->data.startp<<" "<<p->data.arrive<<" "<<p->data.arrivep<<" "<<p->data.sum<<" "<<p->data.selected<<" "<<p->data.select<<endl;        return ;      }    }    return ;  }  int judge(Plist &l,node1 e)  {    Pnode *p;    p=l->next;    while(p!=NULL)    {      //cout<<p->data.acx[e.r][e.c]<<endl;      if(p->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<<endl<<endl;    cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"初始化存储航班信息"<<endl;    cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"输入航班总数:";    cin>>n;    system("cls");    creatp(l,n);    system("cls");    while(1)    {      cout<<endl;      cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"1.客户订票"<<endl;      cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"2.客户退票"<<endl;      cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"3.客户查询航班信息"<<endl;      cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"0.退出系统"<<endl;      cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"选择功能:";      cin>>choose;      system("cls");      if(!choose)      {        cout<<'t'<<'t'<<'t'<<'t'<<'t'<<endl;        break;      }      else if(choose==1)//订票      {        cout<<endl<<endl;        cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"航班信息如下"<<endl;        show(l);        cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"输入客户姓名,证件号:";        cin>>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<<endl;          cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"座位已有人,不能订票,请重新选择!"<<endl;        }        getchar();        getchar();        system("cls");      }      else if(choose==2)//退票      {        cout<<endl<<endl;        cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"输入客户信息(免费精选名字大全,证件号,航班)"<<endl;        cout<<'t'<<'t'<<'t'<<'t'<<'t';        cin>>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'<<"退票成功"<<endl;        }        else        {          cout<<endl;          cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"查找失败,请重新输入"<<endl;        }        getchar();        getchar();        system("cls");      }      else if(choose==3)      {        cout<<endl<<endl;        cout<<'t'<<'t'<<'t'<<'t'<<'t'<<"输入客户信息(免费精选名字大全,证件号,航班):";        cin>>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'<<"查找失败,请重新输入"<<endl;        }        getchar();        getchar();        system("cls");      }    }  }

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

—-想了解C语言实现航班订票系统分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/483518.html

(0)
上一篇 2020年11月10日
下一篇 2020年11月10日

精彩推荐