客房課程設(shè)計報告_第1頁
客房課程設(shè)計報告_第2頁
客房課程設(shè)計報告_第3頁
客房課程設(shè)計報告_第4頁
客房課程設(shè)計報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、東北石油大學(xué)本科生課程設(shè)計目 錄第1章 客房管理系統(tǒng)系統(tǒng)分析11.1開發(fā)背景11.2 開發(fā)環(huán)境11.3 系統(tǒng)功能分析4第2章 系統(tǒng)設(shè)計與實現(xiàn)52.1客房管理系統(tǒng)功能模塊52.2 客房管理系統(tǒng)流程62.3 客房管理系統(tǒng)的類設(shè)計72.4 客房管理系統(tǒng)功能實現(xiàn)8第3章 客房管理系統(tǒng)測試133.1 主界面133.2 分界面13第4章 設(shè)計總結(jié)18參考文獻(xiàn)19 I第1章 客房管理系統(tǒng)系統(tǒng)分析1.1開發(fā)背景隨著服務(wù)業(yè)的蓬勃發(fā)展,客房管理行業(yè)作為服務(wù)業(yè)的領(lǐng)航者,也面臨著越來越大的挑戰(zhàn)。優(yōu)質(zhì)的服務(wù),完善的設(shè)施以及盡善盡美的滿足客戶需求都成為了一個客房是否具有競爭力的先決條件。而在這個信息化的社會,要全面且細(xì)致

2、的做到這些,僅靠人力,顯然是遠(yuǎn)遠(yuǎn)不夠的。于是,就有了客房管理系統(tǒng)的開發(fā)。當(dāng)今信息時代,管理科學(xué)與信息技術(shù)相互影響,相互促進(jìn),聯(lián)系已十分緊密。而融合了管理科學(xué)、信息技術(shù)以及系統(tǒng)工程學(xué)的管理信息系統(tǒng)作為現(xiàn)代化企業(yè)的重要手段,對企業(yè)的生存和發(fā)展起著決定性的作用。計算機信息系統(tǒng)在企業(yè)管理中的應(yīng)用,從最初的基礎(chǔ)工作如打印報表、計算工資、人事管理等,發(fā)展到企業(yè)財務(wù)管理、庫存管理等單項業(yè)務(wù)管理,再到建立企業(yè)數(shù)據(jù)庫和局域網(wǎng),實施全局規(guī)劃與設(shè)計信息系統(tǒng)時,就達(dá)到了管理信息系統(tǒng)的階段。企業(yè)的管理信息系統(tǒng)以信息技術(shù)為基礎(chǔ),以管理理論為指導(dǎo),為企業(yè)管理和決策提供信息支持,對企業(yè)生產(chǎn)經(jīng)營諸因素進(jìn)行優(yōu)化組合和合理配置,減

3、少工作量,提高工作效率,拓展信息渠道,加快市場反應(yīng),全面增強企業(yè)的生存競爭能力??头抗芾硐到y(tǒng)作為計算機網(wǎng)絡(luò)應(yīng)用的一部分,使用計算機對客房信息進(jìn)行管理,具有手工管理無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、儲存量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高客房經(jīng)營管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,我決定開發(fā)此系統(tǒng)。并力求能開發(fā)出一套界面友好、功能強大、使用簡單、適用范圍廣的客房管理系統(tǒng)。本次課程設(shè)計需要實現(xiàn)的是客房管理系統(tǒng)的鏈表實現(xiàn)。主要實現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢、排序、輸出。客房信息可寫入文件,也可從文件

4、中讀取??头啃畔⑸婕暗臄?shù)據(jù)有客房編號、客房類型、定房日期、客房內(nèi)容(設(shè)施)、定房有效期等。1.2 開發(fā)環(huán)境面向?qū)ο蠹夹g(shù)是一種全新設(shè)計和構(gòu)造軟件的技術(shù),它使計算機解決問題的方式更符合人類的思維方式,更能直接的描述客觀世界,通過增加代碼的可重用性、可擴充性和程序自動生成功能來提高編程效率,并且大大減少軟件維護的開銷,已經(jīng)被越來越多的軟件設(shè)計人員所接受。面向?qū)ο蠹夹g(shù)是一種以對象為基礎(chǔ),以時間或消息來驅(qū)動對象執(zhí)行處理的程序設(shè)計技術(shù)。它以數(shù)據(jù)為中心,而不是以功能為中心來描述系統(tǒng),數(shù)據(jù)對于功能而言具有更強的穩(wěn)定性。它將數(shù)據(jù)和對數(shù)據(jù)的操作封裝在一起,作為一個整體來處理,采用數(shù)據(jù)抽象和信息隱蔽技術(shù),將這個整體

5、抽象成一種新的數(shù)據(jù)類型類,并且考慮不同類之間的聯(lián)系和類的重用性。面向?qū)ο蟮某绦蛟O(shè)計方法使得程序結(jié)構(gòu)清晰、簡單。提高了代碼的重用性,有效的減少了程序的維護量,提高了軟件的開發(fā)效率1。面向?qū)ο蟪绦蛟O(shè)計中的概念主要包括:對象、類、數(shù)據(jù)抽象、繼承、動態(tài)綁定、數(shù)據(jù)封裝、多態(tài)性、消息傳遞。通過這些概念面向?qū)ο蟮乃枷氲玫搅司唧w的體現(xiàn)2。1)對象(Object) 可以對其做事情的一些東西。一個對象有狀態(tài)、行為和標(biāo)識三種屬性。2)類(class) 一個共享相同結(jié)構(gòu)和行為的對象的集合。3)封裝(encapsulation): 第一層意思:將數(shù)據(jù)和操作捆綁在一起,創(chuàng)造出一個新的類型的過程。第二層意思:將接口與實現(xiàn)分

6、離的過程。4)繼承 類之間的關(guān)系,在這種關(guān)系中,一個類共享了一個或多個其他類定義的結(jié)構(gòu)和行為。繼承描述了類之間的“是一種”關(guān)系。子類可以對基類的行為進(jìn)行擴展、覆蓋、重定義。5)組合 既是類之間的關(guān)系也是對象之間的關(guān)系。在這種關(guān)系中一個對象或者類包含了其他的對象和類。組合描述了“有”關(guān)系。6)多態(tài) 類型理論中的一個概念,一個名稱可以表示很多不同類的對象,這些類和一個共同超類有關(guān)。因此,這個名稱表示的任何對象可以以不同的方式響應(yīng)一些共同的操作集合。7)動態(tài)綁定 也稱動態(tài)類型,指的是一個對象或者表達(dá)式的類型直到運行時才確定。通常由編譯器插入特殊代碼來實現(xiàn)。與之對立的是靜態(tài)類型。8)靜態(tài)綁定 也稱靜態(tài)

7、類型,指的是一個對象或者表達(dá)式的類型在編譯時確定。9)消息傳遞 指的是一個對象調(diào)用了另一個對象的方法(或者稱為成員函數(shù))。10)方法 也稱為成員函數(shù),是指對象上的操作,作為類聲明的一部分來定義。方法定義了可以對一個對象執(zhí)行那些操作。面向?qū)ο蠹夹g(shù)的基本特征面向?qū)ο蠹夹g(shù)強調(diào)在軟件開發(fā)過程中面向客觀世界或問題域中的事物,采用人類在認(rèn)識客觀世界的過程中普遍運用的思維方法,直觀、自然地描述客觀世界中的有關(guān)事物。面向?qū)ο蠹夹g(shù)的基本特征主要有抽象性、封裝性、繼承性和多態(tài)性。C+語言簡介C+程序設(shè)計語言是由來自AT&T Bell Laboratories的Bjarne Stroustrup(即本文作者

8、)設(shè)計和實現(xiàn)的,它兼具Simula語言在組織與設(shè)計方面的特性以及適用于系統(tǒng)程序設(shè)計的C語言設(shè)施。C+最初的版本被稱作“帶類的C(C with classes)”Stroustrup,1980,在1980年被第一次投入使用;當(dāng)時它只支持系統(tǒng)程序設(shè)計(§3)和數(shù)據(jù)抽象技術(shù)(§4.1)。支持面向?qū)ο蟪绦蛟O(shè)計的語言設(shè)施在1983年被加入C+;之后,面向?qū)ο笤O(shè)計方法和面向?qū)ο蟪绦蛟O(shè)計技術(shù)就逐漸進(jìn)入了C+領(lǐng)域。在1985年,C+第一次投入商業(yè)市場的編程技術(shù)。 Stroustrup,1986Stroustrup,1986b。在1987至1989年間,支持范型程序設(shè)計的語言設(shè)施也被加進(jìn)了C

