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

當(dāng)前位置:  > 自制飛機(jī)

飛機(jī)訂票系統(tǒng)報告緒論

作者: 發(fā)布時間: 2022-10-11 10:40:21

簡介:】本篇文章給大家談?wù)劇讹w機(jī)訂票系統(tǒng)報告緒論》對應(yīng)的知識點(diǎn),希望對各位有所幫助。本文目錄一覽:
1、飛機(jī)訂票系統(tǒng)的源代碼


2、小型飛機(jī)場訂票系統(tǒng)


3、飛機(jī)訂票系統(tǒng)設(shè)計 c語

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

本文目錄一覽:

飛機(jī)訂票系統(tǒng)的源代碼

機(jī)票預(yù)定系統(tǒng)概要設(shè)計說明書1.引言

1.1 編寫目的

在本機(jī)票預(yù)定系統(tǒng)項目的前一階段,也就是需求分析階段中,已經(jīng)將系統(tǒng)用戶對本系統(tǒng)的需求做了詳細(xì)的闡述,這些用戶需求已經(jīng)在上一階段中對航空公司、各旅行社及機(jī)場的實地調(diào)研中獲得,并在需求規(guī)格說明書中得到詳盡得敘述及闡明。

本階段已在系統(tǒng)的需求分析的基礎(chǔ)上,對機(jī)票預(yù)定系統(tǒng)做概要設(shè)計。主要解決了實現(xiàn)該系統(tǒng)需求的程序模塊設(shè)計問題。包括如何把該系統(tǒng)劃分成若干個模塊、決定各個模塊之間的接口、模塊之間傳遞的信息,以及數(shù)據(jù)結(jié)構(gòu)、模塊結(jié)構(gòu)的設(shè)計等。在以下的概要設(shè)計報告中將對在本階段中對系統(tǒng)所做的所有概要設(shè)計進(jìn)行詳細(xì)的說明。

在下一階段的詳細(xì)設(shè)計中,程序設(shè)計員可參考此概要設(shè)計報告,在概要設(shè)計對機(jī)票預(yù)定系統(tǒng)所做的模塊結(jié)構(gòu)設(shè)計的基礎(chǔ)上,對系統(tǒng)進(jìn)行詳細(xì)設(shè)計。在以后的軟件測試以及軟件維護(hù)階段也可參考此說明書,以便于了解在概要設(shè)計過程中所完成的各模塊設(shè)計結(jié)構(gòu),或在修改時找出在本階段設(shè)計的不足或錯誤。 1.2 項目背景 本項目(機(jī)票預(yù)定系統(tǒng))時由浙江航空公司委托,由負(fù)責(zé)開發(fā)。

機(jī)票預(yù)定系統(tǒng)將由兩部分組成:置于個旅行社定票點(diǎn)的前臺客戶程序,以及置于航空公司的數(shù)據(jù)庫服務(wù)器。本系統(tǒng)與其他系統(tǒng)的關(guān)系如下: 1.3 定義 1.3.1 專門術(shù)語

SQL SERVER: 系統(tǒng)服務(wù)器所使用的數(shù)據(jù)庫管理系統(tǒng)(DBMS)。

SQL: 一種用于訪問查詢數(shù)據(jù)庫的語言

事務(wù)流:數(shù)據(jù)進(jìn)入模塊后可能有多種路徑進(jìn)行處理。

主鍵:數(shù)據(jù)庫表中的關(guān)鍵域。值互不相同。

外部主鍵:數(shù)據(jù)庫表中與其他表主鍵關(guān)聯(lián)的域。

ROLLBACK: 數(shù)據(jù)庫的錯誤恢復(fù)機(jī)制。

1

1.3.2 縮寫

系統(tǒng):若未特別指出,統(tǒng)指本機(jī)票預(yù)定系統(tǒng)。

SQL: Structured Query Language(結(jié)構(gòu)化查詢語言)。

ATM: Asynchronous Transfer Mode (異步傳輸模式)。

1.4 參考資料 以下列出在概要設(shè)計過程中所使用到的有關(guān)資料:

