?

酒店客房管理系統的設計與實現

2014-10-20 01:46李喜樂楊潤耀于洪基
建材發展導向 2014年5期
關鍵詞:酒店客房客房語句

李喜樂 楊潤耀 于洪基

摘 要:本文基于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()(按編號查詢客房)為例說明。首先定義各個變量,通過語句語句“ifstream f1(“Guestroom.txt”);”打開文件;通過if語句“if(!f1)”進行安全檢查,若文件出錯,打印“對不起,沒有客房信息!”;若打開文件成功,進行while循環,循環條件:文件中內容沒有讀取完,語句“while(f1>>num1>>type1>>price1>>count1>>s1)”實現;如果找到了num==num1,就使flag=true;緊接著打印出內容cout<<”\t客房編號:”<

3.3 修改函數

首先定義Guestroom p[N];和Guestroom q;用于讀取數據;string num1;int i=0;用于循環;bool flag=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中部分信息復制進去,這幾個函數在前面都已詳細介紹。

數據的提取和寫入是通過輸出流和輸入流來進行的,通過重載<<和>>,方便的提取和寫入數據。friend istream&operator;>> (istream&fin;,Basicperson&p;){p.Pinput(fin);return fin;}friend ostream&operator;<<(ostream&fout;,Basicperson&p;){p.Pprt(fout);return fout;}同時還運用了read_ch,tellg,seekp來讀取數據。

4 綜述

本系統的類和函數有緊密的聯系,函數又與文件緊緊相連,通過這幾塊大的知識相互結合運用再與C++中的異常,虛函數,模板等知識串聯,實現了系統基本的錄入,打印,查詢,修改,刪除功能。

參考文獻

[1] 陳建平,劉維富等.Visual C++程序設計課程建設研究與實踐[J].計算機教育,2007(12).

猜你喜歡
酒店客房客房語句
集團酒店客房安全管理問題探討
酒店建筑中的客房設計思路之研究
環境藝術設計作品
重點:語句銜接
高校酒店客房教學中情景教學法的應用
酒店智能客房影院系統構建指引
第28次瑞典冰旅館
煙囪里的客房
紐約有家“圖書館飯店”:有60間客房6000本藏書
如何搞定語句銜接題
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合