《C課程設計酒店客房管理系統(tǒng)》_第1頁
《C課程設計酒店客房管理系統(tǒng)》_第2頁
《C課程設計酒店客房管理系統(tǒng)》_第3頁
《C課程設計酒店客房管理系統(tǒng)》_第4頁
《C課程設計酒店客房管理系統(tǒng)》_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質文檔-傾情為你奉上 計算機學院課程設計報告 課程名稱: 面向對象程序設計 課程設計 課 題: 客房管理系統(tǒng) 專業(yè)班級: 計算機學院 學 號: 姓 名: 指導老師: 日 期: 2011年7 月27 日 指導教師評語:成績評定; 指導教師簽名:目錄1.課題簡介03 2.設計方案043.具體設計及截屏圖054.關鍵代碼分析105.測試156.課題總結與體會177.參考文獻188.源代碼191.課題簡介客房管理系統(tǒng)是根據(jù)某酒店對客房管理的實際情況進行編寫的,主要目的是為了方便酒店對客房的實際情況進行集中的查詢與管理工作,以提高整個酒店的工作。經(jīng)過電腦及生活中的調查研究,根據(jù)客人的經(jīng)濟水平和生活

2、理念,客房的類型已趨向于多樣化,有標準房,單人房,VIP間,甚至總統(tǒng)套房。而初步設定通過客房的編號、類型、價格來定位一個客房的管理系統(tǒng)。客房是一個對外服務的內(nèi)容,為了客人的住宿要求,所以系統(tǒng)需要實現(xiàn)客房信息的錄入、修改和刪除功能。客人對剩余客房需要進行選擇,系統(tǒng)必須實現(xiàn)相應的查詢、排序和輸出功能,使客人擇優(yōu)而居。本次課程設計需要實現(xiàn)的是客房管理系統(tǒng)的鏈表實現(xiàn)。主要實現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢、排序、輸出。客房信息可寫入文件,也可從文件中讀取。客房信息涉及的數(shù)據(jù)有客房編號、客房類型、定房日期、客房內(nèi)容(設施)、定房有效期等。2設計方案按照需求分析所得,客房信息系統(tǒng)

3、有以下幾個功能模塊:1添加錄入信息模塊;編寫指針摸板,定義臨時的客房間數(shù),包括其各項類的成員,編號,類型,定房日期,價格,客房內(nèi)容,入住天數(shù)。3修改客房信息模塊;讀取保存的客房信息數(shù)據(jù),根據(jù)客房編號查找所需修改的客房信息,然后根據(jù)具體所需,修改成員參數(shù),并保存。4刪除客房信息模塊;從保存中的文件中讀取信息,刪除需要刪除的信息,完善現(xiàn)在的客房運作。5查詢剩余客房函數(shù);分按編號、類型、價格查詢,這樣可以更具有人性化來選擇所剩余的客房,從而進行日常安排。6排序剩余客房模塊;根據(jù)具體所需排序,可以是編號、價格或者類型,本系統(tǒng)中根據(jù)的是客房入住的天數(shù)來排序。7輸出剩余客房函數(shù);輸出根據(jù)系統(tǒng)所需排序后的客

4、房信息,本系統(tǒng)中是根據(jù)了客人入住的有效期即天數(shù)來及時了解空出的房間。由上述需求分析可得,系統(tǒng)的功能模塊圖如圖1所示。 錄入客房信息客房的信息管理系統(tǒng)查詢剩余客房信息排序剩余客房信息輸出剩余客房信息保存客房信息修改客房信息刪除客房信息退出系統(tǒng)圖1 2.具體設計及截屏圖1、類的設計根據(jù)上述需求分析,有客房類和鏈表類。(1)客房類系統(tǒng)研究客房cGuestroom類中成員: IDSIZE是客房編號,TypeSIZE是客房類型,BookSIZE是定房日期,PriceSIZE是每間客房的價格,StayTimeSIZE是定房的有效期,F(xiàn)unctionSIZE是客房的主要內(nèi)容(如浴室、衛(wèi)生間、網(wǎng)線等設施),標

5、志flag和構造函數(shù)cGuestroom()。客房類的UML圖如(圖2)所示:class cGuestroom+ IDBUFSIZE:char/ 客房編號+ TypeBUFSIZE:char/客房類型+ BookBUFSIZE:char/定房日期+ FunctionBUFSIZE:char/客房內(nèi)容+StayTime :int/定房有效期+ flay :bool/標志+ cGuestroom()/構造函數(shù)初始化圖2(2)鏈表類在tList類中,有成員:構造函數(shù)tList(),創(chuàng)建鏈表Create(),判斷鏈表是否為空的函數(shù)Empty() const,從尾部插入一個元素的函數(shù)Insert(con

6、st T e),返回第i個節(jié)點的函數(shù)GetcNode(int i),在鏈表中查詢某個值的函數(shù)bool Find(const T e),析構函數(shù)tList(),頭節(jié)點head。鏈表類的UML圖如(圖3)所示: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>圖32界面設計:(1) 主界面的設計主界面中顯示客房管理系統(tǒng)的全部信息,客

7、房信息的錄入,客房信息的保存,客房信息的修改,客房信息的刪除,剩余客房的查詢,剩余客房的排序,剩余客房的輸出,客房信息管理系統(tǒng)如圖4所示。圖4 主界面(2)分界面:客房信息的錄入的設計提示輸入客房編號,客房類型,客人定房日期,客房價格,客房中的主要內(nèi)容,客房定房的有效期。客房信息錄入如圖5所示。圖5 錄入客房信息的分界面(3)分界面:客房信息的保存的設計針對第一步客房信息的輸入及以后信息的修改、刪除做一個文件保存。客房信息保存如圖6所示。圖6 保存客房信息的分界面(4)分界面:客房信息的修改的設計提示根據(jù)編號進行客房信息修改,輸入要修改的內(nèi)容,如不修改的項目就遠洋輸出。客房信息修改界面如圖7所

8、示。圖7 修改客房信息的分界面(5)分界面:客房信息的刪除的設計提示進入刪除截面,根據(jù)客房編號查找所需刪除的客房信息。客房信息的刪除界面如圖8所示。圖8 刪除客房信息的分界面(6)分界面:剩余客房信息的查詢的設計在保存完所修改或刪除的客房信息,查詢剩余的客房信息,按提示進入剩余客房查詢界面,有按編號、類型、價格查詢,根據(jù)擁護自主選擇。查詢剩余客房的信息界面如圖9所示。圖9 查詢客房信息的分界面(7)剩余客房信息的排序的設計按提示進行剩余客房的排序,本系統(tǒng)中是以客人的入住天數(shù)排序,顯示屏幕如圖10所示。(8)分界面:剩余客房信息的輸出的設計在排序完后的剩余客房中,輸出所有客房的信息,以檢驗客房的

9、經(jīng)營情況。剩余客房信息輸出界面如圖10所示。圖10 輸出剩余客房的信息4.關鍵代碼分析(1)系統(tǒng)的登錄在主函數(shù)中,輸出客房信息系統(tǒng)的各功能提示。選擇需要執(zhí)行功能的序號,由switch判斷和選擇所需要執(zhí)行的功能。選擇1:執(zhí)行客房信息的錄入;選擇2:執(zhí)行保存客房的信息;選擇3:執(zhí)行教工基本信息的保存;選擇4:執(zhí)行教工基本信息的刪除;選擇5:執(zhí)行教工工資按從高到低排序;選擇6:執(zhí)行教工基本信息的修改;選擇7:執(zhí)行教工基本信息的查詢;選擇8:退出;主函數(shù):int main() tList<cGuestroom> tListMedic; tListMedic.Create(); /創(chuàng)建鏈表