1. 機(jī)票預(yù)定系統(tǒng)項目計劃任務(wù)書 浙江航空公司 1999/3 2.機(jī)票預(yù)定系統(tǒng)項目開發(fā)計劃 《》軟件開發(fā)小組 1999/3

3.需求規(guī)格說明書 《》軟件開發(fā)小組 1999/3

4.用戶操作手冊(初稿) 《》軟件開發(fā)小組 1999/4

5.軟件工程及其應(yīng)用 周蘇、王文等 天津科學(xué)技術(shù)出版社 1992/1

6.軟件工程 張海藩 清華大學(xué)出版社 1990/11

7.Computer Network A.S.Tanenbaun Prentice Hall 1996/01

文檔所采用的標(biāo)準(zhǔn)是參照《軟件工程導(dǎo)論》沈美明著 的“計算機(jī)軟件開發(fā)文檔編寫指南”。

2.任務(wù)概述

小型飛機(jī)場訂票系統(tǒng)

有償服務(wù),請聯(lián)絡(luò)我,windy5157@yahoo.com.cn,500塊以內(nèi),包文檔

5年C++開發(fā)經(jīng)驗,

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

(已修改,請用最新的代碼)代碼說明:

1級菜單:選擇購買的航班號,并顯示對應(yīng)座位狀態(tài)。

(我只做測試,所以初始化initFlight函數(shù)中我只初始了2個航班,需要自己按照我的代碼添)