9、+Ellis,1990Stroustrup,1991。C+語言的發(fā)展C+語言發(fā)展大概可以分為三個階段。第一階段:從80年代到1995年。這一階段c+語言基本上時傳統(tǒng)類型上的面向?qū)ο笳Z言,并且憑借著接近c語言的效率,在工業(yè)界使用的開發(fā)語言中占了相當(dāng)大份額。第二階段:從1995年到2000年,這一階段由于標(biāo)準(zhǔn)模板庫和后來的Boost等程序庫出現(xiàn),泛型程序設(shè)計在c+中占據(jù)了越來越多的比重性。當(dāng)然,同時由于java、c#等語言的出現(xiàn)和硬件大規(guī)模降價,c+受到了一定的沖擊。第三階段:從2000年至今,由于Loki、MPL等程序庫為代表的產(chǎn)生式編程和模板元編程的出現(xiàn),c+出現(xiàn)了發(fā)展歷史上的一個新的高峰,這

10、些新技術(shù)的出現(xiàn)以及和原油技術(shù)的融合,使c+已經(jīng)成為當(dāng)今主流程序設(shè)計語言中最復(fù)雜的一員3。Vc+6.0簡介Visual C+6.0是微軟公司推出的開發(fā)Win32應(yīng)用程序(Windows 95/98/2000/XP/NT)的、面向?qū)ο蟮目梢暬晒ぞ?。它不僅是一個C+ 編譯器,而且是一個基于Windows操作系統(tǒng)的可視化集成開發(fā)環(huán)境(integrated development environment,IDE)。Visual C+6.0由許多組件組成,包括編輯器、調(diào)試器以及程序向?qū)ppWizard、類向?qū)lass Wizard等開發(fā)工具。 這些組件通過一個名為Developer Studio的

11、組件集成為和諧的開發(fā)環(huán)境。Microsoft的主力軟件產(chǎn)品。Visual C+是一個功能強大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C+1.0后,隨著其新版本的不斷問世,Visual C+已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。雖然微軟公司推出了Visual C+.NET(Visual C+7.0),但它的應(yīng)用的很大的局限性,只適用于Windows 2000,Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C+6.0為平臺4。它的最大優(yōu)點就是提供了功能強大的MFC類庫,MFC是一個很大的C+類層次結(jié)構(gòu),其中封裝了大量的類及

12、其函數(shù),很多Windows程序所共有的標(biāo)準(zhǔn)內(nèi)容可以由MFC的類來提供,MFC類為這些內(nèi)容提供了用戶接口的標(biāo)準(zhǔn)實現(xiàn)方法,程序員所要做的就是通過預(yù)定義的接口把具體應(yīng)用程序特有的東西填入這個輪廓,這將簡化編程工作,大大的減少程序員編寫的代碼數(shù)量,使編程工作變得更加輕松容易。Developer Studio 這是一個集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的。但是它沒有任何編譯和鏈接程序的功能,所以不要把Developer Studio當(dāng)成Visual C+,它充其量只是Visual C+的一個殼子而已6。1.3 系統(tǒng)功能分析本系統(tǒng)的功能是實現(xiàn)客房管理管理的電子化、自動化,提高客房各個模塊之

13、間的辦公效率。系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)客房各種信息的系統(tǒng)化、規(guī)范化和自動化。主要完成功能:(1)客房信息的錄入、修改、刪除、剩余客房信息查詢、排序、輸出。(2)客房信息可寫入文件,也可從文件中讀取。客房信息涉及的數(shù)據(jù)有客房編號、客房類型、定房日期、客房內(nèi)容(設(shè)施)、定房有效期等。 第2章 系統(tǒng)設(shè)計與實現(xiàn)2.1 系統(tǒng)功能模塊綜合以上分析,該客房管理系統(tǒng)的流程如圖2-1所示。客房管理系統(tǒng)退出系統(tǒng)查詢房間剩余查詢客人總數(shù)修改客人信息刪除客人信息瀏覽客人信息查詢客人信息錄入客人信息姓名 性別 房間號 國籍 入住天數(shù)入住時間 客房等級 離店時間 年齡圖2-1系統(tǒng)功能模塊該客房管理系統(tǒng)的功能需求如下:(1

14、)客人信息的錄入通過該功能完成對每位客戶信息的錄入,并保存文件中。包括其各項類的成員,編號,類型,定房日期,客房內(nèi)容,入住天數(shù)。(2)客人信息的修改客人存在續(xù)費居住的情況,所以讀取保存的客房信息數(shù)據(jù),根據(jù)客房編號查找所需修改的客房信息,然后根據(jù)具體所需,修改成員參數(shù),并保存。(3)客人信息的查詢根據(jù)每位客戶的需求查詢客戶自己或他人的信息,保護客人的隱私。(4)客人信息的刪除從保存中的文件中讀取信息,刪除需要刪除的信息,完善現(xiàn)在的客房運作。(5)客房剩余的查詢分按編號、類型查詢,這樣可以更具有人性化來選擇所剩余的客房,從而進(jìn)行日常安排。(6)客人信息的瀏覽直接查看居住所有客人的信息。(7)客人總

