中文字幕伊人,国产一级大片黄,www.五月丁香,一级国厂毛片,www.av有码午夜天堂,77女神黄色网,91黄色视频在线观看20分钟

當(dāng)前位置:  > 飛機(jī)專利

飛機(jī)票預(yù)訂系統(tǒng)程序

作者: 發(fā)布時(shí)間: 2022-09-24 03:03:04

簡介:】本篇文章給大家談?wù)劇讹w機(jī)票預(yù)訂系統(tǒng)程序》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。本文目錄一覽:
1、Java,飛機(jī)訂票系統(tǒng)


2、飛機(jī)訂票系統(tǒng)設(shè)計(jì)


3、請(qǐng)教大神,數(shù)據(jù)庫飛機(jī)票預(yù)定系統(tǒng)

本篇文章給大家談?wù)劇讹w機(jī)票預(yù)訂系統(tǒng)程序》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。

本文目錄一覽:

Java,飛機(jī)訂票系統(tǒng)

鏈接:v(括號(hào)里不是鏈接)iew-so(括號(hào)里不是鏈接)(括號(hào)里不是鏈接)urce:ht(括號(hào)里不是鏈接)tp://(括號(hào)里不是鏈接)ww(括號(hào)里不是鏈接)w.a(括號(hào)里不是鏈接)irch(括號(hào)里不是鏈接)ina(括號(hào)里不是鏈接).co(括號(hào)里不是鏈接)m.cn(括號(hào)里不是鏈接)/?ci(括號(hào)里不是鏈接)d=(括號(hào)里不是鏈接)GN-buy(括號(hào)里不是鏈接):20130221:SEM:Baidu:CHN:00(括號(hào)里不是鏈接)0120|fc=(括號(hào)里不是鏈接)k91(括號(hào)里不是鏈接)8988499.a151793471.u933021.pb

飛機(jī)訂票系統(tǒng)設(shè)計(jì)

#include stdio.h

#include string.h

#include conio.h

#include ctype.h

#include stdlib.h

#include malloc.h

#include math.h//overflow

#define ok 1

typedef struct Yidingkehu

{//單鏈表

char name[15];//已訂票的客戶姓名

int dingpiaoshu;//已訂票數(shù)量

struct Yidingkehu *next1;//

}Yidingkehu,*Link;

typedef struct Weidingkehu

{//單鏈隊(duì)

char name[15];//預(yù)訂票的客戶姓名

int yudingpiao;// 要訂票數(shù)量

struct Weidingkehu *next2;//下一個(gè)鏈隊(duì)結(jié)點(diǎn)指針

}Weidingkehu,*Qptr;

typedef struct Hangxian

{//創(chuàng)建一個(gè)含有六個(gè)信息的結(jié)構(gòu)體

char hangbanhao[15];//航班號(hào)-

char feijihao[15];//飛機(jī)號(hào)

int feixingriqi;//起飛時(shí)間

int chenkerenshu;//座位數(shù)

int yupiao;//余票

char zhongdianzhai[15];//降落城市

struct Hangxian *next;//指向下一個(gè)鏈結(jié)點(diǎn)的指針

struct Yidingkehu *yiding;//定義一個(gè)指向已訂票客戶的頭結(jié)點(diǎn)指針

struct Weidingkehu *yudingqueue;

}Hangxian,*Linklist;

Linklist InitLinklist();//01

int InsertLinklist(Linklist head1);//02

void hbhchaxun();//通過航班號(hào)查詢

void mddchaxun();//通過目的地查詢

void lurugongneng();//初始化錄入功能

void chaxungongnen();//查詢功能

void dingpiaogongnen();//訂票功能

void tuipiaogongnen();//退票功能

void main()

