版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、西華大學(xué)課程設(shè)計(jì)報(bào)告 數(shù)學(xué)與計(jì)算機(jī)學(xué)院課程設(shè)計(jì)說(shuō)明書(shū)課 程 名 稱(chēng): 軟件工程 課 程 代 碼: 8404131 題 目: 酒店客房管理系統(tǒng) 年級(jí)/專(zhuān)業(yè)/班: 09軟件工程4班 學(xué) 生 姓 名: 學(xué) 號(hào): 開(kāi) 始 時(shí) 間: 2011 年 05 月 23 日完 成 時(shí) 間: 2011 年 06 月 06 日課程設(shè)計(jì)成績(jī):學(xué)習(xí)態(tài)度及平時(shí)成績(jī)(30)技術(shù)水平與實(shí)際能力(20)創(chuàng)新(5)說(shuō)明書(shū)(計(jì)算書(shū)、圖紙、分析報(bào)告)撰寫(xiě)質(zhì)量(45)總 分(100)指導(dǎo)教師簽名: 年 月 日學(xué)院名稱(chēng): 數(shù)學(xué)與計(jì)算機(jī)學(xué)院 課程代碼:_8404131_專(zhuān)業(yè): 軟件工程 年級(jí): 09級(jí) 一、設(shè)計(jì)題目 客房管理系統(tǒng)二、主要內(nèi)
2、容本課程設(shè)計(jì)要求為某酒店開(kāi)發(fā)一個(gè)客房管理系統(tǒng),主要實(shí)現(xiàn)登記、預(yù)定、結(jié)帳、取消預(yù)定、續(xù)房、轉(zhuǎn)房、預(yù)定轉(zhuǎn)入住等功能。三、具體要求及應(yīng)提交材料具體要求:本課程設(shè)計(jì)要求學(xué)生運(yùn)用軟件工程的思想,嚴(yán)格按照軟件生命周期各階段的目的和任務(wù),完成對(duì)系統(tǒng)的分析、設(shè)計(jì)、編碼、及測(cè)試。1完成系統(tǒng)的需求分析2完成系統(tǒng)的設(shè)計(jì): 針對(duì)分析階段提出的軟件要求,給出實(shí)現(xiàn)的方案和具體細(xì)節(jié)的說(shuō)明。(1)導(dǎo)出系統(tǒng)的數(shù)據(jù)流程圖和功能模塊圖。(2)設(shè)計(jì)數(shù)據(jù)庫(kù)。使用microsoft access創(chuàng)建數(shù)據(jù)庫(kù)。確定數(shù)據(jù)庫(kù)中數(shù)據(jù)表的組成。確定數(shù)據(jù)表中字段的構(gòu)成、主鍵字段和有關(guān)字段的約束條件等。依靠數(shù)據(jù)表中主鍵字段建立數(shù)據(jù)表之間的關(guān)系,并由此建
3、立數(shù)據(jù)表之間的參照完整性約束。(3)根據(jù)功能確定軟件模塊組成及調(diào)用關(guān)系。(4)確定每個(gè)模塊的數(shù)據(jù)結(jié)構(gòu)及算法。3編碼建造模塊,在可視化編程環(huán)境下,按照軟件設(shè)計(jì)要求制作界面和完成對(duì)模塊的編碼,由此使軟件設(shè)計(jì)具體化為軟件作品。4. 測(cè)試編寫(xiě)合適的測(cè)試用例完成系統(tǒng)的測(cè)試工作并分析結(jié)果。5編寫(xiě)課程設(shè)計(jì)報(bào)告應(yīng)提交材料:1上交源程序:學(xué)生按照課程設(shè)計(jì)的具體要求所開(kāi)發(fā)的所有源程序(應(yīng)該放到一個(gè)文件夾中);2課程設(shè)計(jì)報(bào)告的打印稿和電子稿;四、主要技術(shù)路線提示1認(rèn)真閱讀相關(guān)知識(shí),完成系統(tǒng)的功能分析和系統(tǒng)設(shè)計(jì)。2選用access作為dbms。五、進(jìn)度安排序號(hào)設(shè)計(jì)內(nèi)容天數(shù)1分析設(shè)計(jì)內(nèi)容,給出解決方案32創(chuàng)建數(shù)據(jù)庫(kù)及建
4、表33可視化界面設(shè)計(jì)34對(duì)所建數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì),整理設(shè)計(jì)思路,編碼、測(cè)試,寫(xiě)出課程設(shè)計(jì)報(bào)告35指導(dǎo)老師檢查設(shè)計(jì)結(jié)果并做成績(jī)?cè)u(píng)定2總 計(jì)14六、參考資料1 張海藩. 軟件工程導(dǎo)論. 北京:清華大學(xué)出版社,20042 陳明. 實(shí)用軟件工程基礎(chǔ). 北京:清華大學(xué)出版社,20033 殷人昆. 實(shí)用軟件工程. 北京:清華大學(xué)出版社,2003 指導(dǎo)教師 簽名日期 年 月 日 系 主 任 審核日期 年 月 日目 錄1. 前言 12. 需求分析 22.1. 功能分析 22.2. 方案分析 23. 概要設(shè)計(jì) 33.1. 數(shù)據(jù)結(jié)構(gòu) 33.2. 邏輯結(jié)構(gòu)與物理結(jié)構(gòu) 33.3. 功能模塊劃分 43.3.1結(jié)構(gòu)框圖53.
5、3.2程序流圖73.3.3模塊功能分析及外部設(shè)計(jì)84. 詳細(xì)設(shè)計(jì) 94.1. 數(shù)據(jù)類(lèi)型定義 94.2. 主要模塊內(nèi)部設(shè)計(jì) 104.2.1預(yù)訂管理功能模塊設(shè)計(jì) 114.2.1.1模塊算法 124.2.1.2流程圖 134.3.1.3源代碼 144.2.2. 入住管理功能模塊設(shè)計(jì) 154.2.2.1. 模塊算法 164.2.2.2. 流程圖 164.2.2.3. 源代碼 164.2.3. 退房管理功能模塊16 4.2.3.1. 模塊算法 16 4.2.3.2. 流程圖 16 4.2.3.3. 源代碼 164.2.4. 查詢管理功能模塊16 4.2.4.1. 模塊算法16 4.2.4.2. 流程圖1
6、6 4.2.4.3. 源代碼165實(shí)現(xiàn)與調(diào)試分析165.1實(shí)現(xiàn)環(huán)境165.2語(yǔ)言選擇165.3調(diào)試分析166測(cè)試分析176.1測(cè)試用例及測(cè)試結(jié)果176.2性能分析187用戶手冊(cè) 18總結(jié) 20參考文獻(xiàn) 20附錄 源程序文件名清單:1.前言酒店,是為客人提供住宿、餐飲、娛樂(lè)和其它服務(wù)的綜合性服務(wù)企業(yè),它所接待的客來(lái)自世界各地,而且這些客人的生活習(xí)慣、消費(fèi)水平、宗教信仰等各不相同。隨著我國(guó)旅游業(yè)的飛速發(fā)展,以及社會(huì)生活水平的普遍提高,人們對(duì)于酒店消費(fèi)不斷地提出更高、更多樣性的要求。如何以酒店企業(yè)所擁有的有限的人力、物力、財(cái)力和信息資源服務(wù)于住店客人,滿足客人的各種消費(fèi)需求,在當(dāng)今競(jìng)爭(zhēng)日趨激烈的酒店
7、行業(yè)中,是經(jīng)營(yíng)好酒店企業(yè)的重要問(wèn)題。酒店經(jīng)營(yíng)管理人員不但要掌握科學(xué)的管理思想和管理方法來(lái)綜合的運(yùn)用酒店資源,還應(yīng)該采用先進(jìn)的計(jì)算機(jī)管理手段處理日益復(fù)雜的信息資源,正確、及時(shí)地對(duì)客源市場(chǎng)信息作出反應(yīng)和正確的指定經(jīng)營(yíng)決策,這樣才有可能保證酒店企業(yè)在如今激烈的競(jìng)爭(zhēng)中求得生存和發(fā)展。成功的應(yīng)用先進(jìn)的計(jì)算機(jī)管理手段輔助酒店企業(yè)的經(jīng)營(yíng)管理,不但要求酒店的日常操作模式要符合計(jì)算機(jī)信息處理的要求,而且需要有相應(yīng)的管理體系和人員配合。作為酒店的經(jīng)營(yíng)管理人員只有充分的掌握酒店的各職能崗位的信息流程和計(jì)算機(jī)處理的要求,并善于結(jié)合兩者的要求和長(zhǎng)處,才能使想進(jìn)的計(jì)算信息處理技術(shù)有效的服務(wù)與酒店的經(jīng)營(yíng)管理。本課程設(shè)計(jì)主要
8、解決的是在一個(gè)酒店的客房管理中,實(shí)現(xiàn)計(jì)算機(jī)對(duì)來(lái)客的訂房情況,消費(fèi)情況的統(tǒng)計(jì)與登記,實(shí)現(xiàn)對(duì)酒店住房費(fèi)用的一次性結(jié)算服務(wù),為酒店管理人員關(guān)于一定時(shí)間段里酒店的住房管理情況與酒店的經(jīng)營(yíng)情況提供快捷方便高效的管理手段。在本課程設(shè)計(jì)中,系統(tǒng)開(kāi)發(fā)平臺(tái)為windows xp,程序設(shè)計(jì)設(shè)計(jì)語(yǔ)言采用vc+,程序運(yùn)行平臺(tái)為windows xp。在vc+中可以實(shí)現(xiàn)的功能有預(yù)定客戶管理,客戶日常事務(wù)登記,住房管理等。通過(guò)本課程設(shè)計(jì),主要實(shí)現(xiàn)對(duì)的是對(duì)酒店的客房進(jìn)行管理,使用戶能輕松地找到所需要的客房信息,提供訂房和退房服務(wù),并對(duì)酒店客房的業(yè)績(jī)進(jìn)行統(tǒng)計(jì),以實(shí)現(xiàn)服務(wù)管理的電子化,自動(dòng)化,提高酒店客房管理的辦公效率,為提高和
9、改善酒店的服務(wù)質(zhì)量提供保證。2.需求分析2.1功能分析經(jīng)過(guò)綜合分析,確定了系統(tǒng)應(yīng)該包括如下功能: 客房信息管理;用戶可對(duì)酒店客房的相關(guān)信息進(jìn)行管理,包括對(duì)客房的基本信息(如客房號(hào),客房?jī)r(jià)格等)進(jìn)行檢索,錄入和修改u 客房訂房管理;實(shí)現(xiàn)客戶對(duì)酒店客房的預(yù)定要求。酒店客戶在可選擇預(yù)訂方式或者是到達(dá)酒店后再訂的方式進(jìn)行訂房選擇,系統(tǒng)用戶根據(jù)客戶的選擇,為客戶登記訂房消息,并將客戶的相關(guān)信息記錄在案。為客戶分配合適的客房后,將相應(yīng)的客房信息更改后也記錄在案。訂房時(shí),根據(jù)客戶的類(lèi)型,信息記錄,以及訂房方式,所選房間類(lèi)型,用戶作出相應(yīng)處理。u 客房入住管理;實(shí)現(xiàn)客戶對(duì)酒店客房的預(yù)訂轉(zhuǎn)入住要求。u 客房退房
10、管理;實(shí)現(xiàn)客戶的退房要求,并進(jìn)行費(fèi)用結(jié)算。u 客戶信息管理;用戶可對(duì)入住過(guò)酒店的客戶信息進(jìn)行查詢,包括對(duì)客戶的基本信息(如身份證號(hào)、客戶姓名、聯(lián)系電話)進(jìn)行檢索。2.2方案分析該系統(tǒng)的最終用戶有兩種類(lèi)型:一是顧客,二是客房管理人員。顧客只在賓館的網(wǎng)站部分有權(quán)限,可以預(yù)定賓館房間,對(duì)賓館進(jìn)行評(píng)價(jià)等??头抗芾砣藛T擁有輸入顧客預(yù)定、入住和修改客房等信息的權(quán)限。此客房管理系統(tǒng)將會(huì)對(duì)這兩種不同類(lèi)型的用戶做不同的功能需求分析并滿足其需求。系統(tǒng)需對(duì)用戶登錄進(jìn)行管理。使用各功能模塊時(shí),系統(tǒng)應(yīng)驗(yàn)證用戶身份的有效性,否則要求用戶登錄。另外,允許用戶對(duì)自己的密碼進(jìn)行修改。3.概要設(shè)計(jì) 3.1.數(shù)據(jù)結(jié)構(gòu) 分析可畫(huà)出客
11、房管理系統(tǒng)的d層數(shù)據(jù)流圖。由圖可知此系統(tǒng)的終端用戶酒店顧客和酒店管理人員。其中,酒店用戶通過(guò)此系統(tǒng)可查詢客房信息。而酒店管理人員可以對(duì)客戶信息、客房信息和房卡賬單等進(jìn)行查詢和更新操作。圖3.1 總體數(shù)據(jù)流程圖詳細(xì)說(shuō)明:u 酒店客戶在可選擇預(yù)訂方式或者是到達(dá)酒店后再訂的方式進(jìn)行訂房選擇,系統(tǒng)用戶根據(jù)客戶的選擇,為客戶登記訂房消息,并將客戶的相關(guān)信息記錄在案。為客戶分配合適的客房后,將相應(yīng)的客房信息更改后也記錄在案。訂房時(shí),根據(jù)客戶的類(lèi)型,信息記錄,以及訂房方式,所選房間類(lèi)型,用戶作出相應(yīng)處理。u 酒店客戶在退房時(shí),系統(tǒng)用戶對(duì)客戶應(yīng)付金額進(jìn)行結(jié)算后開(kāi)出發(fā)票,并更新相應(yīng)客房信息。e-r圖設(shè)計(jì):交易記
12、錄入住時(shí)間訂房時(shí)間房間號(hào)碼身份證號(hào)消費(fèi)總額訂房數(shù)入住天數(shù)退房時(shí)間 圖3.2交易記錄實(shí)體顧客身份證號(hào)聯(lián)系電話房間號(hào)碼姓名消費(fèi)統(tǒng)計(jì)訂房時(shí)間號(hào)圖3.3 客戶記錄實(shí)體 客房房間號(hào)碼客房類(lèi)型使用狀態(tài)床位數(shù)價(jià)格 圖3.4 客房實(shí)體用戶用戶名聯(lián)系電話密碼 圖3.5 管理人員實(shí)體111111n111mnmn用戶管理客房客戶消費(fèi)記錄交易記錄住宿產(chǎn)生交易查詢核算賬單 圖3.6 實(shí)體間的聯(lián)系圖3.2邏輯結(jié)構(gòu)和物理結(jié)構(gòu) 通過(guò)對(duì)上述數(shù)據(jù)結(jié)構(gòu)的分析,根據(jù)酒店管理系統(tǒng)的需求,將以上的e-r圖轉(zhuǎn)換為關(guān)系模式:u 顧客(身份證號(hào),姓名,電話,訂房時(shí)間,房間號(hào)碼,消費(fèi)統(tǒng)計(jì));u 房間(房間號(hào)碼,房間類(lèi)型,床位數(shù),價(jià)格,使用狀態(tài))
13、;u 管理人員(用戶名,密碼,聯(lián)系電話);u 交易記錄(房間號(hào)碼,身份證號(hào),訂房時(shí)間,入住時(shí)間,退房時(shí)間,入住天數(shù),訂房數(shù),消費(fèi)總額)。3.3. 功能模塊劃分 3.3.1結(jié)構(gòu)框圖 客房管理系統(tǒng)退房管理模塊客戶信息管理模塊客房信息管理模塊入住管理模塊訂房管理模塊 圖3.7 酒店客房管理系統(tǒng)結(jié)構(gòu)方框圖以下為各功能模塊的主要功能描述:u 客房信息管理:用戶可對(duì)酒店客房的相關(guān)信息進(jìn)行管理,包括對(duì)客房的基本信息(如客房號(hào),客房?jī)r(jià)格等)進(jìn)行檢索,錄入和修改。u 客房預(yù)訂管理:實(shí)現(xiàn)客戶對(duì)酒店客房的預(yù)定要求。u 客房訂房及入住管理:實(shí)現(xiàn)客戶對(duì)酒店客房的訂房以及預(yù)訂轉(zhuǎn)入住要求。u 客房退房管理:實(shí)現(xiàn)客戶的退房要
14、求,并進(jìn)行費(fèi)用結(jié)算。u 顧客信息管理:用戶可對(duì)入住過(guò)酒店的客戶信息進(jìn)行查詢,包括對(duì)客戶的基本信息(如身份證號(hào)、客戶姓名、聯(lián)系電話)進(jìn)行檢索。3.3.2程序流圖412132開(kāi)始輸入用戶名和密碼輸入服務(wù)類(lèi)型預(yù) 定入 住退 房查 詢退 出 系 統(tǒng)返回用戶界面 圖3.8 系統(tǒng)流程圖3.3.3模塊功能分析及外部設(shè)計(jì)u 訂房管理功能:酒店顧客可通過(guò)這個(gè)功能在未到達(dá)酒店之前先在酒店中預(yù)訂住房,預(yù)訂方式可通過(guò)電話或者請(qǐng)求他人,但應(yīng)帶有相關(guān)證件。顧客在預(yù)訂房間之后須在系統(tǒng)設(shè)定期限內(nèi)入住,否則取消預(yù)訂。u 入住管理功能:顧客在預(yù)訂轉(zhuǎn)登記或者已登記好后,就進(jìn)入本環(huán)節(jié),顧客在交納定金后可獲得所訂房間的房卡并入住房間。
15、u 退房管理功能:本系統(tǒng)對(duì)結(jié)賬方式如下規(guī)定:每個(gè)房間的消費(fèi)總額由登記身份證號(hào)的顧客結(jié)賬。結(jié)賬方式為現(xiàn)金及銀行卡結(jié)合的方式,不接受掛賬。u 信息查詢功能:本模塊實(shí)現(xiàn)的是管理人員對(duì)顧客消費(fèi)信息以及酒店內(nèi)客房的基本信息進(jìn)行管理的操作,基本操作為查詢,錄入和修改,客房的基本信息包括:客房的房間號(hào),房間類(lèi)型,房間狀態(tài)。顧客信息包括顧客當(dāng)前所住的房間號(hào)碼和其姓名,身份證號(hào)等信息。4. 詳細(xì)設(shè)計(jì)4.1. 數(shù)據(jù)類(lèi)型定義struct room int number; int dank; int price; int state; ;class customer public:customer();void se
16、t_name(char *n)strcpy(name,n);void set_id(char *p)strcpy(id,p);void set_room_number(int n)room_number=n;void set_day(int d)day=d;void set_prepaid(int p)prepaid=p;char *get_name()return name;char *get_id()return id;int get_room_number()return room_number;int get_day()return day;int get_prepaid()retur
17、n prepaid;virtual customer();private: char name10,id19; int room_number;int prepaid;int change;int day;4.2. 主要模塊內(nèi)部設(shè)計(jì) 4.2.1預(yù)訂管理功能模塊 4.2.1.1模塊算法 顧客輸入其信息并選擇了房間類(lèi)型時(shí),系統(tǒng)對(duì)顧客所選的房間類(lèi)型逐一檢查其房間狀態(tài),尋找到第一個(gè)房間狀態(tài)為空(即0)的房間,則取出房間號(hào)碼告知顧客預(yù)定成功并對(duì)其進(jìn)行消費(fèi)金額計(jì)算。最后將取出的房間的狀態(tài)改為1(即已訂),并將該顧客的個(gè)人信息存入系統(tǒng)中。 4.2.1.2流程圖客戶信息登記酒店可用房間分配計(jì)算消費(fèi)總額提交數(shù)據(jù)
18、酒店是否有充足空房告知客戶并取消服務(wù)yesno 圖4.1 顧客預(yù)定流程圖4.2.1.3源代碼void book_room()customeri=new customer;int room_standard,day;cout請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn):n; coutroom_standard; coutday; customeri-set_day(day);switch(room_standard) int n;case 1:cout住房費(fèi)用總共為: day*150元n; /計(jì)算住房費(fèi)用for(n=0;n20;n+) /從第一個(gè)級(jí)別的房間中查找一個(gè)空閑的房間if(roomn.state=0) /st
19、ate=0表示該住房沒(méi)有被預(yù)定的cout預(yù)定成功!您的房間號(hào)碼為: roomn.numberset_room_number(roomn.number);break; else cout”此類(lèi)型房間已滿!n”;break; case 2:cout住房費(fèi)用總共為: day*200 元n; for(n=20;n40;n+)if(roomn.state=0)cout預(yù)定成功!您的房間號(hào)碼為: roomn.numberset_room_number(roomn.number);break; else cout”此類(lèi)型房間已滿!n”;break; case 3:cout住房費(fèi)用總共為: day*300 元
20、n; for(n=40;n60;n+)if(roomn.state=0)cout預(yù)定成功!您的房間號(hào)碼為: roomn.numberset_room_number(roomn.number);break; else cout”此類(lèi)型房間已滿!n”;break; case 4:cout住房費(fèi)用總共為: day*600元n; for(n=60;n80;n+)if(roomn.state=0)cout預(yù)定成功!您的房間號(hào)碼為: roomn.numberset_room_number(roomn.number);break; else cout”此類(lèi)型房間已滿!n”;break; i+; /住房的顧客
21、數(shù)加4.2.2入住管理功能模塊 4.2.2.1模塊算法首先判斷顧客是預(yù)訂轉(zhuǎn)入住還是直接訂房入住。若該顧客是預(yù)訂轉(zhuǎn)入住則提示顧客輸入相關(guān)信息,并判斷是否存在該顧客的預(yù)訂信息。若存在則計(jì)算其欲消費(fèi)總額收取定金并將房間卡交給顧客,最后將該房間的狀態(tài)由已訂改為已入住。并將入住的信息存入系統(tǒng)中。 4.2.2.2流程圖該顧客是否已訂房間yesno按客戶要求查詢酒店客房顧客輸入姓名和身份證號(hào)yes顧客身份確認(rèn)顧客繳納定金分給顧客房間鑰匙提交數(shù)據(jù)告知顧客無(wú)預(yù)定信息no客戶信息登記酒店是否有充足空房告知客戶并取消服務(wù)酒店可用房間分配計(jì)算消費(fèi)總額提交數(shù)據(jù)yes 圖4.2 顧客入住流程圖 4.2.2.3源代碼/入住
22、登記*void check_in() char name110,id119; int ding_or_no,prepaid; cout訂了 2-沒(méi)訂) ; cinding_or_no; if(ding_or_no=1)cout請(qǐng)輸入顧客的姓名:name1;cout請(qǐng)輸入顧客的身份證號(hào)碼:id1;for(int j=0;jget_name(),name1)=0)&(strcmp(customerj-get_id(),id1)=0) /查找該顧客的定房信息int num=customerj-get_room_number(); /取得定房的房間號(hào)cout顧客name1今天入住本賓館! 房間號(hào)碼為:
23、 numget_day()*150;customerj-set_prepaid(prepaid);cout請(qǐng)收房費(fèi)prepaid元整!get_day()*200;customerj-set_prepaid(prepaid);cout請(qǐng)收房費(fèi)prepaid元整!get_day()*300;customerj-set_prepaid(prepaid);cout請(qǐng)收房費(fèi)prepaid元整!get_day()*600;customerj-set_prepaid(prepaid);cout請(qǐng)收房費(fèi)prepaid元整!endl;room59+num%100.state=2;break;break; els
24、e cout預(yù)訂信息不存在!入住失?。; else customeri=new customer;int room_standard,day;cout請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn):n; coutroom_standard; coutday; customeri-set_day(day);switch(room_standard) int n;case 1:prepaid=day*150;customeri-set_prepaid(prepaid);cout請(qǐng)收房費(fèi)prepaid元整!n; for(n=0;n20;n+)if(roomn.state=0)cout入住房間號(hào)碼為: roomn.numb
25、erset_room_number(roomn.number);break;break; case 2:prepaid=day*200;customeri-set_prepaid(prepaid);cout請(qǐng)收房費(fèi)prepaid元整!n; for(n=20;n40;n+)if(roomn.state=0)cout入住房間號(hào)碼為: roomn.numberset_room_number(roomn.number);break;break; case 3:prepaid=day*300;customeri-set_prepaid(prepaid);cout請(qǐng)收房費(fèi)prepaid元整!n; for(
26、n=40;n60;n+)if(roomn.state=0)cout入住房間號(hào)碼為: roomn.numberset_room_number(roomn.number);break;break; case 4:prepaid=day*600;customeri-set_prepaid(prepaid);cout請(qǐng)收房費(fèi)prepaid元整!n; for(n=60;n80;n+)if(roomn.state=0)cout入住房間號(hào)碼為: roomn.numberset_room_number(roomn.number);break;break; i+;4.2.3.退房管理功能模塊4.2.2.1模塊算
27、法 顧客提出結(jié)賬要求時(shí)輸入其姓名和身份證號(hào),此時(shí)系統(tǒng)內(nèi)部自動(dòng)查詢?cè)擃櫩退〉姆块g號(hào)碼和該房間的類(lèi)型,輸入其實(shí)際住房時(shí)間,系統(tǒng)自動(dòng)結(jié)算其消費(fèi)總額輸出其房號(hào)和房間類(lèi)型和計(jì)算后實(shí)際應(yīng)收的費(fèi)用,自動(dòng)和顧客的預(yù)交金額做比較,若實(shí)際消費(fèi)低于預(yù)收金額則退還顧客多收的費(fèi)用,若少于則輸出顧客應(yīng)補(bǔ)交的費(fèi)用,最后確認(rèn)核算清楚,退出該功能。4.2.2.2流程圖客戶提出結(jié)賬要求結(jié)算客戶消費(fèi)金額客房狀態(tài)檢查收取相應(yīng)金額或退出多余定金更新相應(yīng)信息提交數(shù)據(jù) 圖4.4 顧客退房流程圖4.2.3.3源代碼void check_out()char name210,id219;int standard,j,room_number,d
28、ay1,day2,day;coutname2id2; coutday2; for(j=0;jget_name(),name2)=0)&(strcmp(customerj-get_id(),id2)=0)room_number=customerj-get_room_number();standard=room_number/100; day1=customerj-get_day();day=day1-day2;switch(standard) case 6: cout顧客的房間號(hào)是room_number :為單人間,每天150元n;cout該顧客預(yù)付了房費(fèi) get_prepaid()元, 實(shí)際消
29、費(fèi) day2*150元整!n;cout0)cout請(qǐng)退給該顧客 day*150 元整!n; if(day0)cout請(qǐng)補(bǔ)收該顧客住房費(fèi) -day*150 元整!n;break;case 7:cout顧客的房間號(hào)是room_number :為單人間,每天200元n;cout該顧客預(yù)付了房費(fèi) get_prepaid()元, 實(shí)際消費(fèi) day2*200元整!n;cout0)cout請(qǐng)退給該顧客 day*200 元整!n; if(day0)cout請(qǐng)補(bǔ)收該顧客住房費(fèi) -day*200 元整!n;break; case 8:cout顧客的房間號(hào)是room_number :為單人間,每天300元n;cou
30、t該顧客預(yù)付了房費(fèi) get_prepaid()元, 實(shí)際消費(fèi) day2*300元整!n;cout0)cout請(qǐng)退給該顧客 day*300 元整!n; if(day0)cout請(qǐng)補(bǔ)收該顧客住房費(fèi) -day*300 元整!n;break; case 9:cout顧客的房間號(hào)是room_number :為單人間,每天600元n;cout該顧客預(yù)付了房費(fèi) get_prepaid()元, 實(shí)際消費(fèi) day2*600元整!n;cout0)cout請(qǐng)退給該顧客 day*600 元整!n; if(day0)cout請(qǐng)補(bǔ)收該顧客住房費(fèi) -day*600 元整!n;break; coutendl;coutacco
31、unt;if(account=1)for(int k=0;kget_room_number() roomk.state=0;i-;for(;ji;j+)customerj=customerj+1;delete customeri; 4.2.4信息查詢功能模塊4.2.4.1模塊算法顧客查詢:當(dāng)選擇了顧客查詢時(shí)會(huì)出現(xiàn)按照姓名查詢和按照身份證號(hào)查詢兩項(xiàng)。無(wú)論選擇哪種查詢方式均要輸入系統(tǒng)所提示的輸入信息,輸入后系統(tǒng)內(nèi)部對(duì)顧客姓名或者身份證號(hào)進(jìn)行匹配,匹配成功時(shí)將輸出所匹配結(jié)果,其中包括該顧客的姓名,身份證號(hào)和所住房間號(hào)碼??头坎樵儯?當(dāng)選擇了客房查詢時(shí)系統(tǒng)內(nèi)部自動(dòng)從第一個(gè)客房開(kāi)始搜索,搜索每個(gè)客房的狀
32、態(tài),最后根據(jù)客房的三個(gè)不同狀態(tài)將客房分類(lèi)輸出。 4.2.4.2流程圖 顧客信息查詢客房信息查詢按姓名查詢身份證號(hào)查詢輸入查詢目標(biāo)輸出顧客入住信息輸出房間號(hào)碼及其狀態(tài)1212 圖4.5 信息查詢功能模塊流程圖 4.2.4.3源代碼/信息查詢*void inquire() char inquire_choice; cout* 1. 房間查詢 *n;cout* 2. 顧客查詢 *n; coutinquire_choice; if(inquire_choice=1) int j,k=0; coutendl; cout下列房間還沒(méi)人預(yù)訂,也沒(méi)人入住:endl; for(j=0;j80;j+) if(ro
33、omj.state=0) if(k%10=0) coutendl; coutroomj.numbert; k+; coutendl; coutendl; k=0; cout下列房間已預(yù)訂:endl; for(j=0;j80;j+) if(roomj.state=1) if(k%10=0) coutendl; coutroomj.numbert; k+; k=0; coutendl; coutendl; cout下列房間有人入?。篹ndl; for(j=0;j80;j+) if(roomj.state=2) if(k%10=0) coutendl; coutroomj.numbert; k+;
34、coutendl; coutendl; else if(inquire_choice=2) cout*1. 按姓名查詢 *n; cout*2. 按身份證號(hào)查詢*n; coutinquire_choice; if(inquire_choice=1) char name310; cout請(qǐng)輸入顧客的姓名: name3; for(int j=0;jget_name(),name3)=0) coutname3的住房信息如下:n; coutt房間號(hào)為: get_room_number()endl; coutt預(yù)付房費(fèi)為: get_prepaid()endl; if(inquire_choice=2) c
35、har id310; cout請(qǐng)輸入顧客的姓名: id3; for(int j=0;jget_id(),id3)=0) coutget_name()的住房信息如下:n; coutt房間號(hào)為: get_room_number()endl; coutt預(yù)付房費(fèi)為: get_prepaid()endl; 5.實(shí)現(xiàn)與調(diào)試分析5.1. 實(shí)現(xiàn)環(huán)境 硬件: 裝有windowsxp的微型計(jì)算機(jī)。軟件: microsoft visual c+6.0。5.2語(yǔ)言選擇此系統(tǒng)的源代碼編寫(xiě)采用的c+語(yǔ)言,因?yàn)閏+是面向?qū)ο蟮某绦蛘Z(yǔ)言,具有良好的封裝性,使用起來(lái)方便,一般不會(huì)牽一發(fā)而動(dòng)全身。5.3調(diào)試分析 調(diào)試時(shí)發(fā)現(xiàn)此程
36、序中有很多地方?jīng)]有輸入錯(cuò)誤的提示。具體如下:l 在void book_room()預(yù)定房間函數(shù)中,因?yàn)槌跏蓟?0個(gè)房間,不存在房間不足的問(wèn)題,但若放在酒店中使用時(shí)則會(huì)有此情況發(fā)生,這時(shí)就應(yīng)該有提示信息,告訴用戶,所選類(lèi)型的房間已滿。改進(jìn)方式:在void book_room()中每個(gè)case中if語(yǔ)句下添加else 輸出提示信息“此類(lèi)型房間已滿!”。l 在void check_in()入住函數(shù)中,選擇已訂,輸入顧客信息有誤的情況下未出現(xiàn)錯(cuò)位提示信息,使用戶退出的原因不明確。 改進(jìn)方式:在void check_in()中顧客姓名匹配的if語(yǔ)句結(jié)束后,添加else 輸出提示信息“預(yù)定信息不存在!入住失敗”。6.測(cè)試分析 6.1測(cè)試用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 故宮博物館藏寶物的故事解讀
- 《接觸網(wǎng)施工》課件 2.2.1 基坑開(kāi)挖
- 2024年新政策背景下EHS法律法規(guī)培訓(xùn)的挑戰(zhàn)與機(jī)遇
- 2023年溫州市殘疾人職業(yè)技能大賽-動(dòng)畫(huà)繪制員項(xiàng)目技術(shù)文件
- 2024年eepo培訓(xùn)心得體會(huì)與思考
- 2024版TBC軟件學(xué)習(xí)手冊(cè):入門(mén)與精通
- 2023年安全工程師《安全生產(chǎn)法及法律》題庫(kù)版
- 2024年《條據(jù)》公開(kāi)課教案:培育新世代技能
- 中級(jí)保育員測(cè)試題(附答案)
- 2024年課堂變革:《爐中煤》課件的創(chuàng)新策略
- 完整加快發(fā)展新質(zhì)生產(chǎn)力課件
- 三位數(shù)除以兩位數(shù)300題-整除-有標(biāo)準(zhǔn)答案
- 辦公室裝修工程施工方案講義
- 奇異的仿生學(xué) 知到智慧樹(shù)網(wǎng)課答案
- 大學(xué)生職業(yè)生涯規(guī)劃書(shū)藥學(xué)專(zhuān)業(yè)
- 中醫(yī)病案辯證分析報(bào)告
- 《馬克思主義基本原理概論》試題庫(kù)(a卷)
- 中國(guó)農(nóng)業(yè)銀行貸后管理辦法
- 食堂油鍋起火演練方案
- 2021金融數(shù)據(jù)安全數(shù)據(jù)生命周期安全規(guī)范
- 提高職業(yè)素養(yǎng)計(jì)劃書(shū)
評(píng)論
0/150
提交評(píng)論