c语言飞机订票系统作用,C语言飞机订票系统方案
《C語言飛機訂票系統方案》由會員分享,可在線閱讀,更多相關《C語言飛機訂票系統方案(16頁珍藏版)》請在人人文庫網上搜索。
1、課程設計課程:數據結構專業班級: xx 軟件工程 xx 班姓名: xx學號: xxx姓名: xxx學號: xxx設計時間: xxx指導老師: xxx.課程設計題:飛機訂票系統一、 設計目的1 掌握結構體數組的表示和存儲。2. 掌握鏈表的存儲和操作。3 掌握文件的操作。二、設計內容和要求1.任務:通過此系統可以實現如下功能:錄入: 可以錄入航班情況(數據可以存儲在一個數據文件中,數據結構、具體數據自定)查詢: 可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達城市,查詢飛機航班情況;訂票: 訂票情況可以存在一個數據文件中,。
2、結構自己設定。可以訂票,如果該航班已經無票,可以提供相關可選擇航班;退票:可退票,退票后修改相關數據文件;客戶資料有姓名,證件號,訂票數量及航班情況,訂單要有編號。修改航班信息: 當航班信息改變可以修改航班數據文件。要求: 根據以上功能說明,設計航班信息,訂票信息的存儲結.構,設計程序完成功能設計思想:管理操作系統,主要考慮的是信息的錄入,這里利用文件的讀寫完成該功能;輸出,查詢以及刪除,利用結構數組存儲航班與客戶信息,依次對訂票,退票,查詢及相關操作編寫成子程序,然后再主程序中調用,這樣程序看起來相當簡練,而且易讀懂;算法設計分析:(次系統運行環境為VC6.0)1.txtbeijingsha。
3、nghai11120111806 1002shanghaiwuhang22 1202214 02 1101wuhangchibi33 13033 1401 502(此文件是程序執行航班信息錄入時自動生成,在信息讀取時需要調用)首先是航班于客戶信息的存儲,結構數組的利用很好的解決該問題;其次是文件的操作,在主函數中利用文件的讀與寫;下面介紹訂票退票.以及查詢操作的實現。1 訂票:首先輸入出發地與目的地,查找是否有相應的航班信息,在航2 班票數足夠的情況下,錄入客戶信息,提示操作成功;否則失敗。3 退票:輸入退票客戶的姓名與身份號碼,查找到該客戶信息后進行退票操作,完成后對應航班票數加 1;若沒有。
4、該客戶信息,提示查無此人。查詢:輸入客戶姓名與身份號碼,若查到有該客戶信息,顯示該客戶的航班情況;否則提示差無此人。/ 飛機定票管理系統#include#include#define N 10struct flightchar start10;/出發地char end10;/目的地int s_month;/出發時間月份 , 天 , 小時 , 分鐘int s_day;int s_hour;.int s_minute;int d_month;/到達時間月份 , 天,小時 , 分鐘int d_day;int d_hour;int d_minute;int coast_t;/歷時多久int coast。
5、_m;/票價int num;/剩余票數/int bianhao;/機票編號airN;/結構體數組存儲航班信息/ 客戶信息struct conint number;/定票者的證件號碼char name10;/定票者的名字char start10;/出發地char end10;/目的地int s_month;/出發時間月份 , 天 , 小時 , 分鐘int s_day;int s_hour;int s_minute;int d_month;/到達時間月份 , 天,小時 , 分鐘int d_day;int d_hour;int d_minute;.int coast_t;/歷時多久int coast。
6、_m;/票價/int bianhao;/機票編號people100;/ 定票 , 輸出發地與目的地 , 時間 , 反饋剩余票 , 票價book(int t)int i,month,day,p,q,k=0;/k為判斷輸入的信息是否有誤char start10,end10;printf(定票 :n);/ 輸入查詢的航班信息 , 以便搜索while(k=0)printf( 請輸入出發地 , 目的地 , 出發日期 :n); /*gets(start);gets(end);/*這里輸入時應注意用回車鍵 , 否則默認字符串存入start*scanf(%d,%d,&month,&day);/*/scanf(。
7、%s,%s,%d,%d,start,end,&month,&day);/ getchar();printf(%s,%s,%d,%d,start,end,month,day);/ 掃描信息 , 搜索與所查詢的航班匹配信息for(i=0;iN;i+)p=strcmp(start,airi.start);q=strcmp(end,airi.end);.if(p=0&q=0&month=airi.s_month&day=airi.s_day)k=1;/信息輸入無誤 , 即找到匹配信息printf(由%s到%s時間為 %d月 %d號的航班票價為%d,余票為%dn,airi.start,airi.end,。
8、airi.s_month,airi.s_day,airi.coast_m,airi.num);/ 更新信息 , 將客戶信息存儲if(airi.num=0)printf(票已售完 , 如有不便請諒解!nnnn);elseairi.num=airi.num-1;printf(請輸入您的證件號碼與姓名:n);scanf(%d,%s,&peoplet.number,peoplet.name);getchar();strcpy(peoplet.start,airi.start);strcpy(peoplet.end,airi.end);peoplet.s_month=airi.s_month;peopl。
9、et.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;.peoplet.coast_t=airi.coast_t;peoplet.coast_m=airi.coast_m;/ peoplet.bianhao=airi.bianhao; printf( 恭喜您定票成功 !nn。
10、nn);t+;/ system(pause);if(k=0)printf( 信息輸入有誤 n);printf( 是否繼續定票 ?0 為繼續 1 為退出 n); scanf(%d,&k);getchar();return t;/ 退票 , 并將客戶信息欄中該客戶信息清楚 , 所乘航班票數加 1 re_ti(int t)int i,j,nu_mber,k=0;/k為判斷是否查找到客戶信息char na_me10;printf(退票 :n);.printf(請輸入證件號碼與客戶姓名:n);scanf(%d,%s,&nu_mber,na_me);getchar();for(i=0;i100;i+)if。
11、(nu_mber=peoplei.number&strcmp(na_me,peoplei.name)=0)k=1;/找到該客戶信息/ 退票后 , 與該客戶對應航班票數增 1 for(j=0;jN;j+)if(strcmp(peoplei.start,airj.start)=0&strcmp(peoplei.end,air j.end)=0&peoplei.s_month=airj.s_month&peoplei.s_day=airj.s_d ay)airj.num=airj.num+1;/ 將客戶信息依次向前移動for(j=i;j100;j+)/ printf(成功刪除該客戶信息!n);peo。
12、plej.number=peoplej+1.number;strcpy(peoplej.name,peoplej+1.name);strcpy(peoplej.start,peoplej+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_mo。
13、nth;peoplej.d_day=peoplej+1.d_day;peoplej.d_hour=peoplej+1.d_hour;peoplej.d_minute=peoplej+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為判斷是否。
14、查找到客戶信息char na_me10;printf(查詢 :n);.printf(請輸入證件號碼與客戶姓名:n);/ getch();/fflush(stdin);scanf(%d,%s,&nu_mber,na_me); for(i=0;i100;i+)if(nu_mber=peoplei.number&strcmp(na_me,peoplei.name)=0)k=1;printf(以下是該客戶信息:n);printf(證件號 :%d; 姓名 :%s; 出發地 :%s; 目的地 :%s; 出發時間:%d 月 %d日 %d時 %d分n,peoplei.number,peoplei.name,p。
15、eoplei.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為循環判斷變量int t=0;./*FILE *fp;char name=1.txt;if(!(fp=fopen(1.txt,w)printf(error!n);for(i=0;i3;i+)fprintf(fp,%15s%15s%4d%4d%4d%4d%4d%4d%4d%4d。
16、%4d%4d%4dn,airi.star t,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_m inute,airi.coast_t,airi.coast_m,airi.num);fclose(fp);*/FILE *fp;char name=1.txt;if(!(fp=fopen(1.txt,r)printf(error!n);for(i=0;i3;i+)fscanf(fp,%15s%15s%4d%4d%4d%4d%4d%4d%4d%4。
17、d%4d%4d%4dn,&airi.star t,&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.coast_t,&airi.coast_m,&airi.num);fclose(fp);./ char name; /read conument while(q=0)printf(*n);printf(請選擇服務種類 :n1為定票 ;2 為退票 ;3 查找信息 ;0 為退出 n);printf(*n。
18、);/ system(pause);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;輸入從北京到上海的航班,錄入客戶信息,當前票數為2;輸入查詢的客戶證件號碼與姓名,找到后輸出客戶的航班信息;.輸入退票者的信息,完成后在進行查找操作時確定。
19、已經沒有該客戶信息;退出界面;收獲及體會:通過此次實驗,使我對結構數組有了更深刻的理解,也認識到了它的一些缺陷,就是如果對它進行刪除以及增添信息時,信息的移動有點麻煩;這時如果用鏈表進行操作的話會相對簡單些;于此同時,語言這類學科,用著就會熟練起來,程序開始時,生疏的地方很多,久而久之,用起來就熟練了;.主函數選擇服務種建立 1.txt 文件,將航班信息寫入,用于子程序調用;1 調用2 調用3 調用訂票子退票子查詢子程序程序程序4 退出輸入出發航班輸入客戶信輸入客戶信信息息息信息匹配刪除該客若找到該則記錄客戶信息,客戶則輸戶信息,所對應航出他的信否則給出班票數增息,否則處理情況加提示沒有繼續還是退出繼續還是退出繼續還是退出到主服務?到主服務?到主服務?子程序。
總結
以上是生活随笔為你收集整理的c语言飞机订票系统作用,C语言飞机订票系统方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32F407 硬件IIC驱动MCP
- 下一篇: windows10华硕安装杜比音效