15、數(shù)的查詢直接查看客人的總數(shù)2.2 系統(tǒng)流程該系統(tǒng)的流程如圖2-2開始客房管理系統(tǒng)主界面客房信息的錄入客房信息的修改客房信息的刪除剩余客房信息的查詢剩余客房信息的排序剩余客房信息的輸出客房信息的保存客 房信 息的 保存客房信息的保存結(jié)束圖2-2系統(tǒng)流程圖2.3 系統(tǒng)的類設(shè)計1.客房類系統(tǒng)研究客房cGuestroom類中成員: roomnumSIZE是客房編號,gradeSIZE是客房類型,dateSIZE是定房日期,dateSIZE是離店日期,daySIZE是定房的有效期,標(biāo)志flag和構(gòu)造函數(shù)cGuestroom()。客房類的UML圖如(圖2-3)所示:class cGuestroom+ ro

16、omnumBUFSIZE:char/ 客房編號+ gradeBUFSIZE:char/客房類型+ dateBUFSIZE:char/定房日期+day :int/定房有效期+ flay :bool/標(biāo)志+ cGuestroom()/構(gòu)造函數(shù)初始化圖2-3客房類的UML圖 2.鏈表類在tList類中,有成員:構(gòu)造函數(shù)tList(),創(chuàng)建鏈表Create(),判斷鏈表是否為空的函數(shù)Empty() const,從尾部插入一個元素的函數(shù)Insert(const T e),返回第i個節(jié)點的函數(shù)GetcNode(int i),在鏈表中查詢某個值的函數(shù)bool Find(const T e),析構(gòu)函數(shù)tLis

17、t(),頭節(jié)點head。鏈表類的UML圖如(圖2-4)所示:tList+tList();+ Create():void +Empty() const:bool +Insert(conste:T):void +*GetcNode(i:int):cNode<T> +Find(const e:T):bool +tList(); + *head:cNode<T>圖2-4鏈表類的UML圖2.4 客房管理系統(tǒng)功能實現(xiàn)1.系統(tǒng)的登錄在主函數(shù)中,輸出客房信息系統(tǒng)的各功能提示。選擇需要執(zhí)行功能的序號,由switch判斷和選擇所需要執(zhí)行的功能。選擇1:執(zhí)行客房錄入信息;選擇2:執(zhí)行瀏覽客人

18、信息;選擇3:執(zhí)行查找客人信息;選擇4:執(zhí)行修改客人信息;選擇5:執(zhí)行刪除客人信息;選擇6:執(zhí)行客戶總數(shù)信息;選擇7:執(zhí)行客房余量信息;選擇8:執(zhí)行退出系統(tǒng)信息;選擇9:執(zhí)行保存信息;選擇10:執(zhí)行進(jìn)入系統(tǒng)信息;主函數(shù): void main() int choose; cout<<"*歡迎進(jìn)入客房管理系統(tǒng)*"<<endl; system("pause"); system("cls");menu(); for(int k=0;k<200;k+) cin>>choose; switch(choos

19、e) case 1:gestnum.add(); system("pause"); system("cls");menu(); break; case 2:gestnum.show(); system("pause"); system("cls");menu(); break; case 3:gestnum-1.search(); system("pause"); system("cls");menu(); break; case 4:gestnum-1.xiugai();

20、system("pause"); system("cls");menu(); break; case 5:gestnum-1.deleat(); system("pause"); system("cls");menu(); break; case 6:gestnum-1.totle(); system("pause"); system("cls");menu(); break; case 7:gestnum-1.totle1(); system("pause&quo

21、t;); system("cls");menu(); break; case 8:return; case 9:gestnum-1.save();system("pause"); system("cls");menu();case 10:gestnum-1.load();system("pause"); system("cls");menu();break; default: cout<<"輸入錯誤,請重新輸入!"<<endl; 在讀取數(shù)據(jù)庫中,可以從

22、以有的文件中讀取數(shù)據(jù)到程序中,避免了程序的重復(fù)輸入數(shù)據(jù),有利于后面的信息修改、刪除等功能。讀取數(shù)據(jù)庫:void People:load()ifstream fin; fin.open("d:kefang.txt"); People p; char _roomnum50; while(fin>>_roomnum) fin>>>> p.sex>> p.age>> p.nationality>> p.grade>> p.days>> p.date>> p.dat