{

int n;

do{ //打印主界面

printf("\t 歡迎使用航空客運(yùn)訂票系統(tǒng)\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1. 錄入功能 ==\n");

printf("\t==2. 查詢功能 ==\n");

printf("\t==3. 訂票功能 ==\n");

printf("\t==4. 退票功能 ==\n");

printf("\t==5. 退出 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);printf("\n");

switch(n)

{

case 1: lurugongneng();//錄入功能

break;

case 2: chaxungongnen();//查詢功能

break;

case 3: dingpiaogongnen();//訂票功能

break;

case 4:tuipiaogongnen();//退票功能

break;

default :exit(0);//退出

}

}while(n==1||n==2||n==3||n==4);

}

void lurugongneng()//初始化的單鏈表*********************************************************錄入功能

{

Linklist p;

//int m,n;

if(!p) exit(OVERFLOW);

printf("\t請(qǐng)依次輸入下面幾項(xiàng)內(nèi)容:\n\n");//這里的輸入采用一個(gè)個(gè)單獨(dú)輸入,避免了亂賦值的現(xiàn)象

printf("航班號(hào)\n");

gets(p-hangbanhao);//這里的二個(gè)gets主要是因?yàn)樵诨剀囨I的輸入,其中的第一個(gè)是來接收上次的回車

gets(p-hangbanhao);

printf("飛機(jī)號(hào)\n");

gets(p-feijihao);

printf("終點(diǎn)站\n");

gets(p-zhongdianzhai);

printf("飛行日期\n");

scanf("%d",p-feixingriqi);

printf("乘客總數(shù)\n");

scanf("%d",p-chenkerenshu);

printf("余票數(shù)\n");

scanf("%d",p-yupiao);

}

void chaxungongnen()//******************************************************************查詢功能

{

int n;

printf("\t 查 找 航 線 信 息 \n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1. 通過目的地查詢 ==\n");

printf("\t==2. 通過航班號(hào)查詢 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);

printf("\n");//格式化

switch(n)

{

case 1:mddchaxun();

break;

case 2:hbhchaxun();

break;

default :break;

}

}

void mddchaxun()//通過目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf("\t請(qǐng)輸入要查詢的目的地:");

gets(c);

gets(c);//原因同上

do{

p=p-next;

if(p)

{

m=strcmpi((*p).zhongdianzhai,c);//如果==的話則m=0;

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒有你要找的目的地:\n\n"); m=0;

}

}while(m!=0);

}

void hbhchaxun()//通過目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf("\t請(qǐng)輸入要查詢的航班號(hào):");

gets(c); gets(c);printf("\n");

do{

p=p-next;

if(p)

{

m=strcmpi((*p).hangbanhao,c);//如果==的話則m=0;這里的(*p).與p-的作用是一樣的

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒有你要找的航班號(hào):\n"); m=0;

}

}while(m!=0);

}

void dingpiaogongnen()//***************************************************************訂票功能

{

char c[15];

int m=1,piao,ydpiao=0,yd=0,n;//

gets(c);

printf("請(qǐng)輸入終點(diǎn)站名:"); gets(c); printf("\n");

p=L-next;

if(p) {

do{//查找一下,是否有這個(gè)航班

if(!p)

{

printf("對(duì)不起,沒有你要找的航班:\n\n");

goto loop1;

}

m=strcmpi(p-zhongdianzhai,c);

if(m==0)

{

printf("航班信息:\n");

printf("航班號(hào):%s\n",p-hangbanhao);

printf("飛機(jī)號(hào):%s\n",p-feijihao);

printf("飛行時(shí)間:周%d\n",p-feixingriqi);

printf("余票量:%d\n",p-yupiao);}

else p=p-next;

}while(m!=0);

if(m==0)

{

do{

printf("\n請(qǐng)輸入你要訂的票數(shù):"); scanf("%d",piao);

if(piao=p-yupiao)

{

h=p-yiding;

if(h)

{

h1=h;

h=h-next1;

h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));

printf("請(qǐng)輸入你的名字:");

gets(h-name);gets(h-name);

h-dingpiaoshu=piao;

h-next1=h1-next1;

h1-next1=h;

p-yupiao=p-yupiao-piao;

printf("訂票成功:\n"); m=2;

}

}

else

{

printf("余票量:%d\n",p-yupiao);

printf("對(duì)不起,余票 %d 張不足,不能完成訂票\n\n",p-yupiao);

printf(" 是否要重新訂票?\n");

printf("需要請(qǐng)輸入1 否則請(qǐng)按2 預(yù)訂請(qǐng)輸入3 : ");

scanf("%d",m);

printf("\n");

if(m==3) goto loop3;

}

}while(m==1);

}

}