10、ReadData(&tListMedic);while(1) cout<<"nn 客房管理系統(tǒng) nn" cout<<" - nn"cout<<" 1.客房信息的錄入 nn"cout<<" 2:客房信息保存nn"cout<<" 3.客房信息的修改 nn"cout<<" 4.客房信息的刪除 nn"cout<<" 5.剩余客房信息的查詢 nn" cout<<&

11、quot; 6.剩余客房信息的排序 nn"cout<<" 7.剩余客房信息的輸出 nn"cout<<" 8.退 出 系 統(tǒng) nn"cout<<" 請選擇:"int choose=0;cin>>choose; switch (choose) /用戶選擇 case 1:AddtheGuestroom(&tListMedic); break; /輸入客房信息case 2:SaveData(&tListMedic);break; /客房信息信息保存 case 3:Mod

12、ifytheGuestroom(&tListMedic); break; /修改客房信息 case 4:DeletetheGuestroom(&tListMedic); break; /刪除客房信息 case 5:FindtheremainGuestroom(&tListMedic); break; /查詢剩余客房信息 case 6:RanktheremainGuestroom(&tListMedic); break; /排序剩余客房信息 case 7:OutputtheremainGuestroom(&tListMedic); break; /輸出剩余

13、客房信息 case 8:exit(0); /退出 default : break; return 0; 在讀取數(shù)據(jù)庫中,可以從以有的文件中讀取數(shù)據(jù)到程序中,避免了程序的重復輸入數(shù)據(jù),有利于后面的信息修改、刪除等功能。讀取數(shù)據(jù)庫:void ReadData(tList<cGuestroom> *tListMedic) /讀取數(shù)據(jù)庫char bufBUFSIZE; ifstream ifile("Guestroom.txt",ios_base:in);/創(chuàng)建一個輸出文件流對象if (!ifile) cerr << "讀取時打開文件出錯!&quo

14、t; << endl; cGuestroom Guestroom;while(ifile.getline(buf,BUFSIZE) /遍歷文本,讀取數(shù)據(jù)ifile.getline(buf,BUFSIZE);strcpy(Guestroom.ID,buf); /讀取客房編號memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE); /讀取客房類型strcpy(Guestroom.Type,buf);memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE); /讀取提前定房日期strcpy(Guestroo

15、m.Book,buf);memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE); /讀取價格strcpy(Guestroom.Price,buf);memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE); /讀取客房主要內(nèi)容strcpy(Guestroom.Function,buf);memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE); /讀取入住有效期Guestroom.StayTime=atoi(buf);memset(buf,0,BUFSIZE);Guestr

16、oom.flag=true;tListMedic->Insert(Guestroom);cout<<"讀取數(shù)據(jù)成功!nn"ifile.close(); /關閉文件return;(2)信息的添加客房信息的錄入,創(chuàng)建cGuestroom類和tempGuestroom對象,調用構造函數(shù),輸入客房的房間編號、房間類型、定房日期、房間價格、房間內(nèi)容及個人的入住有效期,通過Insert函數(shù)實現(xiàn)。void AddtheGuestroom(tList<cGuestroom> *tListMedic) / 輸入客房函數(shù) cGuestroom tempGuestr

17、oom; /定義臨時客房cout<<"下面開始添加客房信息n"cout<<"請輸入入住的客房編號:"cin>>tempGuestroom.ID; /讀入客房編號cout<<"請輸入客房類型:"cin>>tempGuestroom.Type; /讀入客房類型cout<<"請輸入客人定房日期:"cin>>tempGuestroom.Book; /讀入定房日期cout<<"請輸入客房價格:"cin>&

18、gt;tempGuestroom.Price; /讀入價格cout<<"請輸入客房的主要內(nèi)容:"cin>>tempGuestroom.Function; /讀入主要內(nèi)容cout<<"請輸入客房入住有效期:"cin>>tempGuestroom.StayTime; /讀入入住有效期tempGuestroom.flag=true;tListMedic->Insert(tempGuestroom);cout<<"添加成功!n"system("pause")

19、;system("cls");(3)信息的刪除刪除客房信息,按要求提示輸入要刪除客房的房間編號,定義一個指向鏈表第一個節(jié)點的指針p。如果指針創(chuàng)建成功,開始用while和if語句實現(xiàn)p指向的節(jié)點的客房編號與存在的客房編號的比較。如果相同,輸出該客房的信息并刪除;如果沒有相同的,提示沒有所查詢的房間。void DeletetheGuestroom(tList<cGuestroom> *tListMedic) /刪除客房信息 char idBUFSIZE;cout<<"n請輸入你要查找的客房編號:"cin>>id; /讀取客

20、房編號bool flag=false;int count=0; cNode<cGuestroom> *p;p=tListMedic->head->next;while(p) if(strcmp(p->data.ID,id)=0 && p->data.flag) count+;flag=true;break; p=p->next;if(flag=false) cout<<"對不起,你所查找的客房延長了住房日期!n"/如果不能刪else /如果能刪 count-;cout<<"找到了,該

21、客房的原始信息是:n"cout<<"nn客房編號:"<<(p->data).ID<<"t客房類型:"<<(p->data).Type<<"ntt定房日期:"<<(p->data).Book<<"ntt價格:"<<(p->data).Price;cout<<"ntt客房的主要內(nèi)容:"<<(p->data).Function<<&

22、quot;ntt入住有效期:"<<(p->data).StayTime;cout<<endl;(p->data).flag=false;cout<<"該客房的信息刪除成功!n" cout<<endl;system("pause");system("cls");return;(4)信息的修改按提示輸入要修改的客房的客房編號,定義一個指向鏈表第一個節(jié)點的指針p。如果指針創(chuàng)建成功,開始用while和if語句實現(xiàn)p指向的節(jié)點的客房編號與存在的客房編號的比較。如果相同,提示輸

23、入房間的各個信息;如果沒有相同,提示沒有所查詢的客房。void ModifytheGuestroom(tList<cGuestroom> *tListMedic) /修改客房信息 char idBUFSIZE; cout<<"n請輸入你要查找的客房編號:"cin>>id; /讀取客房編號bool flag=false; cNode<cGuestroom> *p;p=tListMedic->head->next;while(p) if(strcmp(p->data.ID,id)=0 && p-&

24、gt;data.flag) flag=true;break;p=p->next;if(flag=true) cout<<"找到了,該客房的原始信息是:n"cout<<"nn客房編號:"<<(p->data).ID<<"t客房類型:"<<(p->data).Type<<"ntt定房日期:"<<(p->data).Book<<"ntt價格:"<<(p->data)

25、.Price;cout<<"ntt客房的主要內(nèi)容:"<<(p->data).Function<<"ntt入住有效期:"<<(p->data).StayTime;cout<<"n下面開始修改該客房的信息:n"cGuestroom tempGuestroom; /定義臨時客房cout<<"請輸入客房的客房編號:"cin>>tempGuestroom.ID; /讀入客房編號cout<<"請輸入客房的客房類

26、型:"cin>>tempGuestroom.Type; /讀入客房類型cout<<"請輸入客人的定房日期:"cin>>tempGuestroom.Book; /讀入定房日期cout<<"請輸入客房的客房價格:"cin>>tempGuestroom.Price; /讀入價格cout<<"請輸入客房的客房主要內(nèi)容:"cin>>tempGuestroom.Function; /讀入客房的主要內(nèi)容cout<<"請輸入客人入住客房

27、有效期:"cin>>tempGuestroom.StayTime; /讀入入住有效期tempGuestroom.flag=true;p->data=tempGuestroom;cout<<"修改成功!"cout<<endl;system("pause");system("cls");return;5.測試程序測試是將編制的程序投入實際運行前,用手工或編譯程序等方法進行測試,修正語法錯誤和邏輯錯誤的過程。原程序:void RanktheremainGuestroom(tList<

28、cGuestroom> *tListMedic) /排序剩余客房cNode<cGuestroom> *p,*q;cGuestroom remainGuestroom;for (p=tListMedic->head->next; p!= NULL; p=p->next)for (q=p; q!= NULL; q=q->next) if (p->data.Price > q->data.Price) remainGuestroom.flag = p->data.flag; strcpy(remainGuestroom.ID, p-&

29、gt;data.ID); strcpy(remainGuestroom.Type, p->data.Type);strcpy(remainGuestroom.Book, p->data.Book); strcpy(remainGuestroom.Price, p->data.Price);strcpy(remainGuestroom.Function, p->data.Function);remainGuestroom.StayTime = p->data.StayTime;p->data.flag = q->data.flag; strcpy(p-&

30、gt;data.Function, q->data.Function);strcpy(p->data.ID, q->data.ID); strcpy(p->data.Type, q->data.Type);strcpy(p->data.Book, q->data.Book); p->data.StayTime = q->data.StayTime; q->data.flag = remainGuestroom.flag; strcpy(q->data.Function, remainGuestroom.Function);str

31、cpy(q->data.ID, remainGuestroom.ID);strcpy(q->data.Type, remainGuestroom.Type);strcpy(q->data.Book, remainGuestroom.Book); q->data.StayTime = remainGuestroom.StayTime; 編譯成功后開始運行,信息錄入后,不能在文檔中正確排序輸出,經(jīng)Debug調試,發(fā)現(xiàn),以客人的入住天數(shù)排序來及時調出空余客房為最佳選擇。void RanktheremainGuestroom(tList<cGuestroom> *t

32、ListMedic) /排序剩余客房cNode<cGuestroom> *p,*q;cGuestroom remainGuestroom;for (p=tListMedic->head->next; p!= NULL; p=p->next) for (q=p; q!= NULL; q=q->next) if (p->data.StayTime > q->data.StayTime) remainGuestroom.flag = p->data.flag; strcpy(remainGuestroom.ID, p->data.ID

33、); strcpy(remainGuestroom.Type, p->data.Type);strcpy(remainGuestroom.Book, p->data.Book); strcpy(remainGuestroom.Price, p->data.Price);strcpy(remainGuestroom.Function, p->data.Function);remainGuestroom.StayTime = p->data.StayTime;p->data.flag = q->data.flag; strcpy(p->data.Fu

34、nction, q->data.Function);strcpy(p->data.ID, q->data.ID); strcpy(p->data.Type, q->data.Type);strcpy(p->data.Book, q->data.Book); p->data.StayTime = q->data.StayTime; q->data.flag = remainGuestroom.flag; strcpy(q->data.Function, remainGuestroom.Function);strcpy(q->

35、data.ID, remainGuestroom.ID);strcpy(q->data.Type, remainGuestroom.Type);strcpy(q->data.Book, remainGuestroom.Book); q->data.StayTime = remainGuestroom.StayTime; 6.課題總結與體會本次的C+課程設計雖然只是短短的兩個星期,但是卻令我體會很多,也學到很多東西。利用C+去設計客房管理,使我加強了對C+的認識,也對現(xiàn)代客房的基本運作管理有了初步了解。在這次課程設計中,我還懂得了程序開發(fā)中的一些比較重要的步驟并且學會了一些沒有

36、接觸過的知識,比如需求分析、類的設計以及類與類之間的關系,UML圖形的表示方法等。面向對象程序設計作為一門軟件設計的課程,具有極強的實踐性,使我加強了靈活應用理論知識的能力及面向對象程序設計技能。C語言相對于C語言來更具有優(yōu)越性,它不僅兼容C,還有一個非常重要的特點就是面向對象(具體來講就是類),另外模板技術的頻繁引用,也使整個程序看起來更清晰,更有條理化,所以,對模塊的掌握,在C+學習中是非常重要的。 在本次的應用程序的設計和創(chuàng)建過程中,我遇到了許多問題,有些是自己沒有在教科書中學過的,但是卻是系統(tǒng)所必須的,我通過在網(wǎng)上查找資料、查找書本、請教老師,一步步的把這些問題搞懂了,所以,課程設計也