(注意:實際開發(fā)軟件,鏈表數(shù)據(jù)是從數(shù)據(jù)庫中讀取的,需要實時同步,如果要多次調(diào)用initFlight函數(shù),記得自己寫一個釋放內(nèi)存的函數(shù),把所有鏈表“SINFO和FLINFO”節(jié)點(diǎn)都釋放掉,釋放函數(shù)我沒寫,需要你自己寫?。。。?/p>

2級菜單:選擇購買對應(yīng)座位號,完成購買,并實時顯示購買結(jié)果。

位置編號、座位最大排數(shù)、艙室類型、折扣等參數(shù)均由常量參數(shù)空值,需要修改自行改常量。

注意:艙室類型(我默認(rèn)3個類型頭等艙、公務(wù)艙、經(jīng)濟(jì)艙)對應(yīng)折扣參數(shù):tDiscount二維數(shù)組。如要如要添加新的艙室類型,必須將參數(shù)常量TYPESIZE、typeName、types、tDiscount這4個同時修改,具體看代碼備注??!

座位票價=基礎(chǔ)票價*類型折扣*時段折扣。

因為飛機(jī)不讓吸煙,所以我沒做吸煙區(qū)(笑),如果你需要,可以作為類型自行添加!

#includestdio.h

#includestdlib.h

#includeconio.h

#includestring.h

#includemalloc.h

#includetime.h

//-----------------------相關(guān)參數(shù),想改變,在這里修改?。。。。。?!-----------------------------

constfloattimeDiscount=1;//時段折扣,影響所有航班最終價格,默認(rèn)1

constcharcID[5]="ABCD";//位置編號

constintmaxRow=20;//位置最大排號

//注意:如果修改類型數(shù)量,types和tDiscount必須同時修改?。?!

#defineTYPESIZE3//類型數(shù)量

constchartypeName[TYPESIZE][10]={"頭等艙","公務(wù)艙","經(jīng)濟(jì)艙"};

constinttypes[TYPESIZE][2]={{1,2},{3,4},{5,20}};//排號對應(yīng)類型。1~2排頭等艙,3~4排公務(wù)艙,5~20排經(jīng)濟(jì)艙

constfloattDiscount[TYPESIZE]={1.5,1.3,1};//類型折扣。頭等艙1.5倍,公務(wù)艙1.3倍,經(jīng)濟(jì)艙1倍

//-------------------------------------------------------------------------------

typedefstructseatInfo//座位信息,一條鏈表對應(yīng)一個航班信息,鏈表順序從第一排左邊第一個開始往后A1~D1,A2~D2。。。

{

charcloID;//位置編號A、B、C、D

introw;//位置排號

inttype;//座位所屬類型:0:頭等艙、1:公務(wù)艙、2:經(jīng)濟(jì)艙,不同類型對應(yīng)不同的類型折扣tDiscount

intsell;//出售狀態(tài),0:未出售;1:已出售

structseatInfo*next;

}SINFO;

typedefstructflightInfo//航班信息

{

charfid[10];//航班號

time_ttfTime;//起飛時間

time_tldTime;//降落時間

chartoCity[20];//抵達(dá)城市

floattPrice;//基礎(chǔ)票價,不同位置具有不同折扣,座位票價=基礎(chǔ)票價*類型折扣*時段折扣

structflightInfo*next;

structseatInfo*sHead;//對應(yīng)座位鏈表的頭節(jié)點(diǎn)

}FLINFO;

voidmeError(void*p);

SINFO*getSINFO();//獲取座位鏈表

//addFLINFO:添加航班信息鏈表的節(jié)點(diǎn)flinfoHead:頭節(jié)點(diǎn)(第一次傳NULL會自動生成),flinfoTail:尾節(jié)點(diǎn),fNew:要添加的結(jié)構(gòu)信息(成員指針無需賦值)

FLINFO*addFLINFO(FLINFO**ffHead,FLINFO*flinfoTail,FLINFOfNew);//返回尾節(jié)點(diǎn)

time_tgetTime_tfromStr(char*sTime);//將YYYY-MM-DDhh:mm:ss格式的時間字符串轉(zhuǎn)換成time_t型數(shù)值

FLINFO*initFlight();//初始化航班信息,返回航班鏈表頭節(jié)點(diǎn),如果想手動輸入,請在這里添加!??!正常軟件開發(fā),這一步應(yīng)該是從數(shù)據(jù)庫讀??!

char*getTString(structtm*tm0);//通過tm獲取時間字符串

voidshowSinfo(FLINFO*flinfo);//顯示航班對應(yīng)座位信息

voidprintfFlinfo(FLINFO*flinfoHead);

FLINFO*selectFlinfo(FLINFO*flinfoHead,char*fid);//選擇航班號,返回節(jié)點(diǎn)

voidshowSinfo(FLINFO*flinfo);//顯示航班對應(yīng)座位信息

SINFO*selectSinfo(FLINFO*flinfo,char*sid);//選擇座位,返回節(jié)點(diǎn)

intmain()

{

FLINFO*flinfoHead=initFlight(),*ffSelect=NULL;

SINFO*sfSelect=NULL;

charfid[10]={0},sid[10]={10};

while(1)

{

ffSelect=NULL;

sfSelect=NULL;

memset(fid,0,10);

memset(sid,0,10);

printfFlinfo(flinfoHead);

printf("請輸入要購買的航班號:");

scanf("%s",fid);

ffSelect=selectFlinfo(flinfoHead,fid);

if(!ffSelect)

{

printf("未找到對應(yīng)航班,按任意鍵繼續(xù)-----\n");

getch();

system("cls");

continue;

}

system("cls");

printf("航班號:%s座位信息如下:\n",ffSelect-fid);

showSinfo(ffSelect);

printf("請輸入要購買的座位編號(輸入0返回主菜單):");

scanf("%s",sid);

if(!strcmp(sid,"0"))

{

system("cls");

continue;

}

else

{

sfSelect=selectSinfo(ffSelect,sid);

if(!sfSelect||sfSelect-sell)

{

printf("未找到對應(yīng)座位或該座位已出售,請重新輸入!按任意鍵繼續(xù)-----\n");

getch();

system("cls");

continue;

}

printf("購買成功!按任意鍵繼續(xù)-----");

sfSelect-sell=1;

getch();

system("cls");

}

}

return0;

}

SINFO*selectSinfo(FLINFO*flinfo,char*sid)//選擇座位,返回節(jié)點(diǎn)

{

SINFO*sinfoHead=flinfo-sHead;

while(sinfoHead-next)

{

if(sinfoHead-next-cloID==sid[0]sinfoHead-next-row==atoi(sid+1))

returnsinfoHead-next;

sinfoHead=sinfoHead-next;

}

returnNULL;

}

voidshowSinfo(FLINFO*flinfo)//顯示航班對應(yīng)座位信息

{

SINFO*sinfoHead=flinfo-sHead,*sfp=NULL;

inti,j,k,row=maxRow,clo=strlen(cID);

chartypeStr[10]={0};

for(i=0;irow;i++)

{

//---------讀取座位所屬艙室------------

memset(typeStr,0,10);

for(k=0;kTYPESIZE;k++)

if(i+1=types[k][0]i+1=types[k][1])

strcpy(typeStr,typeName[k]);

//--------------------------------------

printf("\n");

for(j=0;jclo;j++)

printf("-------------");

printf("\n");

sfp=sinfoHead;

for(j=0;jclo;j++)

{

printf("|%c%02d|",sfp-next-cloID,sfp-next-row);

sfp=sfp-next;

}

printf("\n");

sfp=sinfoHead;

for(j=0;jclo;j++)

{

printf("|%c|",sfp-next-sell?2:1);

sfp=sfp-next;

}

printf("\n");

sfp=sinfoHead;

for(j=0;jclo;j++)

{

printf("|%6s:%4.0f|",typeStr,flinfo-tPrice*tDiscount[sfp-next-type]*timeDiscount);

sfp=sfp-next;

}

printf("\n");

sinfoHead=sfp;

}

for(j=0;iclo;j++)

printf("-------");

printf("\n");

}

FLINFO*selectFlinfo(FLINFO*flinfoHead,char*fid)//選擇航班號,返回節(jié)點(diǎn)

{

while(flinfoHead-next)

{

if(!strcmp(flinfoHead-next-fid,fid))

returnflinfoHead-next;

flinfoHead=flinfoHead-next;

}

returnNULL;

}

voidprintfFlinfo(FLINFO*flinfoHead)

{

while(flinfoHead-next)

{

printf("目的地:%s,航班號:%s\n----起飛時間:%s,抵達(dá)時間:%s\n\n",flinfoHead-next-toCity,flinfoHead-next-fid,getTString(localtime(flinfoHead-next-tfTime)),getTString(localtime(flinfoHead-next-ldTime)));

flinfoHead=flinfoHead-next;

}

}

char*getTString(structtm*tm0)//通過tm獲取時間字符串

{

char*str=(char*)malloc(sizeof(char)*20),num[5]={0};

meError(str);

memset(str,0,20);

sprintf(num,"%4d",tm0-tm_year+1900);

strcat(str,num);

strcat(str,"-");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_mon);

strcat(str,num);

strcat(str,"-");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_mday);