else if(!p)

{

loop3: struct Weidingkehu *q3;

printf("對(duì)不起,該航班的票已售完\n");

q.front=p-yudingqueue;

if(q.front==q.rear) printf("沒有人預(yù)訂票,是否要預(yù)訂?\n");

else if(q.front!=q.rear) printf("已有人預(yù)訂票,是否要預(yù)訂?\n");

printf("預(yù)訂請(qǐng)輸入1 否則輸入2 : ");

scanf("%d",n);

printf("\n");

if(n==1)

{

printf("請(qǐng)輸入你的姓名"); gets(q3-name); gets(q3-name);//q3不能指向name???

printf("請(qǐng)輸入訂票數(shù)"); scanf("%d",q3-yudingpiao);

q3-next2=NULL;

q.rear-next2=q3;

q.rear=q3;

printf(" 你已經(jīng)預(yù)訂了 !\n");

}

}

loop1:;

}

void tuipiaogongnen()//***************************************************************退票功能

{

}

以上回答你滿意么?

請(qǐng)教大神,數(shù)據(jù)庫飛機(jī)票預(yù)定系統(tǒng)界面具體怎么做

1、每個(gè)航班信息的輸入。

2、每個(gè)航班的坐位信息的輸入;

3、當(dāng)旅客進(jìn)行機(jī)票預(yù)定時(shí),輸入旅客基本信息,系統(tǒng)為旅客安排航班,打印取票通知和帳單;

4、旅客在飛機(jī)起飛前一天憑取票通知交款取票;

5、旅客能夠退訂機(jī)票;

6、能夠查詢每個(gè)航班的預(yù)定情況、計(jì)算航班的滿座率。

C語言程序?qū)戯w機(jī)訂票系統(tǒng)

#include stdio.h

#include string.h

#include conio.h

#include ctype.h

#include stdlib.h

#include malloc.h

#include math.h//overflow

#define ok 1

typedef struct Yidingkehu

{//單鏈表

char name[15];//已訂票的客戶姓名

int dingpiaoshu;//已訂票數(shù)量

struct Yidingkehu *next1;//

}Yidingkehu,*Link;

typedef struct Weidingkehu

{//單鏈隊(duì)

char name[15];//預(yù)訂票的客戶姓名

int yudingpiao;// 要訂票數(shù)量

struct Weidingkehu *next2;//下一個(gè)鏈隊(duì)結(jié)點(diǎn)指針

}Weidingkehu,*Qptr;

typedef struct Hangxian

{//創(chuàng)建一個(gè)含有六個(gè)信息的結(jié)構(gòu)體

char hangbanhao[15];//航班號(hào)-

char feijihao[15];//飛機(jī)號(hào)

int feixingriqi;//起飛時(shí)間

int chenkerenshu;//座位數(shù)

int yupiao;//余票

char zhongdianzhai[15];//降落城市

struct Hangxian *next;//指向下一個(gè)鏈結(jié)點(diǎn)的指針

struct Yidingkehu *yiding;//定義一個(gè)指向已訂票客戶的頭結(jié)點(diǎn)指針

struct Weidingkehu *yudingqueue;

}Hangxian,*Linklist;

Linklist InitLinklist();//01

int InsertLinklist(Linklist head1);//02

void hbhchaxun();//通過航班號(hào)查詢

void mddchaxun();//通過目的地查詢

void lurugongneng();//初始化錄入功能

void chaxungongnen();//查詢功能

