C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告訂票系統(tǒng)_第1頁(yè)
C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告訂票系統(tǒng)_第2頁(yè)
C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告訂票系統(tǒng)_第3頁(yè)
C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告訂票系統(tǒng)_第4頁(yè)
C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告訂票系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、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ù)32. 概要設(shè)計(jì)3 2.1流程分析3 2.2具體步驟3 2.3功能模塊43. 詳細(xì)設(shè)計(jì)4 3.1流程圖4 3.2源代碼54. 調(diào)試分析 14 4.1調(diào)試20 4.2驗(yàn)與總結(jié)215.參考文獻(xiàn)21第一章 需求分析本程序使用visual studio 2010 C+語(yǔ)言編寫(xiě),完成訂票系統(tǒng)的錄入,查詢(xún),訂票,退票及增加、刪除、修改航班信息。1.1 輸入的形式和輸入值的范圍輸入的形式是數(shù)字、人名及編號(hào)。 輸入值的范圍:無(wú)。1.2輸出

2、的形式輸出為訂票,包含姓名,座位號(hào)等。1.3程序所能達(dá)到的功能本程序編寫(xiě)完成后能達(dá)到訂票的生成及修改,退訂,查詢(xún)和退出。1.4測(cè)試數(shù)據(jù)進(jìn)入訂票系統(tǒng)后,選擇訂票,輸入姓名aaa。再根據(jù)選項(xiàng)依次選擇進(jìn)行測(cè)試。第二章 概要設(shè)計(jì)2.1 實(shí)現(xiàn)流程分析:采用類(lèi)模塊和文件想結(jié)合的方式實(shí)現(xiàn)該操作,首先定義一個(gè)airline類(lèi)并將一些基本數(shù)據(jù)定義為類(lèi)的共有成員,同時(shí)設(shè)置成員函數(shù)來(lái)設(shè)置數(shù)據(jù)和輸出數(shù)據(jù)。2.2具體步驟訂票:運(yùn)用類(lèi)的成員函數(shù)設(shè)置數(shù)據(jù)并寫(xiě)到文件中去,然后在后面的程序中讀出。 退票:將文件中的數(shù)據(jù)讀出,用for循環(huán)語(yǔ)句進(jìn)行查找并修改數(shù)據(jù)查詢(xún):用for循環(huán)語(yǔ)句進(jìn)行查找并讀出,沒(méi)有數(shù)據(jù)的顯示錯(cuò)誤主函數(shù):用wh

3、ile語(yǔ)句制作菜單,用戶(hù)根據(jù)需要進(jìn)行選擇2.3系統(tǒng)功能模塊(1)錄入(航班相關(guān)記錄)功能模塊(2)查詢(xún)(航班相關(guān)記錄)功能模塊(3)訂票功能模塊(4)退票功能模塊(4)退出系統(tǒng)功能模塊第三章 詳細(xì)設(shè)計(jì)1訂票2退票3查詢(xún)4 退出3.1流程圖開(kāi)始訂票開(kāi)始退票按條件查詢(xún)退出系統(tǒng)3.2 源代碼#include #include #include #include conio.h#define OK 1 /1.避免幻數(shù)出現(xiàn)(幻數(shù)即諸如0,1,100之類(lèi)的數(shù)字常量,因?yàn)闊o(wú)法從字面上看出該數(shù)字代表的意義,所以通常用宏替換,讓人一看就明白其代表的意義,如ERROR錯(cuò)誤,OK正確) #define ERROR

4、0 /2.便于修改,如果要更改ERROR或OK的定義只需修改宏定義即可,不用再在編碼中尋找一個(gè)個(gè)修改。typedef struct airline char air_num8; char plane_num8; char end_place20; int total; int left; struct airline *next;airline;typedef struct customer char name8; char air_num8; int seat_num; struct customer *next;customer;airline *start_air() airline *

5、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_airline(airline *l,char *air_num) airline *p; p=l-next; for(;p!=NULL;p=p-next) if(strcmp(air_num,p-air_num

6、)=0) p-left+; return l; printf(沒(méi)有這趟航班!); return 0; int insert_air(airline *p,char *air_num,char *plane_num,char *end_place,int total,int 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-lef

7、t=left; q-next=NULL; (*p)-next=q; (*p)=(*p)-next; return OK; int insert_cus(customer *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;i

8、nt book(airline *a,char *air_num,customer *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-left0) printf(您的座位號(hào)是:%d,(p-total-p-left+1); insert_cus(&q,name,air_num,p-total-p-left+1); p-left-; return OK; else printf(座位已滿(mǎn)); return 0;

9、 int del_cus(customer *c,airline *l,char *name) customer *p,*pr; char air_num8; 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-next=p-next; p=pr-next; printf(完成!); return OK; pr=pr-next; p=pr-next; printf(NO the customer!); return

10、 ERROR;int search_air(airline *head) airline *p=head-next; printf(air_num plane_num end_place total leftn); for(;p!=NULL;p=p-next) printf(%s %-10s %-8s %-8d%-8dn,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_

11、num seat_numn); for(;q!=NULL;q=q-next) printf(%-8s%-12s%-dn,q-name,q-air_num,q-seat_num); return OK;int creat_air(airline *l) airline *p=*l; int i=0; char *air_num3=航班1,航班2,航班3; char *plane_num3=plane1,plane2,plane3; char *end_place3=北京,上海,天津; int total3=100,100,100; int left3=52,54,76; for(i=0;i3;i

12、+) insert_air(&p,air_numi,plane_numi,end_placei,totali,lefti); return OK;int creat_cus(customer *l) customer *p=*l; int i=0; char *name3=張三,李四,王五; char *air_num3=航班1,航班2,航班3; int seat_num3=2,5,7; for(i=0;i3;i+) insert_cus(&p,namei,air_numi,seat_numi); return OK;void main() int t=1; customer *cus=sta

13、rt_cus(); airline *air=start_air(); char name8,air_num8,ch; creat_air(&air); creat_cus(&cus); while(t=1) printf(n); printf(*n); printf(* 歡迎來(lái)到訂票系統(tǒng)! *n); printf(* 訂票-1 *n); printf(* 退票-2 *n); printf(* 查詢(xún)-3 *n); printf(* 退出-4 *n); printf(*n); ch=getch(); if(ch=1) printf(Please input a airline number:);

14、 scanf(%s,air_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); else if(ch=4) t=0; 第四章 調(diào)試分析41調(diào)試進(jìn)入界面:選擇功能1:選擇功能2:選擇功能3:4.2經(jīng)驗(yàn)與總結(jié)通過(guò)本次課程設(shè)計(jì),我認(rèn)識(shí)到了自己的不足。對(duì)平時(shí)所學(xué)內(nèi)容局限于老師講的例子,不思舉一反三,不思融會(huì)貫通,所

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論