免费的毛片网站,大又大粗又爽又黄少妇毛片,久久免费国产视频,菠萝蜜视频网在线www

當(dāng)前位置:  > 航空名人

C航空訂票系統(tǒng)實(shí)現(xiàn)增刪改查

作者: 發(fā)布時(shí)間: 2022-09-22 15:49:22

簡介:】本篇文章給大家談?wù)劇禖航空訂票系統(tǒng)實(shí)現(xiàn)增刪改查》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。本文目錄一覽:
1、c語言如何編寫飛機(jī)訂票系統(tǒng)?


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


3、C語

本篇文章給大家談?wù)劇禖航空訂票系統(tǒng)實(shí)現(xiàn)增刪改查》對(duì)應(yīng)的知識(shí)點(diǎn),希望對(duì)各位有所幫助。

本文目錄一覽:

c語言如何編寫飛機(jī)訂票系統(tǒng)?

#includestdio.h

#includestring.h

#includeconio.h

#includectype.h

#includestdlib.h

#includemalloc.h

#includemath.h//overflow

#defineok1

typedefstructYidingkehu

{//單鏈表

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

intdingpiaoshu;//已訂票數(shù)量

structYidingkehu*next1;//

}Yidingkehu,*Link;

typedefstructWeidingkehu

{//單鏈隊(duì)

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

intyudingpiao;//要訂票數(shù)量

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

}Weidingkehu,*Qptr;

typedefstructHangxian

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

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

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

intfeixingriqi;//起飛時(shí)間

intchenkerenshu;//座位數(shù)

intyupiao;//余票

charzhongdianzhai[15];//降落城市

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

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

structWeidingkehu*yudingqueue;

}Hangxian,*Linklist;

LinklistInitLinklist();//01

intInsertLinklist(Linklisthead1);//02

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

voidmddchaxun();//通過目的地查詢

voidlurugongneng();//初始化錄入功能

voidchaxungongnen();//查詢功能

voiddingpiaogongnen();//訂票功能

voidtuipiaogongnen();//退票功能

voidmain()

{

intn;

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)

{

case1:lurugongneng();//錄入功能

break;

case2:chaxungongnen();//查詢功能

break;

case3:dingpiaogongnen();//訂票功能

break;

case4:tuipiaogongnen();//退票功能

break;

default:exit(0);//退出

}

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

}

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

{

Linklistp;

//intm,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);

}

voidchaxungongnen()//******************************************************************查詢功能

{

intn;

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)

{

case1:mddchaxun();

break;

case2:hbhchaxun();

break;

default:break;

}

}

voidmddchaxun()//通過目的地查詢

{

charc[15];

intm;

Linklistp=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);

}

voidhbhchaxun()//通過目的地查詢

{

charc[15];

intm;

Linklistp=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);

}

voiddingpiaogongnen()//***************************************************************訂票功能

{

charc[15];

intm=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");

gotoloop1;

}

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);}

elsep=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=(structYidingkehu*)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)gotoloop3;

}

}while(m==1);

}

}

elseif(!p)

{

loop3:structWeidingkehu*q3;

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

q.front=p-yudingqueue;

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

elseif(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:;

}

voidtuipiaogongnen()//***************************************************************退票功能

{

}

///////////以下是人家的要求//////////

1、本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地航班號(hào)、座次號(hào)碼、座次訂出與否標(biāo)記、訂座者的姓名和訂座者的身份證號(hào)碼。

2、本系統(tǒng)顯示這樣的菜單:

(1)輸入航班信息

(2)輸出航班信息

(3)查找航班信息

a.顯示空座的數(shù)量

b.顯示空座的信息

c.顯示已訂座的信息

d.起飛時(shí)間

(4)訂票預(yù)約

(5)刪除定票預(yù)約

(6)退出系統(tǒng)

1、本系統(tǒng)成功執(zhí)行菜單的每個(gè)信息,選項(xiàng)4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。

2、查找航班信息既可按線路查,也可按目的地查。

4、在兩次運(yùn)行之間,數(shù)據(jù)被保存于一個(gè)文件里,當(dāng)本程序重新開

始的時(shí)候,它首先從該文件讀入數(shù)據(jù)

C語言程序設(shè)計(jì)飛機(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)采納答案,支持我一下。

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)采納答案,支持我一下。

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——航空訂票系統(tǒng)(C語言)

1、任務(wù):航空客運(yùn)定票的業(yè)務(wù)活動(dòng)包括:查詢航線、客票預(yù)定和辦理退票等。試設(shè)計(jì)一個(gè)航空客運(yùn)定票系統(tǒng),以使上述業(yè)務(wù)可以借助計(jì)算機(jī)來完成。 2、功能要求: 1) 錄入:可以錄入航班情況(數(shù)據(jù)可以存儲(chǔ)在一個(gè)數(shù)據(jù)文件中,數(shù)據(jù)結(jié)構(gòu)、具 體數(shù)據(jù)自定) 2) 查詢:可以查詢某個(gè)航線的情況(如,輸入航班號(hào),查詢起降時(shí)間,起飛抵 達(dá)城市,航班票價(jià),票價(jià)折扣,確定航班是否滿倉);可以輸入起飛抵達(dá)城市, 查詢飛機(jī)航班情況; 3) 訂票:(訂票情況可以存在一個(gè)數(shù)據(jù)文件中,結(jié)構(gòu)自己設(shè)定)可以訂票,如果 該航班已經(jīng)無票,可以提供相關(guān)可選擇航班; 4) 退票: 可退票,退票后修改相關(guān)數(shù)據(jù)文件; 5) 客戶資料:有姓名,證件號(hào),訂票數(shù)量及航班情況,訂單要有編號(hào); 6) 修改航班信息:當(dāng)航班信息改變可以修改航班數(shù)據(jù)文件。 3、要有一個(gè)好的界面~~~~~~~~~~~~~~~~~~~~~~~~4、需求分析 系統(tǒng)需求(系統(tǒng)要求實(shí)現(xiàn)的功能的具體情況)5、 概要設(shè)計(jì) 系統(tǒng)分析(分析系統(tǒng)的功能和具體模塊的劃分) 系統(tǒng)流程(系統(tǒng)的流程圖) 程序詳細(xì)代碼:

c語言編程:飛機(jī)訂票系統(tǒng),c++運(yùn)行

#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()//***************************************************************退票功能

{

}

///////////以下是人家的要求//////////

1、本系統(tǒng)采用一個(gè)包含N個(gè)數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個(gè)數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:起飛地、目的地 航班號(hào)、座次號(hào)碼、座次訂出與否標(biāo)記、訂座者的姓名和訂座者的身份證號(hào)碼。

2、本系統(tǒng)顯示這樣的菜單:

(1) 輸入航班信息

(2) 輸出航班信息

(3) 查找航班信息

a.顯示空座的數(shù)量

b.顯示空座的信息

c.顯示已訂座的信息

d.起飛時(shí)間

(4)訂票預(yù)約

(5)刪除定票預(yù)約

(6)退出系統(tǒng)

1、 本系統(tǒng)成功執(zhí)行菜單的每個(gè)信息,選項(xiàng)4)和5)將要求額外的輸入,并且它們都允許用戶收回其輸入。

2、 查找航班信息既可按線路查,也可按目的地查。

4、在兩次運(yùn)行之間,數(shù)據(jù)被保存于一個(gè)文件里,當(dāng)本程序重新開

始的時(shí)候,它首先從該文件讀入數(shù)據(jù)

關(guān)于《C航空訂票系統(tǒng)實(shí)現(xiàn)增刪改查》的介紹到此就結(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)告知,我們將立即刪除。