void dingpiaogongnen();//訂票功能

void tuipiaogongnen();//退票功能

void main()

{

int n;

do{ //打印主界面

printf("\t 歡迎使用航空客運(yùn)訂票系統(tǒng)\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1. 錄入功能 ==\n");

printf("\t==2. 查詢功能 ==\n");

printf("\t==3. 訂票功能 ==\n");

printf("\t==4. 退票功能 ==\n");

printf("\t==5. 退出 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);printf("\n");

switch(n)

{

case 1: lurugongneng();//錄入功能

break;

case 2: chaxungongnen();//查詢功能

break;

case 3: dingpiaogongnen();//訂票功能

break;

case 4:tuipiaogongnen();//退票功能

break;

default :exit(0);//退出

}

}while(n==1||n==2||n==3||n==4);

}

void lurugongneng()//初始化的單鏈表*********************************************************錄入功能

{

Linklist p;

//int m,n;

if(!p) exit(OVERFLOW);

printf("\t請(qǐng)依次輸入下面幾項(xiàng)內(nèi)容:\n\n");//這里的輸入采用一個(gè)個(gè)單獨(dú)輸入,避免了亂賦值的現(xiàn)象

printf("航班號(hào)\n");

gets(p-hangbanhao);//這里的二個(gè)gets主要是因?yàn)樵诨剀囨I的輸入,其中的第一個(gè)是來接收上次的回車

gets(p-hangbanhao);

printf("飛機(jī)號(hào)\n");

gets(p-feijihao);

printf("終點(diǎn)站\n");

gets(p-zhongdianzhai);

printf("飛行日期\n");

scanf("%d",p-feixingriqi);

printf("乘客總數(shù)\n");

scanf("%d",p-chenkerenshu);

printf("余票數(shù)\n");

scanf("%d",p-yupiao);

}

void chaxungongnen()//******************************************************************查詢功能

{

int n;

printf("\t 查 找 航 線 信 息 \n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t==1. 通過目的地查詢 ==\n");

printf("\t==2. 通過航班號(hào)查詢 ==\n");

printf("\t+++++++++++++++++++++++++++++\n");

printf("\t請(qǐng)選擇:");

scanf("%d",n);

printf("\n");//格式化

switch(n)

{

case 1:mddchaxun();

break;

case 2:hbhchaxun();

break;

default :break;

}

}

void mddchaxun()//通過目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf("\t請(qǐng)輸入要查詢的目的地:");

gets(c);

gets(c);//原因同上

do{

p=p-next;

if(p)

{

m=strcmpi((*p).zhongdianzhai,c);//如果==的話則m=0;

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒有你要找的目的地:\n\n"); m=0;

}

}while(m!=0);

}

void hbhchaxun()//通過目的地查詢

{

char c[15];

int m;

Linklist p=L;

printf("\t請(qǐng)輸入要查詢的航班號(hào):");

gets(c); gets(c);printf("\n");

do{

p=p-next;

if(p)

{

m=strcmpi((*p).hangbanhao,c);//如果==的話則m=0;這里的(*p).與p-的作用是一樣的

if(m==0)

{

printf("\t航班信息:\n");

printf("\t航班號(hào):%s\n",p-hangbanhao);

printf("\t飛機(jī)號(hào):%s\n",p-feijihao);

printf("\t飛行時(shí)間:周%d\n",p-feixingriqi);

printf("\t余票量:%d\n\n",p-yupiao);

}

}

else

{//如果不匹配的話就做

printf("\t對(duì)不起沒有你要找的航班號(hào):\n"); m=0;

}

}while(m!=0);

}

void dingpiaogongnen()//***************************************************************訂票功能

