


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課程設(shè)計課程:數(shù)據(jù)結(jié)構(gòu)專業(yè)班級:xx 軟件工程 xx 班姓名: xx學(xué)號: xxx姓名: xxx學(xué)號: xxx設(shè)計時間: xxx指導(dǎo)老師: xxx課程設(shè)計題:飛機訂票系統(tǒng)一、 設(shè)計目的1 掌握結(jié)構(gòu)體數(shù)組的表示和存儲。2. 掌握鏈表的存儲和操作。3 掌握文件的操作。二、設(shè)計內(nèi)容和要求1. 任務(wù):通過此系統(tǒng)可以實現(xiàn)如下功能:錄入: 可以錄入航班情況(數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中,數(shù) 據(jù)結(jié)構(gòu)、具體數(shù)據(jù)自定)查詢: 可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否 滿倉);可以輸入起飛抵達城市,查詢飛機航班情況;訂票: 訂票情況可以存在一個數(shù)據(jù)文件中
2、,結(jié)構(gòu)自己設(shè)定。可以訂票,如果該航班已經(jīng)無票,可以提供相關(guān)可選擇航班;退票:可退票,退票后修改相關(guān)數(shù)據(jù)文件;客戶資料有姓名,證件號,訂票數(shù)量及航班情況,訂單要 有編號。修改航班信息: 當航班信息改變可以修改航班數(shù)據(jù)文件。要求: 根據(jù)以上功能說明,設(shè)計航班信息,訂票信息的存儲結(jié)構(gòu),設(shè)計程序完成功能 設(shè)計思想:管理操作系統(tǒng),主要考慮的是信息的錄入,這里利用文件的讀寫完成該 功能;輸出,查詢以及刪除,利用結(jié)構(gòu)數(shù)組存儲航班與客戶信息,依次 對訂票,退票,查詢及相關(guān)操作編寫成子程序,然后再主程序中調(diào)用, 這樣程序看起來相當簡練,而且易讀懂;算法設(shè)計分析:(次系統(tǒng)運行環(huán)境為 VC6.0)1.txtbeij
3、ing shanghai 1 1 12 0 1 1 18 06 100 2shanghai wuhang 2 2 12 0 2 2 14 02 110 1wuhang chibi 3 3 13 0 3 3 14 01 50 2(此文件是程序執(zhí)行航班信息錄入時自動生成,在信息讀取時需要調(diào) 用)首先是航班于客戶信息的存儲,結(jié)構(gòu)數(shù)組的利用很好的解決該問題; 其次是文件的操作,在主函數(shù)中利用文件的讀與寫;下面介紹訂票退票以及查詢操作的實現(xiàn)。1 訂票:首先輸入出發(fā)地與目的地,查找是否有相應(yīng)的航班信息,在航 2班票數(shù)足夠的情況下,錄入客戶信息,提示操作成功;否則失敗。3 退票:輸入退票客戶的姓名與身份號碼
4、,查找到該客戶信息后進行退 票操作,完成后對應(yīng)航班票數(shù)加1;若沒有該客戶信息,提示查無此人。查詢:輸入客戶姓名與身份號碼,若查到有該客戶信息,顯示該客戶的 航班情況;否則提示差無此人。/ 飛機定票管理系統(tǒng)#include<stdio.h>#include<windows.h>#define N 10struct flightchar start10;/ 出發(fā)地int s_month;/ 出發(fā)時間月份 ,天,小時 ,分鐘 int s_day;int s_hour;int s_minute;int d_month;/ 到達時間月份 , 天,小時 ,分鐘int d_day;i
5、nt d_hour;int d_minute;int coast_t;/ 歷時多久int coast_m;/ 票價int num;/ 剩余票數(shù)/int bianhao;/ 機票編號airN;/ 結(jié)構(gòu)體數(shù)組存儲航班信息/ 客戶信息struct conint number;/ 定票者的證件號碼char start10;/ 出發(fā)地char end10;/ 目的地int s_month;/ 出發(fā)時間月份 ,天,小時 ,分鐘int s_day;int s_hour;int s_minute;int d_month;/ 到達時間月份 , 天,小時 ,分鐘int d_day;int d_hour;int d
6、_minute;int coast_t;/ 歷時多久int coast_m;/ 票價/ int bianhao;/ 機票編號people100;/ 定票,輸出發(fā)地與目的地 ,時間,反饋剩余票 ,票價book(int t)int i,month,day,p,q,k=0;/k 為判斷輸入的信息是否有誤/ 輸入查詢的航班信息 ,以便搜索while(k=0)printf(" 請輸入出發(fā)地 , 目的地 , 出發(fā)日期 :n");/*gets(start);gets(end); /* 這里輸入時應(yīng)注意用回車鍵 否則默認字符串存入 start*scanf("%d,%d"
7、,&month,&day);/*/scanf("%s,%s,%d,%d",start,end,&month,&day);/ getchar();printf("%s,%s,%d,%d",start,end,month,day);/ 掃描信息 ,搜索與所查詢的航班匹配信息for(i=0;i<N;i+)p=strcmp(start,airi.start);q=strcmp(end,airi.end);if(p=0&&q=0&&month=airi.s_month&&day=
8、airi.s_day)k=1;/ 信息輸入無誤 ,即找到匹配信息為 dn",airi.start,airi.e nd,airi.s_mo nth,airi.s_day,airi.coast_m,airi. nu m);/ 更新信息 , 將客戶信息存儲if(airi.num=0)printf(" 票已售完 ,如有不便請諒解 !nnnn");elseairi.num=airi.num-1;printf(" 請輸入您的證件號碼與姓名 :n");scanf("%d,%s",&peoplet.number,peoplet.na
9、me); getchar();strcpy(peoplet.start,airi.start);strcpy(peoplet.end,airi.end);peoplet.s_month=airi.s_month;peoplet.s_day=airi.s_day;peoplet.s_hour=airi.s_hour;peoplet.s_minute=airi.s_minute;peoplet.d_month=airi.d_month;peoplet.d_day=airi.d_day;peoplet.d_hour=airi.d_hour;peoplet.d_minute=airi.d_minute
10、;peoplet.coast_t=airi.coast_t;peoplet.coast_m=airi.coast_m;printf(" 恭喜您定票成功 !nnnn"); t+;/ system("pause");if(k=0)printf(" 信息輸入有誤 n");printf(" 是否繼續(xù)定票 ?0為繼續(xù) 1為退出 n"); scanf("%d",&k);getchar();return t;/ 退票,并將客戶信息欄中該客戶信息清楚 ,所乘航班票數(shù)加 1 re_ti(int t)int
11、 i,j,nu_mber,k=0;/k 為判斷是否查找到客戶信息char na_me10;printf(" 請輸入證件號碼與客戶姓名 :n");scanf("%d,%s",&nu_mber,na_me);getchar();for(i=0;i<100;i+)if(nu_mber=peoplei.number&&strcmp(na_me,)=0) k=1;/ 找到該客戶信息/退票后 ,與該客戶對應(yīng)航班票數(shù)增 1for(j=0;j<N;j+)if(strcmp(peoplei.start,airj.
12、start)=0&&strcmp(peoplei.end,airj.end)=0&&peoplei.s_month=airj.s_month&&peoplei.s_day=airj.s_day)airj.num=airj.num+1;/ 將客戶信息依次向前移動for(j=i;j<100;j+)/ printf(" 成功刪除該客戶信息 !n");peoplej.number=peoplej+1.number;strcpy(,peoplej+1.name);strcpy(peoplej.start,p
13、eoplej+1.start);strcpy(peoplej.end,peoplej+1.end);peoplej.s_month=peoplej+1.s_month;peoplej.s_day=peoplej+1.s_day;peoplej.s_hour=peoplej+1.s_hour;peoplej.s_minute=peoplej+1.s_minute;peoplej.d_month=peoplej+1.d_month;peoplej.d_day=peoplej+1.d_day;peoplej.d_hour=peoplej+1.d_hour;peoplej.d_minute=peopl
14、ej+1.d_minute;peoplej.coast_t=peoplej+1.coast_t;peoplej.coast_m=peoplej+1.coast_m;t=t-1;/ 刪除該客戶信息后 ,客戶記錄減去 1if(k=0)printf(" 查無此人 !n");printf("nnnn");return t;/ 查詢信息,出入所要查詢的顧客的航班信息,并給出錯誤處理check()int i,nu_mber,k=0;/k 為判斷是否查找到客戶信息char na_me10;printf(" 查詢 :n");printf("
15、 請輸入證件號碼與客戶姓名 :n");/ getch();/fflush(stdin);scanf("%d,%s",&nu_mber,na_me);for(i=0;i<100;i+)if(nu_mber=peoplei.number&&strcmp(na_me,)=0)k=1;printf(" 以下是該客戶信息 :n");printf("證件號:d;姓名:s;出發(fā)地:s;目的地:s;出發(fā)時 間:%d月%d日%d時%d分n",peoplei.number,peoplei.n
16、ame,peoplei.start,peoplei.end,peoplei.s_month, peoplei.s_day,peoplei.s_hour,peoplei.s_minute);printf("nnnn");if(k=0)printf(" 查無此人 !nnnn");main()/ 使用文件初始化信息int s,p,q=0,i;/p,q 為循環(huán)判斷變量int t=0;/*FILE *fp;char name="1.txt"if(!(fp=fopen("1.txt","w")printf(
17、"error!n");for(i=0;i<3;i+)fprintf(fp,"%15s%15s%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4dn",airi.start,airi.end,airi.s_month,airi.s_day,airi.s_hour,airi.s_minute,airi.d_month,airi.d_day,airi.d_hour,airi.d_minute,airi.c oast_t,airi.coast_m,airi.num);fclose(fp);*/FILE *fp;char name="
18、1.txt"if(!(fp=fopen("1.txt","r")printf("error!n");for(i=0;i<3;i+)fscanf(fp,"%15s%15s%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4dn",&airi.start,&airi.end,&airi.s_month,&airi.s_day,&airi.s_hour,&airi.s_minute,&airi.d_month,&airi.d_da
19、y,&airi.d_hour,&airi.d_minute,&airi.coast_t,&airi.coast_m,&airi.num);fclose(fp);/char name;/read conument while(q=0)printf(H*n);printf(" 請選擇服務(wù)種類 :n1 為定票 ;2 為退票 ;3 查找信息 ;0 為退出 n");printf(H*n);scanf("%d",&s);getchar();switch(s)case 1:t=book(t);/ 訂票操作break;case 2:t=re_ti(t);/ 退票操作break;case 3:check();/ 查找客戶信息是否存在break;case 0:printf(" 航空集團祝福您旅途愉快 !");printf(" 您確定離開界面 ?1/0n");scanf("%d",&p);if(p=1)q=1;else q=0;躍簪芻鱉:;信;退出LiiXs發(fā)地丐的地岀發(fā)日期n I JI IbeijingshanghaiLi,b° ij inff, Shanghai,1 1由be i j inglJsTiansrhai時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新媒體賦能下的2025年廣播影視行業(yè)融合傳播策略研究報告
- 互聯(lián)網(wǎng)數(shù)據(jù)中心建設(shè)2025年初步設(shè)計數(shù)據(jù)中心智能化改造評估報告
- 基于大數(shù)據(jù)的2025年奢侈品消費行為變化研究報告
- 職業(yè)培訓(xùn)學(xué)校建設(shè)2025年教學(xué)效果評價與反饋機制評估報告
- 加工房轉(zhuǎn)讓合同標準文本
- 公司分成合同樣本
- 個人轉(zhuǎn)讓公司合同標準文本
- 賣沙子購銷合同樣本
- 中藥材藥品采購合同范例
- 南京服裝加工合同樣本
- 電商客服崗轉(zhuǎn)正述職報告
- 農(nóng)業(yè)安全問題
- 導(dǎo)管護理相關(guān)知識
- DB37-T 5061-2024 住宅小區(qū)供配電設(shè)施建設(shè)標準
- (2025)時事政治題庫(含參考答案)
- 2025年中國融通農(nóng)發(fā)社會招聘筆試參考題庫含答案解析
- 養(yǎng)老院護理員培訓(xùn)制度
- 公司安全生產(chǎn)事故隱患內(nèi)部報告獎勵工作制度
- 建行金融生態(tài)圈
- 安全評估標準
- 2025新人教版英語七年級下單詞默寫單
評論
0/150
提交評論