strcat(str,num);

strcat(str,"");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_hour);

strcat(str,num);

strcat(str,":");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_min);

strcat(str,num);

strcat(str,":");

memset(num,0,5);

sprintf(num,"%02d",tm0-tm_sec);

strcat(str,num);

returnstr;

}

time_tgetTime_tfromStr(char*sTime)//將YYYY-MM-DDhh:mm:ss格式的時間字符串轉(zhuǎn)換成time_t型數(shù)值

{

time_trt;

structtm*tm1=NULL;

rt=time(NULL);

tm1=localtime(rt);

sscanf(sTime,("%4d-%2d-%2d%2d:%2d:%2d"),tm1-tm_year,tm1-tm_mon,tm1-tm_mday,tm1-tm_hour,tm1-tm_min,tm1-tm_sec);

tm1-tm_year-=1900;

tm1-tm_mon--;

rt=mktime(tm1);

returnrt;

}

FLINFO*initFlight()//初始化航班信息,返回航班鏈表頭節(jié)點(diǎn),如果想手動輸入,請在這里添加?。?!正常軟件開發(fā),這一步應(yīng)該是從數(shù)據(jù)庫讀??!

{

FLINFO*ffHead=NULL,*flinfoTail=NULL,fNew;

//--------添加一個航班信息----需要增加按照我下面調(diào)用方式寫--------------------------------

strcpy(fNew.fid,"CI502");

fNew.tfTime=getTime_tfromStr("2019-02-2003:30:30");

fNew.ldTime=getTime_tfromStr("2019-02-2005:20:30");

strcpy(fNew.toCity,"臺北");

fNew.tPrice=1000;

fNew.next=NULL;

flinfoTail=addFLINFO(ffHead,flinfoTail,fNew);

//--------------------------------------------------------------------------------------------

strcpy(fNew.fid,"9C8921");

fNew.tfTime=getTime_tfromStr("2019-02-2014:30:30");

fNew.ldTime=getTime_tfromStr("2019-02-2016:40:30");

strcpy(fNew.toCity,"香港");

fNew.tPrice=500;

fNew.next=NULL;

flinfoTail=addFLINFO(ffHead,flinfoTail,fNew);

returnffHead;

}