{

char c[15];

int m=1,piao,ydpiao=0,yd=0,n;//

gets(c);

printf("請(qǐng)輸入終點(diǎn)站名:"); gets(c); printf("\n");

p=L-next;

if(p) {

do{//查找一下,是否有這個(gè)航班

if(!p)

{

printf("對(duì)不起,沒有你要找的航班:\n\n");

goto loop1;

}

m=strcmpi(p-zhongdianzhai,c);

if(m==0)

{

printf("航班信息:\n");

printf("航班號(hào):%s\n",p-hangbanhao);

printf("飛機(jī)號(hào):%s\n",p-feijihao);

printf("飛行時(shí)間:周%d\n",p-feixingriqi);

printf("余票量:%d\n",p-yupiao);}

else p=p-next;

}while(m!=0);

if(m==0)

{

do{

printf("\n請(qǐng)輸入你要訂的票數(shù):"); scanf("%d",piao);

if(piao=p-yupiao)

{

h=p-yiding;

if(h)

{

h1=h;

h=h-next1;

h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu));

printf("請(qǐng)輸入你的名字:");

gets(h-name);gets(h-name);

h-dingpiaoshu=piao;

h-next1=h1-next1;

h1-next1=h;

p-yupiao=p-yupiao-piao;

printf("訂票成功:\n"); m=2;

}

}

else

{

printf("余票量:%d\n",p-yupiao);

printf("對(duì)不起,余票 %d 張不足,不能完成訂票\n\n",p-yupiao);

printf(" 是否要重新訂票?\n");

printf("需要請(qǐng)輸入1 否則請(qǐng)按2 預(yù)訂請(qǐng)輸入3 : ");

scanf("%d",m);

printf("\n");

if(m==3) goto loop3;

}

}while(m==1);

}

}

else if(!p)

{

loop3: struct Weidingkehu *q3;

printf("對(duì)不起,該航班的票已售完\n");

q.front=p-yudingqueue;

if(q.front==q.rear) printf("沒有人預(yù)訂票,是否要預(yù)訂?\n");

else if(q.front!=q.rear) printf("已有人預(yù)訂票,是否要預(yù)訂?\n");

printf("預(yù)訂請(qǐng)輸入1 否則輸入2 : ");

scanf("%d",n);

printf("\n");

if(n==1)

{

printf("請(qǐng)輸入你的姓名"); gets(q3-name); gets(q3-name);//q3不能指向name???

printf("請(qǐng)輸入訂票數(shù)"); scanf("%d",q3-yudingpiao);

q3-next2=NULL;

q.rear-next2=q3;

q.rear=q3;

printf(" 你已經(jīng)預(yù)訂了 !\n");

}

}

loop1:;

}

void tuipiaogongnen()//***************************************************************退票功能

{

}

請(qǐng)采納答案,支持我一下。

飛機(jī)票訂票系統(tǒng) C++

這是以前的課程設(shè)計(jì)題目,希望你再接再厲 好好學(xué)習(xí)

#include iostream.h

#include stdio.h

#include string.h

#include conio.h

#define m 4 //3架飛機(jī)

#define n 5 //每架飛機(jī)5張票

struct node

{

char name[21];

char id[21];

int seat,plane,date;

node *next,*pre;

};

struct wait

{

char name[21];

char id[21];

char phone[8];

int seat,plane,date,count;

wait *next,*pre;

};

struct piao

{

int seat[n+1];

};

void makenull();

void makenull_piao();

void makenull_information();

void list_menu();

void list_piao();

void makenull_wait();

void list_information();

void plane_information(node *head);

void book();

void add_information(node *head,int x,int y);

void add_wait(int x,int y);

void search_delete(int x);

void write_to_file();

void show_wait();

bool comp(node *x,node*y);

node *head1,*head2,*head3,*q;

wait *wait_head,*wait_end;

char c;

piao a[m];

void main()

{

makenull();

do

{ list_menu();

coutendl"choose an operation: ";

cinc;

if (c!='6')

switch(c)

{

case '0' : show_wait();break;

case '1' : {list_piao();book();}break;

case '2' : search_delete(1);break;

case '3' : list_piao();break;

case '4' : list_information();break;

case '5' : search_delete(0);break;

default : break;

}

}while(c!='6');

cout"Exit System ";

}

