版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 內(nèi)蒙古科技大學 課程設(shè)計論文題 目:C+課程設(shè)計電影院售票管理系統(tǒng)學生:張雪婉學 號:1167119224專 業(yè):通信工程 班 級:2011-2指導教師:郝斌【摘要】1第一章 問題描述1.1 電影院售票管理系統(tǒng)的設(shè)計第二章 問題分析2.1 闡述你對問題的理解、解決問題的方案說明2.2 系統(tǒng)功能模塊的劃分第三章 數(shù)據(jù)模型3.1 相關(guān)數(shù)據(jù)結(jié)構(gòu)的說明類的設(shè)計3.2 程序結(jié)構(gòu)說明,即程序各個部分之間如何協(xié)調(diào)來完成任務(wù)第四章 算法描述4.1 解題算法的設(shè)計思路介紹4.2 主要程序代碼,加上詳細的注釋第五章 設(shè)計總結(jié)第六章 附錄【摘要】電影院售票管理系統(tǒng)實現(xiàn)的功能:1、錄入信息:且可不定時增加數(shù)據(jù)。并根
2、據(jù)放映時間排序。2、瀏覽信息:可顯示出某日期所有放映信息,如果當前系統(tǒng)時間超過了某電影的放映時間,則顯示“此電影放映結(jié)束”的提示信息。3、查詢電影:可按日期或電影名查詢。并顯示目標的詳細信息。 4、售票:售票即為影片預定。可根據(jù)輸出的可預訂信息選擇訂票,如果該影片已放映,則提示不能訂票,如果售票成功,自動跟新座位數(shù)。5、退票:影片退訂即退票。根據(jù)放映時間和系統(tǒng)時間來判斷是否能進行退票,并自動更新座位數(shù)。其他參數(shù):程序中定義了一個moive結(jié)構(gòu)和一個ticket類,在結(jié)構(gòu)體和類外還定義了seat()和putout()兩個函數(shù)。moive結(jié)構(gòu)用來存放電影的數(shù)據(jù)屬性信息;ticket類實現(xiàn)管理moi
3、ve結(jié)構(gòu)體里面的數(shù)據(jù)和系統(tǒng)功能模塊;seat()和putout()函數(shù)用來輔助結(jié)構(gòu)體和類,簡化程序。第一章: 問題描述1.1、設(shè)計資料及參數(shù)用C+設(shè)計一個系統(tǒng),能提供以下服務(wù):1錄入放映信息,格式為:放映日期放映時間場次電影名稱票價會員折扣剩余座位2011-11-210:301桃姐308782011-11-214:002桃姐30886可不定時地增加放映數(shù)據(jù)。2瀏覽放映信息,可顯示出某日期所有放映信息,如果當前系統(tǒng)時間超過了某電影的放映時間,則顯示“此電影放映結(jié)束”的提示信息。3查詢電影:可按日期或電影名查詢。 4售票和退票功能A:查詢電影名。當剩余座位數(shù)大于0,并且當前系統(tǒng)時間小于放映時間時才
4、能售票,計算會員折扣,售票后自動更新剩余座位數(shù)。 B:退票時,輸入退票的電影名和場次,當電影未放映時才能退票,如果以會員折扣購買的電影票,退票按照折扣價退款,退票后自動更新剩余座位數(shù)。1.2、設(shè)計要求及成果根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟:1分析系統(tǒng)中的各個實體之間的關(guān)系及其屬性和行為;2根據(jù)問題描述,設(shè)計系統(tǒng)的類層次;3完成類層次中各個類的描述(包括屬性和方法);4完成類中各個成員函數(shù)的定義;5完成系統(tǒng)的應用模塊;6功能調(diào)試;7提交課程設(shè)計報告:完成系統(tǒng)總結(jié)報告以及系統(tǒng)使用說明書第二章:問題分析2.1、對問題理解的闡述、解決方案的說明由設(shè)計題目知電影院售票管理系統(tǒng)主要由1、錄入i
5、nput2、顯示show3、查詢search4、售票sell5、退票refund五個模塊組成。對整個系統(tǒng)進行功能分析不難發(fā)現(xiàn),電影院管理系統(tǒng)可以對所有數(shù)據(jù)的信息進行操作,比方:錄入input、顯示show、查詢search、售票sell和退票refund。所以需要設(shè)計一個moive結(jié)構(gòu)體和ticket類來實現(xiàn)對基本數(shù)據(jù)的儲存和模塊功能的實現(xiàn)??紤]到程序?qū)崿F(xiàn)程序的盡量簡潔明了,又增加了時間比較函數(shù)timecmp、座位判斷函數(shù)seat和信息輸出函數(shù)putout三個函數(shù),對程序?qū)崿F(xiàn)一定程度的簡化。2.2、系統(tǒng)的模塊功能流程圖如下:運行程序時,需要先輸入數(shù)據(jù)。并定義了時間的輸入格式。如2013-6-2
6、1 22:00。顯示數(shù)據(jù)時,會先跟系統(tǒng)時間比較,如果小于系統(tǒng)當前時間,則輸出提示“已播放”。查找時滿足要求的按名字查找和按日期查找。找到之后與系統(tǒng)時間比較輸出提示,如果沒找到,輸出提示。查詢時分為按電影名和日期兩種查詢功能。查詢時將會出現(xiàn)界面來供操作者選擇。訂票函數(shù)中會先給出可預訂的提示,這樣可以更有效訂票。輸入之后會先檢查是否播放,假設(shè)播放則給出提示,退出。假設(shè)未找到,則同樣給出提示。如果票賣光了,仍然有提示,如果電影到達預定要求,則先給出現(xiàn)有座位的預訂情況,方便用戶高效率訂票。當客戶輸入一座位時程序會判斷這個作為是否被預訂,如果是,則給出提示;如果no就輸出用戶需要支付的金額,并記錄在座位
7、號對應的數(shù)組中。方便退票時退款。訂票成功后還會輸出現(xiàn)有座位的信息方便核實。退票時,操作者要先輸入電影名,假設(shè)電影名不存在或時間以過,會提示“輸入錯誤”或“電影已播放,無法退票”。假設(shè)在預定的電影中,還會要求輸入退訂的座位號,以便進一步確認是否真正該電影。假設(shè)兩道確認都成功通過,就會輸出要腿還的金額。其中訂票和退票函數(shù)都是用大篇幅一兩百行來構(gòu)建起強大而有完善的提示功能,已完成快捷而又便利操作。第三章:數(shù)據(jù)模型struct moive /定義moive結(jié)構(gòu)體,存放數(shù)據(jù)int year;/年int month;/月int day;/日int hour;/時int minute;/分int datet
8、ime5;/裝電影放映時間,方便比較與系統(tǒng)時間比較 int num;/場次string name;/電影名float price;/票價float discount;/折扣int rest;/余票float seat1010;/初始值都為0,只在預定后改變其值;class ticket/定義ticket類private:moive ticN;/存電影數(shù)據(jù)的數(shù)組int len;/現(xiàn)有電影數(shù)量public:ticket();/構(gòu)造函數(shù)ticket();/析構(gòu)函數(shù)friend void seat(int i);/把seat函數(shù)定義為類ticket的友元函數(shù)friend void putout(int
9、 i);/把putout函數(shù)定義為類ticket的友元函數(shù)void input();/錄入void show();/顯示void search();/查找void sell();/訂票void refund();/退票;tick;在類中把seat和putout函數(shù)定義為類的友元函數(shù),實現(xiàn)類外的函數(shù)訪問類內(nèi)的成員,這樣可以源代碼的篇章幅度,實現(xiàn)在一定程度上簡化程序。私有數(shù)據(jù)成員moive ticN,便于操作數(shù)據(jù)。數(shù)據(jù)組織結(jié)構(gòu)圖:3.2 程序結(jié)構(gòu)說明,即程序各個部分之間如何協(xié)調(diào)來完成任務(wù)程序的主要實現(xiàn)過程是在ticket類 中定義的成員函數(shù)和友元函數(shù)來實現(xiàn)完成,并且在類外實現(xiàn)。這樣方便了對數(shù)據(jù)進行
10、操作。并且定義了一個全局的比較函數(shù)timecmp,可以比較兩個時間數(shù)組的大??;函數(shù)seat實現(xiàn)判斷某一座位是否被預定;函數(shù)putout實現(xiàn)對電影信息的輸出。這三個函數(shù)在程序中用途很廣泛,在整個程序中多次有時間的比較,座位的檢索,電影的信息的輸出,當用到某一函數(shù)時,直接在模塊調(diào)用即可,不必多次編寫,實現(xiàn)程序的簡化。其中程序總很多代碼是重復用到的,但是沒有寫成函數(shù)來調(diào)用有兩點原因。首先如果寫成函數(shù)調(diào)用的話會降低程序的可讀性,其次寫成函數(shù)的話,代碼就固定下來了,使得程序不夠靈活。所以在程序不必要的地方,就用代碼來代替函數(shù)調(diào)用。舉個例子說,在修改,刪除,訂票,退票中都會用到按電影名查找??墒菦]有單獨把
11、按電影名查找單獨寫成函數(shù)來調(diào)用,是因為在按電影名查找會輸出很多詳細的電影信息和提示信息。這樣也不便于調(diào)用函數(shù)。第四章:算法的描述4.1 解題算法的設(shè)計思路介紹timecmp函數(shù)是用來比較日期時間函數(shù),它需要先把兩個時間裝入數(shù)組再傳進來地址,然后從年月日時分進行比較。如果有大小區(qū)分,直接返回。int timecmp(int a,int b,int n)int i; for(i=0;i<n;i+)if(ai>bi)return 1;if(ai<bi)return -1;if(i=n)return 0;Seat函數(shù)作為檢索某一座位是否已被預訂,因為seatmn=0,即初始化都為0。
12、二當該座位被預訂后就會賦予座位號,所以用兩層for循環(huán),把所有的座位都檢索了一遍。在輸出,就一下子看出那些座位被預定,那些沒有。因為seat函數(shù)是類外函數(shù),不能直接操作類ticket的成員,所以要在類中寫入“friend voidseatint i;”即定義為類的友元函數(shù)。假設(shè)不加,編譯將會出錯。void seat(int i) for(int m=0;m<10;m+) cout<<endl<<"t"for(int n=0;n<10;n+) cout<<"" if(tick.tici.seatmn!=0)
13、cout<<"有人" else cout<<"無人" cout<<"" putout函數(shù)是便于把電影的屬性數(shù)據(jù)信息輸出,因為tic是類中的數(shù)據(jù)成員且又是結(jié)構(gòu)體moive類型的變量,故要用兩層引用。但putout函數(shù)也是全局的類外函數(shù),要想訪問類ticket中的成員,也需把其定義為類的友元函數(shù)。不然編譯階段會出錯。void putout(int i) cout<<tick.tici.year<<"-"<<tick.tici.month<&l
14、t;"-"<<tick.tici.day<<"t" cout<<tick.tici.hour<<":"<<tick.tici.minute<<"t" cout<<tick.tici.num<<"t"<<<<"tt" cout<<tick.tici.price<<"t"<<ti
15、ck.tici.discount<<"t"<<tick.tici.rest<<endl;4.2 主要程序代碼和運行結(jié)果圖主函數(shù),即選擇菜單:char as; while(1) cout<<"ntttt歡送進入管理系統(tǒng)nn" cout<<"ntttt1.錄入影片" cout<<"ntttt2.顯示影片" cout<<"ntttt3.查找影片" cout<<"ntttt4.售票" co
16、ut<<"ntttt5.退票"<<endl; cout<<"輸入數(shù)字 執(zhí)行相應功能:" cin>>as; switch(as) case '1':tick.input();break; case '2':tick.show();break; case '3':tick.search();break; case '4':tick.sell();break;case '5':tick.refund();break;default :
17、system("pause"); return;/任意鍵繼續(xù) 錄入電影信息:void ticket:input() system("cls");/清屏 char ch;/接受日期中的字符-或: cout<<"nnntttt錄入模塊nnn"<<endl; for(int i=tick.len;i<N;i+) cout<<"n請輸入日期如(2011-11-11):" cin>>tick.tici.year>>ch>>tick.tici.mon
18、th>>ch>>tick.tici.day; cout<<"n請輸入放映時間如(12:30):"cin>>tick.tici.hour;cin>>ch;cin>>tick.tici.minute; tick.tici.datetime0=tick.tici.year; tick.tici.datetime1=tick.tici.month; tick.tici.datetime2=tick.tici.day;tick.tici.datetime3=tick.tici.hour;tick.tici.dat
19、etime4=tick.tici.minute; cout<<"n請輸入場次:" cin>>tick.tici.num; cout<<"n請輸入電影名稱:" cin>>; cout<<"n請輸入電影票價:" cin>>tick.tici.price; cout<<"n請輸入會員折扣:" cin>>tick.tici.discount; tick.tici.rest=100; for(int m
20、=0;m<10;m+) for(int n=0;n<10;n+)tick.tici.seatmn=0; tick.len+;/個數(shù)加1 cout<<endl; cout<<"是否繼續(xù)錄入?y/n:" while(1) cin>>ch; if(ch='y' | ch='Y' | ch='n' | ch='N') break; else cout<<"輸入錯誤請重新輸入:" if(ch='n' | ch='N
21、39;) break; 顯示電影信息:void ticket:show()system("cls");/清屏cout<<"nnntttt顯示模塊nnn"<<endl;cout<<" 所有電影信息如下:"<<endl;cout<<"日-期t時-間t場次t電影名稱t票價t折扣t余票"<<endl<<endl;time_t t;struct tm *tim;/時間變量,已包含在頭文件庫函數(shù)ctime中 t=time(NULL);/獲取當前
22、系統(tǒng)時間 tim=localtime(&t); int array5=tim->tm_year+1900,tim->tm_mon+1,tim->tm_mday,tim->tm_hour,tim->tm_min; int r; for(int i=0;i<tick.len;i+) r=timecmp(tick.tici.datetime,array,5);/與系統(tǒng)時間比較 ,返回值給r putout( i);/調(diào)用putout函數(shù) if(r<=0) cout<<"a已播放!" <<endl; else
23、cout<<endl; 查詢電影:void ticket:search()char flag;int i;int k=0;/標記找到的記錄 system("cls");/清屏 cout<<"nnntttt查找模塊nnn"<<endl; while(flag!='1'&&flag!='2') cout<<endl<<"tttt1.按影片名查找" cout<<endl<<"tttt2.按日期查找&q
24、uot; cout<<endl<<"tttt請輸入查找模式:" cin>>flag; if(flag!='1'&&flag!='2') cout<<"natttt選擇有誤!請選擇正確的查找模式。"<<endl; 【按電影名查詢】if(flag='1') string na;int j=1;cout<<"n請輸入影片名:"cin>>na;for(i=0;i<tick.len;i+)if
25、(=na)/找到 k+;/找到的記錄數(shù) if(j=1) cout<<" n 查找結(jié)果如下:"<<endl; cout<<"日-期t時-間t場次t電影名稱t票價t折扣t余票"<<endl<<endl; j+; putout( i);/調(diào)用putout函數(shù) time_t t; struct tm *tim; t=time(NULL);/獲取當前系統(tǒng)時間 tim=localtime(&t); int array5=tim->tm_year+1900,tim-&
26、gt;tm_mon+1,tim->tm_mday,tim->tm_hour,tim->tm_min; int r; r=timecmp(tick.tici.datetime,array,5);/與系統(tǒng)時間比較 if(r<=0) cout<<"a已播放!" <<endl; else cout<<endl; cout<<endl<<"tttt當前預訂情況" seat(i);/調(diào)用seat函數(shù)if(j!=1)cout<<endl;system("pause
27、");/任意鍵繼續(xù) return;if(i=tick.len&&k=0)cout<<"natttt未找到結(jié)果!"<<endl;system("pause");/任意鍵繼續(xù) return;【按日期查詢】elsechar ch;int temp3; cout<<"n請輸入放映日期:"cin>>temp0>>ch>>temp1>>ch>>temp2;int j=1;for(i=0;i<tick.len;i+)/遍歷
28、 if(timecmp(tick.tici.datetime,temp,3)=0)/找到 k+;/找到的記錄數(shù) if(j=1) cout<<"n 查找結(jié)果如下:"<<endl; cout<<"日-期t時-間t場次t電影名稱t票價t折扣t余票"<<endl<<endl; j+; putout( i);/調(diào)用putout函數(shù) time_t t; struct tm *tim;/時間類型的結(jié)構(gòu)體 t=time(NULL);/獲取當前系統(tǒng)時間 tim=localtime(&t); int arr
29、ay5=tim->tm_year+1900,tim->tm_mon+1,tim->tm_mday,tim->tm_hour,tim->tm_min; int s; s=timecmp(tick.tici.datetime,array,5);/與系統(tǒng)時間比較 if(s<=0) cout<<"a已播放!" <<endl; else cout<<endl; cout<<endl<<"tttt當前預訂情況" seat(i);/調(diào)用seat函數(shù) cout<<
30、endl;if(j!=1)cout<<endl;system("pause");/任意鍵繼續(xù) return;if(i=tick.len&&k=0)cout<<"natttt未找到結(jié)果!"<<endl;system("pause");/任意鍵繼續(xù) return;售票:void ticket:sell()system("cls");/清屏 cout<<"nnntttt售票模塊nnn"<<endl; cout<<&
31、quot; 可預訂的電影信息如下:"<<endl; cout<<"日-期t時-間t場次t電影名稱t票價t折扣t余票"<<endl<<endl; time_t t; struct tm *tim; t=time(NULL);/獲取當前系統(tǒng)時間 tim=localtime(&t); int array5=tim->tm_year+1900,tim->tm_mon+1,tim->tm_mday,tim->tm_hour,tim->tm_min; int r,i; int k=0;/標記
32、可供預定的影片數(shù)量 for(i=0;i<tick.len;i+) r=timecmp(tick.tici.datetime,array,5);/與系統(tǒng)時間比較 if(r>0) k+; putout( i);/調(diào)用putout函數(shù) if(i=tick.len&&k=0) cout<<"natttt暫無可供預定的影片!"<<endl;system("pause");/任意鍵繼續(xù) return;string na;cout<<endl<<"請輸入要預訂的影片名:"c
33、in>>na; k=0;/再次做標記for(i=0;i<tick.len;i+) if(=na)/找到 k+;/找到的記錄數(shù) int j=1; if(j=1) cout<<"n 查找結(jié)果如下:"<<endl; cout<<"日-期t時-間t場次t電影名稱t票價t折扣t余票"<<endl<<endl; j+; putout( i);/調(diào)用putout函數(shù) time_t t; struct tm *tim; t=time(NULL);/獲取當前系統(tǒng)時間
34、tim=localtime(&t); int array5=tim->tm_year+1900,tim->tm_mon+1,tim->tm_mday,tim->tm_hour,tim->tm_min; int s; s=timecmp(tick.tici.datetime,array,5);/與系統(tǒng)時間比較 if(s<=0) cout<<"anttt此電影已播放,無法訂票!" <<endl;system("pause");/任意鍵繼續(xù) return; cout<<endl&l
35、t;<"tttt當前預訂情況" int m,n; seat(i);/調(diào)用seat函數(shù) cout<<endl<<"n請輸入預訂的座位號1100:" int seatnum; cin>>seatnum; if(seatnum>100|seatnum<1) cout<<endl<<"att對不起,無此座位!" system("pause");/任意鍵繼續(xù) return; m=(seatnum-1)/10; n=(seatnum-1)%10; i
36、f(tick.tici.seatmn=0&&tick.tici.rest!=0) cout<<endl<<"n是否以會員權(quán)限購買(Y/N):" char a; cin>>a; if(a!='N'&&a!='n') tick.tici.seatmn=tick.tici.price*tick.tici.discount/10; else tick.tici.seatmn=tick.tici.price; tick.tici.rest-; cout<<endl<&
37、lt;"tttt您需要支付:"<<tick.tici.seatmn<<"元。"<<endl; cout<<endl<<"tttt您的座位號是:"<<seatnum<<endl; cout<<endl<<"tttt預訂成功!" seat(i);/調(diào)用seat函數(shù)cout<<endl;system("pause");/任意鍵繼續(xù) return; else if(tick.tici.
38、rest=0) cout<<endl<<"atttt對不起,沒有票了!" system("pause");/任意鍵繼續(xù) return; else if(tick.tici.seatmn!=0) cout<<endl<<"att對不起,無此座位或此座位已被預訂!" system("pause");/任意鍵繼續(xù) return; if(i=tick.len&&k=0)cout<<"natttt沒有找到您要預定的電影!"<
39、<endl;system("pause");/任意鍵繼續(xù) return;退票:void ticket:refund()system("cls");/清屏 cout<<"nnntttt退票模塊nnn"<<endl; string na; int i;int k=0;/標記修改數(shù)量 cout<<"n請輸入影片名:"cin>>na;for(i=0;i<tick.len;i+) if(=na)/找到 k+;/找到的記錄數(shù) int j=1
40、;if(j=1) cout<<"n 查找結(jié)果如下:"<<endl; cout<<"日-期t時-間t場次t電影名稱t票價t折扣t余票"<<endl<<endl; j+; putout( i);/調(diào)用putout函數(shù) time_t t; struct tm *tim; t=time(NULL);/獲取當前系統(tǒng)時間 tim=localtime(&t); int array5=tim->tm_year+1900,tim->tm_mon+1,tim->tm_mday,tim-&g
41、t;tm_hour,tim->tm_min; int r; r=timecmp(tick.tici.datetime,array,5);/與系統(tǒng)時間比較 if(r<=0) cout<<"an此電影已播放,不能申請退票!" <<endl;system("pause");/任意鍵繼續(xù) return; elsecout<<endl<<"tttt當前預訂情況"int m,n; seat(i);/調(diào)用seat函數(shù) cout<<endl<<"n請輸入退訂
42、的座位號1100:" int seatnum; cin>>seatnum; if(seatnum>100|seatnum<1) cout<<endl<<"att對不起,無此座位!" system("pause");/任意鍵繼續(xù) return; m=(seatnum-1)/10; n=(seatnum-1)%10; if(tick.tici.seatmn!=0) tick.tici.rest+; cout<<endl<<"tttt您要退訂座位號是:"<
43、;<seatnum<<endl; cout<<endl<<"tttt退給您:"<<tick.tici.seatmn<<"元。"<<endl; cout<<endl<<"tttt退訂成功!"tick.tici.seatmn=0; else cout<<endl<<"attn對不起,此座位未預訂,無法退票!n" system("pause");/任意鍵繼續(xù) return; s
44、eat(i);/調(diào)用seat函數(shù) cout<<endl; system("pause");/任意鍵繼續(xù) return;if(i=tick.len&&k=0)cout<<"natt沒有找到您要退定的電影!"<<endl;system("pause");/任意鍵繼續(xù) return;第五章:設(shè)計總結(jié)這次的設(shè)計,讓我體會深刻,總結(jié)如下:開始拿到題目,感覺好難,因為在課堂上學到的都是關(guān)于c+的理論知識,只是對類、構(gòu)造函數(shù)、析構(gòu)函數(shù)、繼承和派生、重載、虛函數(shù)等的講解。都沒涉及過實例的解析。寫起程
45、序根本不知道從何入手。自己就去圖書館找資料,看了一個上午,慢慢有點眉目,就開始寫程序。首先,是數(shù)據(jù)的儲存問題。本來打算只定義一個結(jié)構(gòu)體來裝載數(shù)據(jù)就行,其他的都可以變成全局函數(shù),在主函數(shù)里調(diào)用即可。但慢慢發(fā)現(xiàn)這樣以來,就對數(shù)據(jù)的訪問帶來諸多不變,還有定義大量的變量。不過網(wǎng)上有大量實例參考,最后還是有定義了一個類,在類里間接地引用結(jié)構(gòu)體里的數(shù)據(jù),防止了大量的參數(shù)之間的數(shù)值傳遞,增加程序的可讀性。在一點就是要大量實踐,平常的理論學習,并不代表你會編、會運用。在這次的編寫中,特別在構(gòu)造函數(shù)和數(shù)據(jù)的初始化上沒少出錯,沒法還得回歸課本,看了好幾遍,才知道怎樣修改。最后設(shè)計了一個結(jié)構(gòu)體,一個類,在類中定義5
46、個函數(shù),3個全局函數(shù),實現(xiàn)了基本功能。同時增加了一些修改排序功能。第六章:附錄#include<iostream>#include<string>#include<conio.h>#include<ctime>#define N 50/可存電影總數(shù) using namespace std;/標準命名空間struct moive /定義moive結(jié)構(gòu)體,存放數(shù)據(jù)int year;/年int month;/月int day;/日int hour;/時int minute;/分int datetime5;/裝時間 ,方便比較 int num;/場次st
47、ring name;/電影名float price;/票價float discount;/折扣int rest;/余票float seat1010;/初始值都為0,只在預定后改變其值;/class ticket/定義ticket類private:moive ticN;/存電影的數(shù)組int len;/現(xiàn)有電影數(shù)量public:ticket();/構(gòu)造函數(shù)ticket();/析構(gòu)函數(shù)friend void seat(int i);/把seat函數(shù)定義為類ticket的友元函數(shù)friend void putout(int i);/把putout函數(shù)定義為類ticket的友元函數(shù)void input(
48、);/錄入void show();/顯示void search();/查找void sell();/訂票void refund();/退票;tick;/構(gòu)造函數(shù)和析構(gòu)函數(shù)的實現(xiàn)ticket:ticket();ticket:ticket();/timecmp函數(shù)是用來比較日期時間函數(shù),它需要先把兩/個時間裝入數(shù)組再傳進來地址,然后從年月日時分進行比較。int timecmp(int a,int b,int n)int i; for(i=0;i<n;i+)if(ai>bi)return 1;if(ai<bi)return -1;if(i=n)return 0;/seat函數(shù)的功能
49、:查看某一座位是否有人void seat(int i) for(int m=0;m<10;m+) cout<<endl<<"t"for(int n=0;n<10;n+) cout<<"" if(tick.tici.seatmn!=0) cout<<"有人" else cout<<"無人" cout<<"" /putout函數(shù)實現(xiàn)的功能:輸出對象tici的數(shù)據(jù)void putout(int i) cout<&
50、lt;tick.tici.year<<"-"<<tick.tici.month<<"-"<<tick.tici.day<<"t" cout<<tick.tici.hour<<":"<<tick.tici.minute<<"t" cout<<tick.tici.num<<"t"<<<<"tt" cout<<tick.tici.price<<"t"<<tick.tici.discount<<"t"<<tick.tici.rest<<endl;/錄入模塊void ticket:input() system("cls");/清屏 char ch;/接受日期中的字符-或: cout&l
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省寧波市慈溪市2023-2024學年六年級上學期英語期末試卷(1月)
- 《木雕工藝品的保養(yǎng)》課件
- 2022年安徽省巢湖市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2022年河北省承德市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年黑龍江省大慶市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 2021年湖南省邵陽市公開招聘警務(wù)輔助人員輔警筆試自考題2卷含答案
- 湖南省岳陽市(2024年-2025年小學六年級語文)部編版開學考試((上下)學期)試卷及答案
- 《整合市場攻擊策略》課件
- 2025年城市公共汽電車客運服務(wù)項目立項申請報告
- 2025年電信和其他信息傳輸服務(wù)項目提案報告模稿
- 四川省成都市2023-2024學年高二上學期期末調(diào)研考試語文試題(解析版)
- ps經(jīng)典課程-海報設(shè)計(第六講)
- 江蘇省泰州市2023-2024學年高一上學期期末語文試題及答案
- 【MOOC】工程制圖解讀-西安交通大學 中國大學慕課MOOC答案
- 期末復習(試題)-2024-2025學年三年級上冊數(shù)學蘇教版
- 浙江省杭州市西湖區(qū)2023-2024學年九年級上學期期末語文試題(解析版)
- 人員車輛物品進出管理考核試卷
- 內(nèi)鏡中心年終總結(jié)和計劃
- 周五學習制度
- 運維或技術(shù)支持崗位招聘筆試題與參考答案(某大型央企)2024年
- 2022年新高考I卷讀后續(xù)寫David's run公開課課件-高三英語一輪復習
評論
0/150
提交評論