《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告訂票系統(tǒng)

上傳人:仙*** 文檔編號(hào):28356993 上傳時(shí)間:2021-08-26 格式:DOC 頁(yè)數(shù):22 大?。?57KB
收藏 版權(quán)申訴 舉報(bào) 下載
《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告訂票系統(tǒng)_第1頁(yè)
第1頁(yè) / 共22頁(yè)
《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告訂票系統(tǒng)_第2頁(yè)
第2頁(yè) / 共22頁(yè)
《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告訂票系統(tǒng)_第3頁(yè)
第3頁(yè) / 共22頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告訂票系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《《C++程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告訂票系統(tǒng)(22頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、課程設(shè)計(jì) 《C++程序設(shè)計(jì)》課程設(shè)計(jì) 設(shè)計(jì)報(bào)告 學(xué)號(hào) 姓名 指導(dǎo)教師 題 目 訂票系統(tǒng) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 年 月 日 目錄 1. 需求分析……………………………………………3 1.1輸入形式………………………………………………3 1.2輸出形式………………………………………………3 1.3程序功能………………………………………………3 1.4測(cè)試數(shù)據(jù)………………………………………………3 2. 概要設(shè)計(jì)………………………………

2、……………3 2.1流程分析………………………………………………3 2.2具體步驟………………………………………………3 2.3功能模塊………………………………………………4 3. 詳細(xì)設(shè)計(jì)………………………………………………4 3.1流程圖…………………………………………………4 3.2源代碼…………………………………………………5 4. 調(diào)試分析 ………………………………………… 14 4.1調(diào)試……………………………………………………20 4.2驗(yàn)與總結(jié)………………………………………………21 5.參考文獻(xiàn)………………

3、……………………………21   第一章 需求分析 本程序使用visual studio 2010 C++語(yǔ)言編寫,完成訂票系統(tǒng)的錄入,查詢,訂票,退票及增加、刪除、修改航班信息。 1.1 輸入的形式和輸入值的范圍 輸入的形式是數(shù)字、人名及編號(hào)。 輸入值的范圍:無。 1.2輸出的形式 輸出為訂票,包含姓名,座位號(hào)等。 1.3程序所能達(dá)到的功能 本程序編寫完成后能達(dá)到訂票的生成及修改,退訂,查詢和退出。 1.4測(cè)試數(shù)據(jù) 進(jìn)入訂票系統(tǒng)后,選擇訂票,輸入姓名aaa。 再根據(jù)選項(xiàng)依次選擇進(jìn)行測(cè)試。 第二章 概要設(shè)計(jì) 2.1 實(shí)現(xiàn)流程分析: 采用類模塊和文件想

4、結(jié)合的方式實(shí)現(xiàn)該操作,首先定義一個(gè)airline類并將一些基本數(shù)據(jù)定義為類的共有成員,同時(shí)設(shè)置成員函數(shù)來設(shè)置數(shù)據(jù)和輸出數(shù)據(jù)。 2.2具體步驟 訂票:運(yùn)用類的成員函數(shù)設(shè)置數(shù)據(jù)并寫到文件中去,然后在后面的程序中讀出。 退票:將文件中的數(shù)據(jù)讀出,用for循環(huán)語(yǔ)句進(jìn)行查找并修改數(shù)據(jù) 查詢:用for循環(huán)語(yǔ)句進(jìn)行查找并讀出,沒有數(shù)據(jù)的顯示錯(cuò)誤 主函數(shù):用while語(yǔ)句制作菜單,用戶根據(jù)需要進(jìn)行選擇 2.3系統(tǒng)功能模塊 (1)錄入(航班相關(guān)記錄)功能模塊 (2)查詢(航班相關(guān)記錄)功能模塊 (3)訂票功能模塊 (4)退票功能模塊 (4)退出系統(tǒng)功能模塊 第三章 詳細(xì)設(shè)計(jì)

5、 1 訂票 2 退票 3 查詢 4 退出 3.1流程圖 開始訂票 開始退票 按條件查詢 退出系統(tǒng) 3.2 源代碼 #include #include #include #include "conio.h" #define OK 1 //1.避免幻數(shù)出現(xiàn)(幻數(shù)即諸如0,1,100之類的數(shù)字常量,因?yàn)闊o法從字面上看出該數(shù)字代表的意義,所以通常用宏替換,讓人一看就明白其代表的意義,如ERROR錯(cuò)誤,OK正確) #define ERROR 0 /

6、/2.便于修改,如果要更改ERROR或OK的定義只需修改宏定義即可,不用再在編碼中尋找一個(gè)個(gè)修改。 typedef struct airline{ char air_num[8]; char plane_num[8]; char end_place[20]; int total; int left; struct airline *next; }airline; typedef struct customer{ char name[8]; char air_num[8]; int seat_num; struct custome

7、r *next; }customer; airline *start_air() { airline *a; a=(airline*)malloc(sizeof(airline)); if(a==NULL) a->next=NULL; return a; } customer *start_cus() { customer *c; c=(customer*)malloc(sizeof(customer)); if(c==NULL) c->next=NULL; return c; } airline *modefy_a

8、irline(airline *l,char *air_num) { airline *p; p=l->next; for(;p!=NULL;p=p->next) { if(strcmp(air_num,p->air_num)==0) { p->left++; return l; } printf("沒有這趟航班!"); return 0; } } int insert_air(airline **p,char *air_num,char *plane_num,char *end_place,int total,in

9、t left) { airline *q; q=(airline*)malloc(sizeof(airline)); strcpy(q->air_num,air_num); strcpy(q->plane_num,plane_num); strcpy(q->end_place,end_place); q->total=total; q->left=left; q->next=NULL; (*p)->next=q; (*p)=(*p)->next; return OK; } int insert_cus(customer

10、 **p,char *name,char *air_num,int seat_num) { customer *q; q=(customer*)malloc(sizeof(customer)); strcpy(q->name,name); strcpy(q->air_num,air_num); q->seat_num=seat_num; q->next=NULL; (*p)->next=q; (*p)=(*p)->next; return OK; } int book(airline *a,char *air_num,customer

11、 *c,char *name) { airline *p=a; customer *q=c->next; p=a->next; for(;q->next!=NULL;q=q->next){} for(;p->next!=NULL;p=p->next) { if(p->left>0) { printf("您的座位號(hào)是:%d",(p->total-p->left+1)); insert_cus(&q,name,air_num,p->total-p->left+1); p->left--; return OK; }

12、 else { printf("座位已滿"); return 0; } } } int del_cus(customer *c,airline *l,char *name) { customer *p,*pr; char air_num[8]; pr=c; p=pr->next; while(p!=NULL) { if(strcmp(p->name,name)==0) { strcpy(air_num,p->air_num); l=modefy_airline(l,air_num); pr->

13、next=p->next; p=pr->next; printf("完成!"); return OK; } pr=pr->next; p=pr->next; } printf("NO the customer!"); return ERROR; } int search_air(airline *head) { airline *p=head->next; printf("air_num plane_num end_place total left\n"); for(;p!=NULL;p=p->next)

14、{ printf("%s %-10s %-8s %-8d%-8d\n",p->air_num,p->plane_num,p->end_place,p->total,p->left); } return OK; } int search_cus(customer *head) { struct customer *q=head->next; printf("name air_num seat_num\n"); for(;q!=NULL;q=q->next) { printf("%-8s%-12s%-d\n",q->name,q->air_nu

15、m,q->seat_num); } return OK; } int creat_air(airline **l) { airline *p=*l; int i=0; char *air_num[3]={"航班1","航班2","航班3"}; char *plane_num[3]={"plane1","plane2","plane3"}; char *end_place[3]={"北京","上海","天津"}; int total[3]={100,100,100}; int left[3]={52,54,76}; for(i=0

16、;i<3;i++) insert_air(&p,air_num[i],plane_num[i],end_place[i],total[i],left[i]); return OK; } int creat_cus(customer **l) { customer *p=*l; int i=0; char *name[3]={"張三","李四","王五"}; char *air_num[3]={"航班1","航班2","航班3"}; int seat_num[3]={2,5,7}; for(i=0;i<3;i++) insert_cus

17、(&p,name[i],air_num[i],seat_num[i]); return OK; } void main() { int t=1; customer *cus=start_cus(); airline *air=start_air(); char name[8],air_num[8],ch; creat_air(&air); creat_cus(&cus); while(t==1) { printf("\n"); printf("*********************************\n");

18、 printf("* 歡迎來到訂票系統(tǒng)! *\n"); printf("* 訂票--------1 *\n"); printf("* 退票--------2 *\n"); printf("* 查詢--------3 *\n"); printf("* 退出--------4 *\n"); printf("*********************************\n"); ch=getch(); if(ch==1) { printf("Please input a airline number:"); scanf("%s",a

19、ir_num); printf("請(qǐng)輸入您的名字:"); scanf("%s",name); book(air,air_num,cus,name); } else if(ch==2) { printf("Please input the cancel name:"); scanf("%s",name); del_cus(cus,air,name); } else if(ch==3) { search_air(air); printf("\n"); search_cus(cus); }

20、 else if(ch==4) { t=0; } } } 第四章 調(diào)試分析 4.1調(diào)試 進(jìn)入界面: 選擇功能1: 選擇功能2: 選擇功能3: 4.2經(jīng)驗(yàn)與總結(jié) 通過本次課程設(shè)計(jì),我認(rèn)識(shí)到了自己的不足。對(duì)平時(shí)所學(xué)內(nèi)容局限于老師講的例子,不思舉一反三,不思融會(huì)貫通,所以在需要多個(gè)內(nèi)容課程設(shè)計(jì)時(shí)感到束手無策,手足無措。在上網(wǎng)查找了有關(guān)資料之后,自己也慢慢有了一點(diǎn)想法,根據(jù)課程設(shè)計(jì)的內(nèi)容要求一項(xiàng)一項(xiàng)完成。 C++語(yǔ)言的進(jìn)步讓我深刻的感受到任何所學(xué)的知識(shí)都需要實(shí)踐,沒有實(shí)踐就無法真正理解這些知識(shí)以及掌握它們,使其成為自己的財(cái)富。 第六章 參考文獻(xiàn) [1]譚浩強(qiáng) 《C++程序設(shè)計(jì)》 北京:清華大學(xué)出版社,2004.6 [2]譚浩強(qiáng) 《C++程序設(shè)計(jì)題解與上機(jī)指導(dǎo)》 北京:清華大學(xué)出版社,2005.3 [3]CSDN 22

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!