void makenull()

{

makenull_piao();

makenull_information();

makenull_wait();

}

void list_menu()

{ coutendl"";

coutendl" 菜單";

coutendl" ************************";

coutendl" * 0 . 查看排隊(duì)情況 *";

coutendl" * 1 . 訂票 *";

coutendl" * 2 . 退票 *";

coutendl" * 3 . 查看剩余票 *";

coutendl" * 4 . 查看飛機(jī)信息 *";

coutendl" * 5 . 查看乘客信息 *";

coutendl" * 6 . 退出 *";

coutendl" ************************";

coutendl"";

}

void makenull_piao()

{

FILE *fp;

int i;

if((fp=fopen("piao.dat","r")) == NULL )

{

fp=fopen("piao.dat","w");

for (i=1;i=m-1;i++)

fwrite(a[i],sizeof(piao),1,fp);

fclose(fp);

fp=fopen("piao.dat","r");

}

for(i=1;i=m-1;i++)

fread(a[i],sizeof(piao),1,fp);

fclose(fp);

}

void makenull_information()

{

node *r;

FILE *fp;

int i,j,sum;

sum=a[1].seat[0]+a[2].seat[0]+a[3].seat[0];

fp=fopen("information.dat","r");

head1=new node;

head2=new node;

head3=new node;

head1-pre=NULL;

head1-next=NULL;

head2-pre=NULL;

head2-next=NULL;

head3-pre=NULL;

head3-next=NULL;

q=head1;

for(i=1;i=sum;i++)

{

j=0;

r=new node;

fread(r,sizeof(node),1,fp);

q-next=r;

r-pre=q;

r-next=NULL;

q=q-next;

fclose(fp);

if(i==a[1].seat[0]+1) {

head2-next=q;

q-pre-next=NULL;

q-pre=head2;

}

if(i==a[1].seat[0]+a[2].seat[0]+1) {

head3-next=q;

q-pre-next=NULL;

q-pre=head3;

}

}

}

void makenull_wait()

{

wait *tempw;

FILE *fp;

tempw=new wait;

int i;

if((fp=fopen("wait.txt","r")) ==NULL )

{

fp=fopen("wait.txt","w");

fclose(fp);

}

wait_end=new wait;

wait_head=new wait;

wait_end-next=NULL;

wait_end-pre=NULL;

wait_head=wait_end;

wait_head-count=0;

fp=fopen("wait.txt","r");

fread(wait_head,sizeof(wait),1,fp);

for(i=1;i=wait_head-count;i++)

{

fread(tempw,sizeof(wait),1,fp);

wait_end-next=tempw;

tempw-pre=wait_end;

tempw-next=NULL;

wait_end=tempw;

}

}

void list_piao()

{

int i,j;

for(i=1;i=m-1;i++)

{

if(a[i].seat[0]!=n)

{

coutendl"第 "i" 架飛機(jī)剩余的票 :"endl;

for(j=1;j=n;j++)

if (a[i].seat[j]==0) cout" "j;

coutendl;

}

else coutendl"The "i" plane is full !"endlendl;

}

}

void list_information()

{

int x;

do {coutendl"顯示哪架飛機(jī)的信息 ? "; cinx;coutendl;}while(x1 || x=m);

coutendl"第 "x" 架飛機(jī)的信息如下 "endl;

if(x==1) plane_information(head1);

if(x==2) plane_information(head2);

if(x==3) plane_information(head3);

}

void plane_information(node *head)

{

node *q;

char ch;

int x=0;

if(head!=NULL head-next!=NULL)

q=head-next;

else {

q=NULL;

cout"飛機(jī)空,無預(yù)訂票 !"endl;

}

while(q!=NULL)

{

coutendl"*******************"endl;

q-date=q-plane;

cout"日期 :"q-dateendl;

cout"座位號(hào) : "q-seatendl;

cout"姓名 : "q-name;

coutendl"ID 號(hào) : "q-id;

q=q-next;x++;

if (x % 3 ==0) ch=getch();

}

coutendl;

}