37、培養(yǎng)了我們探索實踐的能力。總之,我覺得,我們學習和掌握的知識,只有通過實際應用,才能真正的理解和掌握,才能更好的去應用。以前上C+課程,只是零散被動地接受知識,而不是主動地去吸收滲透,而此次的課程設計卻讓我對編程產(chǎn)生了興趣,習慣獨立自主地完成任務,在困難中尋求幫助,加強和同學間的互幫互助,相信自己會在以后的學習和工作更加有經(jīng)驗。通過課程設計,我既復習了以前的舊知識,又學到了一些新的知識;設計增強了我們用所學知識去解決具體問題的能力,進一步培養(yǎng)了我們獨立思考問題和解決問題的能力。 7.參考文獻【1】陳維興,林小茶.C+面向對象程序設計教程.北京.清華大學出版社2010,10【2】譚浩強.C語言程

38、序設計.北京:清華大學出版社.2010,5【3】8.源代碼/客房管理系統(tǒng)主要實現(xiàn)的功能包括:客房信息的錄入、修改、刪除、剩余客房信息查詢、排序、輸出。客房信息可寫入文件,也可從文件中讀取。/* 系統(tǒng)的登錄 信息的添加 信息的刪除 信息的修改 */#include <iostream> /指示編譯器將文件iostream中的代碼嵌入到該程序中該指令所在的地方using namespace std;#include<fstream>/包含文件流頭文件#define BUFSIZE 50class cGuestroom;void FindTheGuestroom(); /查找

39、客房void FindTheGuestroomById(); /按照編號找客房void FindTheGuestroomByType(); /按照類型找客房void FindTheGuestroomByPrice(); /按照價格找客房void DeleteTheGuestroom(); /刪除客房void AddTheGuestroom(); /客房添加void ModifyTheGuestroom(); /修改客房 template <class T> /template:模板,樣板class cNode /節(jié)點public: T data; cNode *next;templ

40、ate <class T>class tList public: /定義成員函數(shù)tList();void Create(); /創(chuàng)建鏈表bool Empty() const; /判斷鏈表是否為空void Insert(const T e); /從尾部插入一個元素cNode<T>* GetcNode(int i); /返回第i個節(jié)點bool Find(const T e); /在鏈表中查找某個值tList(); /銷毀鏈表,析構 cNode<T> *head; /頭節(jié)點;template <class T>tList<T>:tList(

41、) /類的成員函數(shù)的實現(xiàn)head=new cNode<T>head->next=NULL;template <class T>void tList<T>:Create() cNode<T> *p;p=head;p->next=NULL;template <class T>bool tList<T>:Empty() const return (head->next=NULL);template <class T>void tList<T>:Insert(const T e) /ins

42、ert:插入 cNode<T> *p,*q;p=head;q=new cNode<T>q->data=e;while(p->next)p=p->next;p->next=q;q->next=NULL;template <class T>cNode<T>* tList<T>:GetcNode(int i) /返回第i個節(jié)點int k=0; cNode<T> *p;p=head;while(p && k<i)p=p->next;+k;return p;template

43、<class T>bool tList<T>:Find(const T e) /在鏈表中查找某個值bool flag=false; cNode<T> *p;p=head->next;while(p)if(p->data=e)flag=true;break;p=p->next;return flag;template <class T>tList<T>:tList()cNode<T> *p;while(head)p=head->next;delete head;head=p;class cGuestr