23、e1; strcpy(p.roomnum,_roomnum); gestnum+=p; fin.close(); 2.信息的添加客房信息的錄入,創(chuàng)建people類和add對象,調(diào)用構(gòu)造函數(shù),輸入客房的房間編號、房間類型、定房日期、房間價格、房間內(nèi)容及個人的入住有效期.void People:add() cout<<"=>請輸入客人信息<=: "<<endl; cout<<"房號:" cin>>roomnum; cout<<"姓名(10個字符以內(nèi)):" cin>

24、;>name; cout<<"性別:" cin>>sex; cout<<"年齡:" cin>>age; cout<<"國籍:" cin>>nationality; cout<<"客房級別(1:2:3):" cin>>grade; cout<<"用房天數(shù):" cin>>days; cout<<"住店日期:" cin>>date;

25、cout<<"離店日期:" cin>>date1; cout<<endl; num+; void People:show() for(int k=0;k<num;k+) cout<<"房號:"<<gestk.roomnum<<endl; cout<<"姓名:"<<<<endl;cout<<"性別:"<<gestk.sex<<endl; cout&l

26、t;<"年齡:"<<gestk.age<<endl; cout<<"國籍:"<<gestk.nationality<<endl; cout<<"客房級別:"<<gestk.grade<<endl; cout<<"用房天數(shù):"<<gestk.days<<endl; cout<<"住店日期:"<<gestk.date<<endl

27、; cout<<"離店日期:"<<gestk.date1<<endl; cout<<"- - - - - - - - - -" cout<<endl; 3. 信息的刪除 刪除客房信息,按要求提示輸入要刪除客房的房間編號。 void People:deleat() char name220; cout<<"=>請輸入要刪除的客戶房號<=: "<<endl; cin>>name2; for(int k=0;k<num;k+)

28、if(strcmp(,name2) strcpy(gestk.roomnum," "); strcpy(gestk.sex," "); strcpy(gestk.age," "); strcpy(gestk.nationality," "); strcpy(gestk.grade," "); strcpy(gestk.days," ");strcpy(gestk.date1," "); cout<<"客人"

29、;<<<<"的信息已經(jīng)刪除!"<<endl; strcpy(," "); num-; 4. 信息的修改 按提示輸入要修改的客房的客房編號。void People:xiugai() char name320; cout<<"=>請輸入需要修改的客人信息(客人姓名)<=:"<<endl; cin>>name3; for(int s=0;s<num;s+) if(strcpy(,name3)

30、) gests.add(); num-; 第3章 客房管理系統(tǒng)測試3.1 主界面主界面中顯示客房管理系統(tǒng)的全部信息,客房信息的錄入,客房信息的保存,客房信息的修改,客房信息的刪除,剩余客房的查詢,剩余客房的排序,剩余客房的輸出,客房管理系統(tǒng)主界面如圖3-1所示。圖3-1系統(tǒng)主界面3.2 分界面(1)客房信息的錄入的設(shè)計選擇1,開始添加客房信息:如圖3-2添加客房信息圖3-2 添加客房信息提示輸入客房編號,客房類型,客人定房日期,客人信息,客房內(nèi)容,客房定房的有效期??头啃畔浫肴鐖D3-3所示。 圖3-3錄入客房信息的分界面(2)客房信息的保存的設(shè)計 針對第一步客房信息的輸入及以后信息的修改、刪

31、除做一個文件保存。信息保存如圖3-4所示。圖3-4 保存客房信息的分界面(3)客房信息的修改的設(shè)計 選擇4,客房信息的修改如圖3-5修改客房信息 圖3-5 修改客房信息提示根據(jù)編號進(jìn)行客房信息修改,輸入要修改的內(nèi)容,客房信息修改界面如圖3-6所示。圖3-6 修改客房信息的分界面(4)分界面:客房信息的刪除的設(shè)計提示進(jìn)入刪除界面,根據(jù)客房編號查找所需刪除的客房信息,直接進(jìn)行刪除??头啃畔⒌膭h除界面如圖3-7所示。 圖3-7 刪除客房信息的分界面 (5)分界面:剩余客房信息的查詢的設(shè)計 在保存完所修改或刪除的客房信息,查詢剩余的客房信息查詢剩余客房的信息界面如圖3-8所示。圖3-8 剩余客房信息的分界面第4章 設(shè)計總結(jié)無論各種等級的客房,使用客房管理系統(tǒng)都具有

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論