void book()

{

int i,j,p;

coutendl"請(qǐng)選擇地點(diǎn):(1、2、3) ";

do {

cini;

if (i1 || i=m) {

coutendl"**** 超出范圍!****"endl"請(qǐng)重新輸入:";

}

else

{coutendl"你要訂的是到"i"地的飛機(jī)"endl;

coutendl"第 "i" 架飛機(jī)剩余的票 :"endl;

for(p=1;p=n;p++)

if (a[i].seat[p]==0) cout" "p;

coutendl;

break;}

}while(1);

coutendl"請(qǐng)選擇座位號(hào) : ";

do {

cinj;

if (j1 || jn) {

coutendl"**** 超出范圍!****"endl"請(qǐng)重新輸入:";

}

else

{

q-date=i;

coutendl"您的訂票日期 : "q-dateendl;

break;

}

}while(1);

if (a[i].seat[j]==0) {

a[i].seat[j]=1;

coutendl;

a[i].seat[0]++;

if(i==1) add_information(head1,1,j);

if(i==2) add_information(head2,2,j);

if(i==3) add_information(head3,3,j);

}

else

{

coutendl"**** 對(duì)不起,該座位已被預(yù)訂,您被安排到訂票等候隊(duì)列 ****"endl;

add_wait(i,j);

}

}

void add_wait(int x,int y)

{

wait *tempw;

tempw=new wait;

tempw-next=NULL;

cout"請(qǐng)輸入個(gè)人信息"endl;

coutendl"*************"endl;

cout"姓名 : ";cintempw-name;

cout"ID號(hào) : ";cintempw-id;

cout"電話 :";cintempw-phone;

tempw-seat=y;

tempw-plane=x;

wait_end-next=tempw;

tempw-pre=wait_end;

wait_end=wait_end-next;

coutendl"**** 正在排隊(duì)等候 ****"endl;

wait_head-count++;

write_to_file();

}

void show_wait()

{

wait *tempw;

tempw=wait_head-next;

if (tempw==NULL) coutendl"排隊(duì)中沒有人!"endl;

while(tempw!=NULL)

{

couttempw-name" - ";

tempw=tempw-next;

}

}

void add_information(node *head,int x,int y)

{

node *temp;

temp=new node;

temp-pre=NULL;

temp-next=NULL;

cout"請(qǐng)輸入個(gè)人信息"endl;

coutendl"*************"endl;

cout"姓名 : ";cintemp-name;

cout"ID號(hào) : ";cintemp-id;

temp-seat=y;

temp-plane=x;

temp-next=head-next;

temp-pre=head;

if (head-next!=NULL) head-next-pre=temp;

head-next=temp;

write_to_file();

coutendl"**** 訂票成功 ****"endl;

}

void search_delete(int x)