FLINFO*addFLINFO(FLINFO**ffHead,FLINFO*flinfoTail,FLINFOfNew)//返回尾節(jié)點(diǎn)

//添加航班信息鏈表的節(jié)點(diǎn)flinfoHead:頭節(jié)點(diǎn)(第一次傳NULL會自動生成),flinfoTail:尾節(jié)點(diǎn),fNew:要添加的結(jié)構(gòu)信息(成員指針無需賦值)

{

FLINFO*flinfoHead=*ffHead;

if(flinfoHead==NULL)

{

*ffHead=(FLINFO*)malloc(sizeof(FLINFO));

flinfoHead=*ffHead;

meError(flinfoHead);

flinfoHead-next=NULL;

}

FLINFO*flinfoNew=(FLINFO*)malloc(sizeof(FLINFO));

meError(flinfoNew);

flinfoNew-next=NULL;

flinfoNew-fid[0]=0;

strcpy(flinfoNew-fid,fNew.fid);

flinfoNew-ldTime=fNew.ldTime;

flinfoNew-tfTime=fNew.tfTime;

flinfoNew-toCity[0]=0;

strcpy(flinfoNew-toCity,fNew.toCity);

flinfoNew-tPrice=fNew.tPrice;

flinfoNew-sHead=getSINFO();

if(flinfoHead-next==NULL)

flinfoHead-next=flinfoNew;

else

flinfoTail-next=flinfoNew;

flinfoTail=flinfoNew;

returnflinfoTail;

}

SINFO*getSINFO()//獲取座位鏈表

{

intmaxClo=strlen(cID),cnt=maxClo*maxRow,clo=0,row=1,i;

SINFO*sinfoHead=(SINFO*)malloc(sizeof(SINFO)),*sinfoTail=NULL;

meError(sinfoHead);

sinfoHead-next=NULL;

SINFO*sinfoNew=NULL;

while(cnt--)//按順序生成對應(yīng)數(shù)量的座位鏈表

{

if(clo==maxClo)

clo=0,row++;

if(row==maxRow+1)

row=1;

sinfoNew=(SINFO*)malloc(sizeof(SINFO));

meError(sinfoNew);

sinfoNew-cloID=cID[clo];

sinfoNew-row=row;

for(i=0;iTYPESIZE;i++)

if(row=types[i][0]row=types[i][1])

{

sinfoNew-type=i;

break;

}

sinfoNew-sell=0;

sinfoNew-next=NULL;

if(sinfoHead-next==NULL)

sinfoHead-next=sinfoNew;

else

sinfoTail-next=sinfoNew;

sinfoTail=sinfoNew;

clo++;

}

returnsinfoHead;

}

voidmeError(void*p)//內(nèi)存申請失敗

{

if(p==NULL)

{

printf("\n異常:內(nèi)存申請失??!回車結(jié)束程序!\n");

while(getch()!='\r');

exit(0);

}

}

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計飛機(jī)訂票系統(tǒng),求詳解,帶有報告的。

可以憑借Baiduhi提示我們

有機(jī)會能夠處理你所遇到的工作

更進(jìn)一步的要求也能夠提示我們

ES:\\53ABFDD3C0894D0F9B505625D27415AF

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

兄弟(或姐妹):

在你以下的提問,我已作出評語和建議了

這問題已超乎你能力所及

試想:一個電腦操作程序、一個龐大的程序,需要好幾個光碟才能寫完

是《百度知道》收得了嗎?

即使某人能寫出這程序,他會要求版權(quán)費(fèi)...送給你?

別再鬧了,好嗎?

關(guān)于《飛機(jī)訂票系統(tǒng)報告緒論》的介紹到此就結(jié)束了。

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