- 相關推薦
酒店客房管理系統的設計與實現論文
摘要:本文基于C語言和C++論述了酒店客房管理系統的設計與實現,運用“類”將客房信息管理、客戶信息管理以及入住信息管理相互聯系;運用各個函數實現具體功能。
關鍵詞:酒店客房管理;C語言;C++類
1系統需求分析
站在用戶的角度上,酒店客房管理系統設計的目的及意義是:
。1)為了較便利地在文件中錄入相關的客房信息和入住信息;
(2)為了較便捷地按個人需求或意愿來查詢已保存的相關信息;
。3)為了可以通過該系統修改已保存的相關信息。
基于以上考慮,該酒店客房管理系統所需實現的功能有客房信息、入住信息和客戶信息的錄入、查詢、修改等功能。
2總體設計
2.1系統功能分析
根據系統的需求分析,本系統主要實現三大功能:
。1)客房信息管理。錄入客房信息:包括客房編號,價格,類型,容量,使用狀況等信息的錄入;查詢客房信息:分別按照編號,價格,類型來查詢客房,了解客房狀況;修改及保存客房信息:修改客房的基本屬性并進行保存;打印客房信息:將酒店中的客房信息實現全部打印在屏幕上,便于了解入住狀況。
。2)客戶信息管理。錄入客戶信息:從入住信息調入客戶客戶的基本屬性;查詢客戶信息:分別按照姓名,身份證號,訂房日期來查詢客戶信息;修改及保存客戶信息:修改客戶基本屬性并保存;打印客戶信息:將所有入住過的客戶信息打印出來,以便查看;
(3)入住信息管理。錄入入住信息:客戶的基本屬性包括入住客戶的姓名,身份證號,性別,年齡,籍貫,電話,訂房日期,入住時長等,以及入住的房號和房間類型;查詢入住信息:分別按客戶姓名,房號,入住時間,身份證號進行信息查詢;修改及保存入住信息:修改入住客戶的基本屬性以及所住房間的號碼和類型;打印入住信息:將入住信息打印出來,以便查詢。
2.2類的描述
本系統共分為五個大類,分別是:
Basicroom,Guestoom,Basicperson,Person,RoomPerson。
各個類及函數的關系如下圖所示。
3詳細設計與實現
3.1錄入函數
錄入函數運用在客房信息與客戶信息中,在AddtheGuestroom()(輸入客房函數)中,運用“cout<<”下面開始添加客房信息\n”;cout<<”客房編號:”;”提示用戶輸入信息;然后用if語句判斷是否保存,若保存,創建一個輸入文件流對象,創建并打開文件,通過語句“ofile<3.2查詢函數
以客房信息中的Rfindbynum()(按編號查詢客房)為例說明。首先定義各個變量,通過語句語句“ifstreamf1(“Guestroom.txt”);”打開文件;通過if語句“if(!f1)”進行安全檢查,若文件出錯,打印“對不起,沒有客房信息!”;若打開文件成功,進行while循環,循環條件:文件中內容沒有讀取完,語句“while(f1>>num1>>type1>>price1>>count1>>s1)”實現;如果找到了num==num1,就使flag=true;緊接著打印出內容cout<<”\t客房編號:”<3.3修改函數
首先定義Guestroomp[N];和Guestroomq;用于讀取數據;stringnum1;inti=0;用于循環;boolflag=false;用于判斷是否已找出所要修改的客房。然后語句:cout<<”\n請輸入你要查找的客房編號:”;cin>>num1;讀取客房編號;語句“ifstreamifile(“Guestroom.txt”,ios::in);”打開文件;運用while(ifile)語句,當沒有讀到文件尾時,循環一直進行;再命令一個tellg指針和seekp指針,指到所要修改的一行;語句“ifile>>p[i].num>>p[i].type>>p[i].price>>p[i].count>>p[i].s;”讀出文件內容,if(p[i].num==num1),找到,開始打印客房的原始信息,確認信息之后,開始修改該客房的信息。
修改完成之后,ofstreamofile(“Guestroom.txt”,ios::in|ios::out);ofile.seekp(j);再次運用指針,寫到文件中指定位置,ofile<3.4數據的保存和裝載
本系統中一共有三類信息:客房信息,客戶信息,入住信息。分別保存在Guestroom.txt文件,Person.txt文件和RoomPerson.txt文件中(用戶可根據個人習慣更改名稱)。其中,Guestroom.txt和RoomPerson.txt中的信息是通過錄入函數寫入文件中的,Person.txt中的信息是通過調入函數將RoomPerson.txt中部分信息復制進去,這幾個函數在前面都已詳細介紹。
數據的提取和寫入是通過輸出流和輸入流來進行的,通過重載<<和>>,方便的提取和寫入數據。friendistream&operator>>(istream&fin,Basicperson&p){p.Pinput(fin);returnfin;}friendostream&operator<<(ostream&fout,Basicperson&p){p.Pprt(fout);returnfout;}同時還運用了read_ch,tellg,seekp來讀取數據。
4綜述
本系統的類和函數有緊密的聯系,函數又與文件緊緊相連,通過這幾塊大的知識相互結合運用再與C++中的異常,虛函數,模板等知識串聯,實現了系統基本的錄入,打印,查詢,修改,刪除功能。
參考文獻
[1] 陳建平,劉維富等.Visual C++程序設計課程建設研究與實踐[J].計算機教育,2007(12).
【酒店客房管理系統的設計與實現論文】相關文章:
解析科技競賽賽務系統的設計與實現論文04-19
基于系統設計的科研管理論文09-22
物資管理系統論文08-06
庫存管理系統論文07-24
電影院售票系統的設計與實現開題報告12-01
旅游網站的設計與實現畢業論文11-14
企業工資管理系統的論文09-27
信息管理系統論文09-18
FPGA數據采集與回放系統設計論文04-24
管理信息系統論文02-04