{

node *p,*q,*r;

wait *tempw,*tempw2,*tempw3;

int step=1,t1,t2,i;

char ch;

p=new node;

tempw=new wait;

tempw2=new wait;

tempw3=new wait;

q=head1;

coutendl"請(qǐng)輸入個(gè)人信息"endl;

cout"*************"endl;

coutendl"姓名 : ";cinp-name;

do{

q=q-next;

if ( (q!=NULL)

(comp(q,p)) )

{

coutendl;

q-date=q-plane;

cout"Located!"endl;

cout"****************";

coutendl"姓名 : "q-name;

coutendl"ID號(hào) : "q-id;

coutendl"座位號(hào) : "q-seat;

coutendl"班機(jī)號(hào) : "q-plane;

coutendl"日期 : "q-dateendl;

if (x==1) {

cout"刪除該紀(jì)錄 ? [Y/N] ";

cinch;

if (ch=='Y' || ch=='y') {

t1=q-plane;

t2=q-seat;

a[t1].seat[t2]=0;

a[t1].seat[0]--;

r=q;q=q-pre;

r-pre-next=r-next;

if(r-next!=NULL) r-next-pre=r-pre;

delete(r);

cout"**** 記錄刪除成功 ! ****";

write_to_file();

tempw=wait_head;

for(i=0;iwait_head-count;i++)

{

tempw=tempw-next;

if(tempw==NULL) break;

if((tempw-plane==t1) (tempw-seat==t2))

{

strcpy(tempw3-name,tempw-name);

strcpy(tempw3-phone,tempw-phone);

coutendl"等候的人中有可以訂票的了:"endl;

coutendl"姓名 : "tempw-name;

coutendl"ID號(hào) : "tempw-idendl;

a[t1].seat[0]++;

a[t1].seat[t2]=1;

if(tempw-plane==1) add_information(head1,1,tempw-seat);

if(tempw-plane==2) add_information(head2,2,tempw-seat);

if(tempw-plane==3) add_information(head3,3,tempw-seat);

tempw2=tempw-pre;

tempw2-next=tempw-next;

if(tempw-next==NULL) wait_end=tempw2;

else tempw-next-pre=tempw2;

delete(tempw);

wait_head-count--;

write_to_file();

coutendl"等候的"tempw3-name"已經(jīng)成功訂票,已經(jīng)由電話"tempw3-phone"通知了"endl;

break;

}

}

}

}continue;

}

else

{

if (q==NULL)

{

step++;

if(step==2) q=head2;

if(step==3) q=head3;

if(step==4) {coutendl"**** 信息檢索完畢 ****";break;}

}

}

}while(1);

}

bool comp(node *x,node *y)

{

node *p,*q;

int i,j,k;

p=x;

q=y;

i=j=0;

do

{

while ( (p-name[i] != q-name[j]) (p-name[i] != '\0') ) i++;

if (p-name[i] == '\0') {return(false);break;}

else

{

k=i;

while ( (p-name[k] == q-name[j]) (q-name[j]!='\0') ) {k++;j++;}

if (q-name[j]=='\0') return(true);

else

{

j=0;

i++;

}

}

}while( (q-name[j]!='\0') (p-name[i] != '\0') );

return(false);

}

void write_to_file()

{

FILE *fp;

int i,j;

int x[m];

node *p;

wait *tempw;

tempw=new wait;

tempw=wait_head;

fp=fopen("piao.dat","w");

for (i=1;i=m-1;i++)

{

fwrite(a[i],sizeof(piao),1,fp);

}

fclose(fp);

fp=fopen("information.dat","w");

x[0]=0;x[1]=a[1].seat[0];

for(i=0,j=1;j=m-1;j++) {i=i+a[j].seat[0];x[j]=a[j].seat[0]+x[j-1];}

j=1;p=head1-next;

for(j=1;j=i;j++)

{

if(j==x[1]+1) p=head2-next;

if(j==x[2]+1) p=head3-next;

if(p==NULL)break;

fwrite(p,sizeof(node),1,fp);

p=p-next;

}

fclose(fp);

fp=fopen("wait.txt","w");

for(j=0;j=wait_head-count;j++)

{

if(tempw==NULL)break;

fwrite(tempw,sizeof(wait),1,fp);

tempw=tempw-next;

}

fclose(fp);

}

關(guān)于《飛機(jī)票預(yù)訂系統(tǒng)程序》的介紹到此就結(jié)束了。

尚華空乘 - 航空資訊_民航新聞_最新航空動(dòng)態(tài)資訊
備案號(hào):滇ICP備2021006107號(hào)-341 版權(quán)所有:蓁成科技(云南)有限公司    網(wǎng)站地圖
本網(wǎng)站文章僅供交流學(xué)習(xí),不作為商用,版權(quán)歸屬原作者,部分文章推送時(shí)未能及時(shí)與原作者取得聯(lián)系,若來源標(biāo)注錯(cuò)誤或侵犯到您的權(quán)益煩請(qǐng)告知,我們將立即刪除。