44、oompublic:char IDBUFSIZE; /客房編號char TypeBUFSIZE; /客房類型char BookBUFSIZE; /提前定房日期char PriceBUFSIZE; /客房價格char FunctionBUFSIZE; /客房主要內(nèi)容int StayTime; /入住天數(shù)有效期bool flag;/標志cGuestroom()/構造函數(shù)初始化memset(ID,0,BUFSIZE);memset(Type,0,BUFSIZE);memset(Book,0,BUFSIZE);memset(Function,0,BUFSIZE);memset(Price,0,BUFS

45、IZE);StayTime=0.0;flag=false; /memset:把char類型轉換成ASCII值;void ReadData(tList<cGuestroom> *tListGue)/讀取數(shù)據(jù)庫char bufBUFSIZE; ifstream ifile("Guestroom.txt",ios_base:in);/創(chuàng)建一個輸出文件流對象if (!ifile) cerr << "讀取時打開文件出錯!" << endl; cGuestroom Guestroom;while(ifile.getline(buf

46、,BUFSIZE) /遍歷文本,讀取數(shù)據(jù)ifile.getline(buf,BUFSIZE);strcpy(Guestroom.ID,buf);/讀取客房編號memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE);/讀取客房類型strcpy(Guestroom.Type,buf);memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE);/讀取提前定房日期strcpy(Guestroom.Book,buf);memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE);/讀取價

47、格strcpy(Guestroom.Price,buf);memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE);/讀取客房主要內(nèi)容strcpy(Guestroom.Function,buf);memset(buf,0,BUFSIZE);ifile.getline(buf,BUFSIZE);/讀取入住有效期Guestroom.StayTime=atoi(buf);memset(buf,0,BUFSIZE);Guestroom.flag=true;tListGue->Insert(Guestroom);cout<<"讀取數(shù)據(jù)成

48、功!nn"ifile.close();/關閉文件return;void AddtheGuestroom(tList<cGuestroom> *tListGue)/ 輸入客房函數(shù)cGuestroom tempGuestroom; /定義臨時客房cout<<"下面開始添加客房信息n"cout<<"請輸入入住的客房編號:"cin>>tempGuestroom.ID; /讀入客房編號cout<<"請輸入客房類型:"cin>>tempGuestroom.Type;

49、 /讀入客房類型cout<<"請輸入客人定房日期:"cin>>tempGuestroom.Book; /讀入定房日期cout<<"請輸入客房價格:"cin>>tempGuestroom.Price; /讀入價格cout<<"請輸入客房的主要內(nèi)容:"cin>>tempGuestroom.Function; /讀入主要內(nèi)容cout<<"請輸入客房入住有效期:"cin>>tempGuestroom.StayTime; /讀入入

50、住有效期tempGuestroom.flag=true;tListGue->Insert(tempGuestroom);cout<<"添加成功!n"system("pause"); /pause:停頓,終止system("cls");void SaveData(tList<cGuestroom> *tListGue) /保存數(shù)據(jù)int i=0;ofstream ofile("Guestroom.txt",ios_base:out);/創(chuàng)建一個輸入文件流對象if (!ofile) cer

51、r << "保存時打開文件出錯!" << endl; cNode<cGuestroom> *p;p=tListGue->head->next;while(p) /從內(nèi)存中讀取數(shù)據(jù),存到外盤if(p->data.flag)ofile<<"n"ofile<<(p->data).ID<<"n"ofile<<(p->data).Type<<"n"ofile<<(p->data).B

52、ook<<"n"ofile<<(p->data).Price<<"n"ofile<<(p->data).Function<<"n"ofile<<(p->data).StayTime<<"n"p=p->next;cout<<"保存數(shù)據(jù)成功!n"ofile.close();system("pause");system("cls");return;void ModifytheGuestroom(tList<cGuestroom> *tListGue) /修改客房信息char idBUFSIZE;cout<<"n請輸入你要查找的客房編號:"cin>>id; /讀取客房編號bool flag=false; cNode<cGuestroom> *p;p=tList

溫馨提示

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

最新文檔

評論

0/150

提交評論