溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C語言怎么實現(xiàn)航班訂票系統(tǒng)

發(fā)布時間:2021-08-11 14:45:14 來源:億速云 閱讀:208 作者:chen 欄目:編程語言

這篇文章主要講解了“C語言怎么實現(xiàn)航班訂票系統(tǒng)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C語言怎么實現(xiàn)航班訂票系統(tǒng)”吧!

描述:

點定義兩個鏈表,一個存儲航班信息,一個存儲客戶信息;

進(jìn)行一系列簡單的增刪查找;

代碼如下

#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<<"請依次輸入航班班次,起飛時間,起飛地點,到達(dá)時間,到達(dá)地點,座位行數(shù),列數(shù),總座位數(shù),已被購買的數(shù)目,未被購買的數(shù)目"<<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'<<"您的航班信息如下(依次為航班班次,起飛時間,起飛地點,到達(dá)時間,到達(dá)地點,座位總數(shù),已購座位數(shù),未購座位數(shù))"<<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'<<"輸入航班總數(shù):";  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.退出系統(tǒng)"<<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");    }  }}

感謝各位的閱讀,以上就是“C語言怎么實現(xiàn)航班訂票系統(tǒng)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C語言怎么實現(xiàn)航班訂票系統(tǒng)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI