

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計論文</b></p><p> 賓館管理系統(tǒng)的設計與實現(xiàn)(論文)</p><p><b> 摘 要</b></p><p> 賓館管理信息系統(tǒng)面對強大的信息量可以輕松的管理,減少了在管理上面物力和人力,有利于賓館提高工作效率和賓館效益。面對龐大的信息量,賓館在正常運營中需要對客房
2、資源、顧客信息、結算信息進行管理,利用賓館管理信息系統(tǒng)及時了解保個環(huán)節(jié)中信息的變更,有利于提高管理的效率.通過這樣的系統(tǒng),可以做到信息的規(guī)范管理、需要統(tǒng)計和快速的查詢,從而減少在管理方面的工作量。采用VisualC++6.0程序來編寫,一個系統(tǒng)的開發(fā)建立數(shù)據(jù)庫是至關重要的。本課題數(shù)據(jù)庫采用的是SQL Server2000,通過建立數(shù)據(jù)源,VC++與后臺的數(shù)據(jù)庫連接來運行。</p><p> 論文主要介紹了本課題
3、的開發(fā)背景,所要完成的功能和開發(fā)的過程。重點的說明了系統(tǒng)設計的重點。</p><p> 關鍵詞:數(shù)據(jù)庫,Visual C++6.0,SQL Server2000,賓館管理信息系統(tǒng)</p><p><b> Abtract</b></p><p> The management information system of the hotel
4、 faces the strong amount of information, the management that can be light. Reduce the material resources and manpower in managing, help the hotel to improve working efficiency and hotel benefit. Adopt VC++6. 0 procedures
5、 come to write, it is essential to set up the database in development of a system, subject this SQL Server2000, through set up data source, VC++database in backstage supporter is it is it run to come to join</p>&
6、lt;p> Thesis this introduce copies of development background of subject mainly, course that function develop even that finish wanted. Prove the focal point that the system is designed especially.</p><p>
7、 Keyword: The database , Visual C++ 6. 0, SQL server 2000, the management information system of</p><p><b> 目錄</b></p><p><b> 第一章 引言6</b></p><p> 1.1 編寫
8、目的6</p><p><b> 1.2 背景6</b></p><p> 1.2.1 系統(tǒng)名稱7</p><p> 1.2.2指導老師,開發(fā)者7</p><p> 第二章 任務概述7</p><p> 2.1設計的原則7</p><p> 2.2
9、 用戶和軟件的特點7</p><p> 第三章 系統(tǒng)功能分析8</p><p> 3.1 系統(tǒng)功能分析8</p><p> 3.2系統(tǒng)功能模塊設計8</p><p> 第四章 數(shù)據(jù)庫設計10</p><p> 4.1數(shù)據(jù)庫需求分析10</p><p> 4.2數(shù)據(jù)庫概念
10、結構設計11</p><p> 4.3數(shù)據(jù)庫邏輯結構設計13</p><p> 第五章 賓館管理信息系統(tǒng)主窗體的創(chuàng)建14</p><p> 5.1 創(chuàng)建工程項目14</p><p> 5.2 創(chuàng)建主窗體的菜單17</p><p> 5.3 創(chuàng)建公用模塊18</p><p
11、> 第六章 系統(tǒng)各個管理模塊的創(chuàng)建與實現(xiàn)19</p><p> 6.1 用戶管理模塊的19</p><p> 6.1.1用戶登錄框的設計19</p><p> 6.1.2添加用戶窗口設計21</p><p> 6.1.3修改用戶密碼窗口設計22</p><p> 6.2 客房標準管理模塊
12、的創(chuàng)建22</p><p> 6.2.1添加客房標準對話框的創(chuàng)建23</p><p> 6.2.2修改客房標準窗體的創(chuàng)建24</p><p> 6.2.3刪除客房標準25</p><p> 6.3客房信息管理模塊的創(chuàng)建26</p><p> 6.3.1添加客房信息對話框的創(chuàng)建26</p>
13、;<p> 6.3.2修改客房信息27</p><p> 6.3.3查詢客房信息28</p><p> 6.4訂房信息管理模塊的創(chuàng)建29</p><p> 6.4.1查詢剩余客房信息對話框的創(chuàng)建29</p><p> 6.4.2修改訂房信息30</p><p> 6.4.3修改訂房信
14、息31</p><p> 6.4.4 查詢訂房信息32</p><p> 6.5結算信息管理模塊的創(chuàng)建32</p><p> 6.5.1添加結算信息對話框的創(chuàng)建32</p><p> 6.5.2修改結算信息33</p><p> 6.5.3出現(xiàn)結算信息33</p><p>
15、; 第七章 系統(tǒng)調試及運行34</p><p> 7.1 軟件測試34</p><p> 7.1.1軟件測試的定義34</p><p> 7.1.2 軟件測試的目的和原則34</p><p> 7.1.3 該系統(tǒng)進行軟件測試方法35</p><p> 7.1.4 該系統(tǒng)的測試結果35</
16、p><p> 第七章 小結35</p><p><b> 致謝36</b></p><p><b> 參考文獻37</b></p><p><b> 第一章 引言</b></p><p> 賓館的基本內涵就是為旅客提供住宿服務,之所以這樣
17、講是因為賓館最原始、最基本的功能是為過往旅客提供住宿及服務。顯然,今天的賓館與過去的旅館相比已經(jīng)有了很大的不同。隨著社會的進步,經(jīng)濟的發(fā)展,當今社會人員流動越來越頻繁,賓館管理工作也變得越來越復雜。旅游者對賓館的需求量越來越大,對賓館的要求也越來越高。如果能夠實現(xiàn)賓館管理的自動化,無疑將給賓館管理部門帶來很大的方便。以前中國賓館企業(yè)管理方面還主要是憑經(jīng)驗.賓館管理整體的科技含量低,還有許多與時代脫節(jié)、落后的表現(xiàn):操作隨意性大,容易波動,
18、管理漏洞多,物質損耗大,經(jīng)濟效益低等明顯地成為制約行業(yè)發(fā)展的關鍵性因素。如何利用現(xiàn)代社會賦予我們的新觀念、新手段向管理要效益,為賓館管理注入新的活力,從而在激烈的市場競爭中站穩(wěn)腳跟,是擺在每個賓館管理人士面前的重要課題。我認為,先進的賓館管理系統(tǒng)應是將我國多年來賓館管理積累的成功經(jīng)驗與現(xiàn)代化信息處理技術結合起來,相互呼應,通過完美的功能設置,建立一個自動化管理信息系統(tǒng),以提高賓館管理的效率和質量。</p><p>
19、;<b> 1.1 編寫目的</b></p><p> 本報告編寫的目的是為了說明系統(tǒng)需求概述、設計概要情況和設計思路,為系統(tǒng)的詳細設計提供基礎,同時作為開發(fā)人員在系統(tǒng)分析設計階段的工作成果和本階段的結束標志。使用戶和軟件開發(fā)者,對系統(tǒng)的總體設計規(guī)定有一個共同的認識,使之成為今后整個開發(fā)工作的基礎和依據(jù)。</p><p><b> 1.2 背景<
20、/b></p><p> 在我國,賓館分成五星級、四星級、三星級、二星級和一星級。客房和餐飲方面的管理也隨著酒店的星級不同有所區(qū)別,但大體上是相同的。賓館在正常的運營中需要對客房資源、顧客信息、結算信息進行管理,利用賓館管理信息系統(tǒng)及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理效率。信息社會的高科技,商品經(jīng)濟化的高效益,使計算機的應用已普及到經(jīng)濟和社會生活的各個領域。計算機雖然與人類的關系愈來愈密切,還有人
21、由于計算機操作不方便繼續(xù)用手工勞動。為了適應現(xiàn)代社會人們高度強烈的時間觀念,賓館管理系統(tǒng)軟件為管理人員帶來了極大的方便。通過操作手冊,使用者可以了解本軟件的基本工作原理。操作人員只需輸入一些簡單的漢字、數(shù)字,即可達到自己的目標。對于大中型賓館來說,利用計算機支持高效率完成日常事務,是適應現(xiàn)代要求、推動管理走向科學化、規(guī)范化的必要條件;而且賓館管理又是一項非常煩瑣的事情,數(shù)量之大,核算極其不便。同時計算機具有手工管理所無法比擬的優(yōu)點。例如
22、:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高賓館管理的效率,也是賓館的科學化、正規(guī)化管理,與世界接軌的重要條件。賓館管理需要對客人</p><p> 1.2.1 系統(tǒng)名稱</p><p><b> 賓館管理信息系統(tǒng)</b></p><p> 1.2.2指導老師,開發(fā)者</p>
23、<p><b> 指導老師:徐松林</b></p><p><b> 開發(fā)者:趙雪梅</b></p><p><b> 第二章 任務概述</b></p><p> 在分析現(xiàn)行手工操作的基礎上,進一步研究餐飲管理的處理流程,確定系統(tǒng)的總體結構及功能模塊,研究各個模塊之間的聯(lián)系,確定模塊
24、之間的接口方案。依照實用性、可靠性、可擴充性、經(jīng)濟性的原則,設計有關的各類碼表及相關的程序代碼,并驗證代碼的正確性,設計一套合理、完整的測試方案,對系統(tǒng)進行測試,是系統(tǒng)達到用戶的使用要求。</p><p><b> 2.1設計的原則</b></p><p><b> 1.實用性原則</b></p><p> 該系統(tǒng)是
25、以賓館管理為基礎開發(fā)的通用賓館管理系統(tǒng),適合中、小賓館企業(yè)的使用。</p><p><b> 2.可靠性原則</b></p><p> 該系統(tǒng)應有較高的可靠性,在系統(tǒng)設計及程序設計上應該強調系統(tǒng)的可靠性。3.可擴充性原則應該保證該系統(tǒng)在系統(tǒng)的功能,結構方面具有可擴充性。以便適應企業(yè)以后發(fā)展的需要,做出相應的功能結構上的調整。</p><p>
26、;<b> 4.經(jīng)濟性原則</b></p><p> 應該注重系統(tǒng)的性價比,時刻為用戶著想,在同等功能的基礎上盡可能的減少企業(yè)的投入。</p><p> 綜上所述,幫助企業(yè)加強管理,提高經(jīng)濟效益,解決實際管理中的各類問題,是設計該系統(tǒng)的主要目標。</p><p> 2.2 用戶和軟件的特點</p><p>
27、1、賓館管理內部從業(yè)人員中存在不少人對計算機比較陌生,對使用計算機來管理有一定的畏懼心理。這就要求面向賓館的計算機管理系統(tǒng)應盡可能得在功能設計上和使用手法上模擬現(xiàn)實情況,讓用戶使用時感覺熟悉、踏實、容易接受,否則會導致強烈的抵觸情緒。</p><p> 2、賓館管理系統(tǒng)要對客房資源、顧客信息、結算信息進行管理,存儲賓館客房的所有靜態(tài)和動態(tài)信息,能夠實現(xiàn)賓館管理的自動化,并利用賓館管理信息系統(tǒng)及時了解各個環(huán)節(jié)中信
28、息的變更,有利于提高管理效率,否則無法滿足賓館方便、快捷的需求,這對軟件使用和運行效率、穩(wěn)定性都提出了更高的要求。</p><p> 第三章 系統(tǒng)功能分析</p><p> 3.1 系統(tǒng)功能分析</p><p> 系統(tǒng)開發(fā)的總任務是實現(xiàn)賓館各個信息的系統(tǒng)化,規(guī)范化和自動化,提高賓館的管理效率。</p><p> 系統(tǒng)功能分析是在系統(tǒng)
29、開發(fā)的總體任務的基礎上完成的。這個例子中的賓館管理信息系統(tǒng)需要完成的功有:</p><p> 有關客房標準的制定、標準信息的輸入,包括標準編號、標準名稱、房間面積、床位數(shù)量、住房單價、是否有空調、電視機、電話以及單獨衛(wèi)生間等。</p><p> 客房標準信息的修改、查詢等。</p><p> 客房基本信息的輸入,包括客房編號、客房類型、客房位置、客房單價和備注
30、信息等。</p><p> 客房基本信息的查詢、修改,包括客房編號、客房類型、客房位置、客房單價、備注等</p><p><b> 剩余客房信息的查詢</b></p><p> 訂房信息的輸入,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、備注信息等。</p><p> 訂
31、房信息的修改和查詢,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、備注信息等。</p><p> 結算信息的輸入,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣、結算日期、備注信息等。</p><p> 結算信息的修改和查詢,包括客房編號、客房類型、客房位置、客房單價、顧客姓名、顧客身份證號碼、入住日期、折扣
32、、結算日期、備注信息等。</p><p> 3.2系統(tǒng)功能模塊設計</p><p> 對上述各項功能進行集中,分塊分析,按照結構化程序設計的要求,得到如下圖所示的這個系統(tǒng)的功能模塊圖。</p><p><b> 系統(tǒng)功能模塊圖</b></p><p><b> 第四章 數(shù)據(jù)庫設計</b>&l
33、t;/p><p> 設計數(shù)據(jù)庫是首先應該充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設計一般包括如下幾個步驟:</p><p><b> 數(shù)據(jù)庫需求分析。</b></p><p> 數(shù)據(jù)庫概念結構設計。</p><p> 數(shù)據(jù)庫邏輯結構設計。</p><p> 4.1
34、數(shù)據(jù)庫需求分析</p><p> 用戶的需求具體體現(xiàn)在各種信息的提供,保存,更新和查詢等方面,這就要求數(shù)據(jù)庫結構能充分滿足各種信息的輸入和輸出。收集基本數(shù)據(jù),數(shù)據(jù)結構以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為數(shù)據(jù)庫的具體設計打下基礎。</p><p> 在仔細調查有關賓館管理信息需求基礎上,得到如圖所示的這個系統(tǒng)所處理的數(shù)據(jù)流程圖。</p><p> 圖4
35、-1 賓館管理系統(tǒng)數(shù)據(jù)流程圖</p><p> 針對一般賓館管理信息系統(tǒng)的需求,通過對賓館管理工作過程的內容和數(shù)據(jù)流析,設計如下所示的數(shù)據(jù)庫和數(shù)據(jù)結構:</p><p> 客房標準信息,包括的數(shù)據(jù)項有:標準編號,標準名稱,房間面積,床位數(shù)量,客房單價,是否有空調,電視機,電話和單獨衛(wèi)生間等。</p><p> 客房信息,包括的數(shù)據(jù)項有:客房編號,客房種類,客
36、房位置,客房單價和備注信息等。</p><p> 訂房信息,包括的數(shù)據(jù)項有:訂房編號,客房編號,客房種類,客房位置,客房備注信息,顧客姓名,顧客身份證號碼,入住時間,折扣和備注信息等。</p><p> 結算信息,包括的,數(shù)據(jù)項有:訂房編號,客房編號,客房種類,客房位置,客房備注信息,顧客姓名,顧客身份證號碼,入住時間,折扣和備注信息等。</p><p> 設
37、計好以上的數(shù)據(jù)結構,數(shù)據(jù)項和數(shù)據(jù)流程,就可以進行以下的數(shù)據(jù)庫設計。</p><p> 4.2數(shù)據(jù)庫概念結構設計</p><p> 得到上面的數(shù)據(jù)項和數(shù)據(jù)結構以后,就可以設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為以后的邏輯設計打下基礎。</p><p> 這個實例根據(jù)上面的設計規(guī)劃出的實體有:客房標準信息實體,客房信息實體,訂房信息實體,結算信息實
38、體。各個實體具體的E-R圖如下:</p><p> 客房標準信息實體E-R圖,如圖2-3所示</p><p> 圖4-2 客房標準信息實體E-R圖</p><p> 客房信息實體E-R圖,如圖4-3所示。</p><p> 圖4-3 客房信息實體E-R圖</p><p> 訂房信息實體E-R圖,如圖4-4
39、所示。</p><p> 如圖4-4 訂房信息實體E-R圖</p><p> 結算信息實體E-R圖,如圖4-5所示。</p><p> 圖4-5 結算信息實體E-R圖</p><p> 實體之間關系的E-R圖,如圖4-6所示.</p><p> 圖4-6 實體之間關系的E-R圖</p>&
40、lt;p> 4.3數(shù)據(jù)庫邏輯結構設計</p><p> 現(xiàn)在需要將上面的數(shù)據(jù)庫概念轉化為SQL Serer 2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構。賓館管理信息系統(tǒng)數(shù)據(jù)庫中各個表格的設計結果如下表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。表4-1客房標準信息表。</p><p> 表4-1 roomtype客房標準信
41、息表</p><p> 表4-2為客房信息表 </p><p> 表4-2 rooms客房信息表</p><p> 表4-3 是訂房信息表。</p><p> 表4-3 bookin訂房信息表</p><p> 第五章 賓館管理信息
42、系統(tǒng)主窗體的創(chuàng)建</p><p> 在SQL Serer 2000的查詢分析器中執(zhí)行的所有SQL語句,就可以自動產生我們所需要的表格。有關數(shù)據(jù)庫結構的所有工作已經(jīng)完成,現(xiàn)在通過賓館管理信息系統(tǒng)中各個功能模塊的實現(xiàn)。</p><p> 5.1 創(chuàng)建工程項目</p><p> 啟用VisulC++6.0后,從“文件”菜單中選擇“新建”命令,然后單擊“新建”對話框
43、中的“工程”選項卡,選擇工程模塊中的“MFC AppWizard(exe)”選項,并在“工程名稱”中輸入工程名稱:Hotel_MIS,在“位置”中選擇保存這個工程的位置,其他使用系統(tǒng)提示的默認選項,如圖5-1所示。</p><p> 單擊“確定”按鈕,就進入MFC AppWizard,這一向導一共有6步,第一步的對話框如圖5-2所示,在對話框中選擇“單文檔”選項。</p><p> 單
44、擊“下一步”按鈕,就進入第二步對話框,如圖5-3所示然后按圖選擇。</p><p> 圖5-1 新建對話框</p><p> 圖5-2 MFC AppWizard第一步對話框</p><p> 圖5-3 MFC AppWizard第二步對話框</p><p> 單擊“下一步”按鈕,進入第三步對話框,如圖5-4所示,這一步保持系統(tǒng)
45、給定的默認值。</p><p> 圖5-4 MFC AppWizard第三步對話框</p><p> 單擊“下一步”按鈕,進入第四步對話框,如圖5-5所示。這一步選中“3D外觀”選項和“初始化狀態(tài)欄”選項。</p><p> 圖5-5 MFC AppWizard第四步對話框</p><p> 單擊“下一步”按鈕,進入第五步對話框,如
46、圖5-6所示。在這個對話框中系統(tǒng)提供默認值。</p><p> 單擊“下一步”按鈕,進入最后一步對話框,如圖5-7所示。在該對話框中,保證“基類”的下拉表中的選擇是CView,其他默認。</p><p> 單擊“完成”按鈕,就出現(xiàn)一個“新建工程信息” 對話框。如圖5-8所示</p><p> 圖5-6 MFC AppWizard第五步對話框</p>
47、<p> 圖5-7 MFC AppWizard第六步對話框</p><p> 圖5-8 “新建工程信息” 對話框</p><p> 確認無誤后,單擊“確定”按鈕,完成創(chuàng)建Hotel_MIS工程。</p><p> 5.2 創(chuàng)建主窗體的菜單</p><p> 完成上面的工作后,就在工作空間中選擇RecourceVie
48、w,然后雙擊Menu文件夾</p><p> IDR_MINFRAME選項,單擊右邊窗口的“文件”菜單項,如圖5-9所示。</p><p> 圖5-9 修改系統(tǒng)菜單</p><p> 雙擊“文件”菜單項,就回出現(xiàn)“菜單項目 屬性”對話框,在這個對話框中更改菜單項的內容,如圖5-10所示。</p><p> 圖5-10 設置一級菜
49、單</p><p> 第一級菜單的設置和5-10中的設置方法相同。第二級菜單有兩種,一種設置方法如圖5-11所示。</p><p> 圖5-11 設置普通二級菜單</p><p> 另外一種二級菜單是彈出式的菜單,設置如圖5-12所示</p><p> 圖5-12 設置彈出式二級菜單</p><p>
50、 使用上面所講述的設置方法,最終創(chuàng)建如表6-1所示的菜單結構。</p><p> 表5-1 菜單結構</p><p> 5.3 創(chuàng)建公用模塊</p><p> 在這個系統(tǒng)中,使用到了數(shù)據(jù)庫的訪問,修改等操作,所以集中操作。在ClassView中,用鼠標右鍵單擊CHotel_MISApp,選擇“Add Member
51、Variable”選項,添加使用到的變量如下</p><p><b> public:</b></p><p> CString m_sCurrentUser;</p><p> int m_iLoginCount;</p><p> _RecordsetPtr m_pADOSet;</p><
52、;p><b> private:</b></p><p> _ConnectionPtr ADOConn;</p><p> 選擇Add Member Function添加函數(shù)</p><p> bool ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL);&
53、lt;/p><p> 最后添加一個外部變量的</p><p> 通過以上的編寫,完成對數(shù)據(jù)庫的基本操作。</p><p> 第六章 系統(tǒng)各個管理模塊的創(chuàng)建與實現(xiàn)</p><p> 6.1 用戶管理模塊的</p><p> 用戶管理模塊主要實現(xiàn):</p><p><b> 用戶
54、登錄</b></p><p><b> 添加用戶</b></p><p><b> 修改用戶密碼</b></p><p> 6.1.1用戶登錄框的設計</p><p> 該窗口中放置了3個靜態(tài)控件,在窗口的相應位置顯示文字,兩個編輯框控件,另外放置了兩個按鈕。</p>
55、<p> 單擊按鈕“登錄”后,就會自動查詢,看輸入的信息是否正確,如果正確就會登錄主界面,如果錯誤,就會提示你有錯。</p><p> 設計如圖6-1所示的登錄框</p><p> 圖6-1 登錄窗口</p><p> 登錄的主要代碼如下:</p><p> void CLoginDLG::OnOK() </p
56、><p><b> {</b></p><p> UpdateData(true);</p><p> m_sUSER.TrimRight(" ");</p><p> if ( ""==m_sUSER )</p><p><b> {<
57、;/b></p><p> AfxMessageBox(_T("請?zhí)顚懹脩裘?quot;), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p><b> }</b></p><p> _variant_t Holder
58、, strQuery;</p><p> strQuery="selectuser_ID,user_PWDfromuser_Infowhereuser_ID='"+m_sUSER+"'";</p><p> theApp.ADOExecute(theApp.m_pADOSet, strQuery);</p><
59、p> int iCount = theApp.m_pADOSet->GetRecordCount();</p><p> if ( 0==iCount ) </p><p><b> {</b></p><p> theApp.m_iLoginCount++;</p><p> if ( theAp
60、p.m_iLoginCount>2 ) </p><p><b> {</b></p><p> AfxMessageBox("沒有這個用戶\n三次輸入均不正確,請核對后再來", MB_ICONEXCLAMATION);</p><p> CDialog::OnCancel();</p><
61、p><b> return;</b></p><p><b> }</b></p><p> AfxMessageBox("沒有這個用戶,請重新輸入用戶名", MB_ICONEXCLAMATION); return;</p><p><b> }</b&g
62、t;</p><p> CString sPWD;</p><p> theApp.m_pADOSet->MoveFirst();</p><p> Holder = theApp.m_pADOSet->GetCollect("user_PWD");</p><p> sPWD = Holder.vt=
63、=VT_NULL?"":(char*)(_bstr_t)Holder;</p><p> if ( 0!=sPWD.Compare(m_sPWD) )</p><p><b> {</b></p><p> theApp.m_iLoginCount++;</p><p> if ( theAp
64、p.m_iLoginCount>2 ) </p><p><b> {</b></p><p> AfxMessageBox("輸入密碼不正確\n三次輸入均不正確,請核對后再來", MB_ICONEXCLAMATION);</p><p> CDialog::OnCancel();</p><
65、;p><b> return;</b></p><p><b> }</b></p><p> AfxMessageBox("輸入密碼不正確,請重新輸入", MB_ICONEXCLAMATION); return;</p><p><b> }</b><
66、/p><p> theApp.m_sCurrentUser = m_sUSER;</p><p> CDialog::OnOK();</p><p><b> }</b></p><p> 6.1.2添加用戶窗口設計</p><p> 該窗口設置了3個靜態(tài)控件,3個編輯框和兩個按鈕,具體功能
67、如圖6-2所示。</p><p> 圖6-2 添加用戶窗口</p><p> 確認按鈕添加的主要代碼如下:</p><p> void CAppendAccountDLG::OnOK() </p><p><b> {</b></p><p> UpdateData(true);<
68、/p><p> m_sUSER.TrimRight(" ");</p><p> if ( ""==m_sUSER )</p><p><b> {</b></p><p> AfxMessageBox(_T("請輸入用戶名稱"), MB_ICONEXCLA
69、MATION);</p><p><b> return;</b></p><p> AfxMessageBox(_T("用戶名已經(jīng)存在,請重新輸入用戶名"), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p>&l
70、t;b> }</b></p><p> if ( ""==m_sPWD1 )</p><p><b> {</b></p><p> AfxMessageBox(_T("密碼不能未空"), MB_ICONEXCLAMATION);</p><p><
71、b> return;</b></p><p><b> }</b></p><p> if ( 0!=m_sPWD1.Compare(m_sPWD2) )</p><p><b> {</b></p><p> AfxMessageBox(_T("兩次輸入密碼不
72、一樣,請確認"), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p><b> }</b></p><p> CDialog::OnOK();</p><p><b> }</b></p>
73、<p> BOOL CAppendAccountDLG::OnInitDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> ((CEdit*)GetDlgItem(IDD_APPEDNACCOUNT_USER))->SetLimi
74、tText(15);</p><p> ((CEdit*)GetDlgItem(IDD_APPEDNACCOUNT_PWD1))->SetLimitText(10);</p><p> ((CEdit*)GetDlgItem(IDD_APPEDNACCOUNT_PWD2))->SetLimitText(10);</p><p> return TR
75、UE; </p><p><b> }</b></p><p> 6.1.3修改用戶密碼窗口設計</p><p> 該窗口設置了3個靜態(tài)控件,3個編輯框和兩個按鈕,具體功能如圖6-3所示,</p><p> 圖6-3 修改密碼窗口</p><p> “OK”按鈕添加的主要代碼如下<
76、;/p><p> void CChangePwdDLG::OnOK() </p><p><b> {</b></p><p> UpdateData(true);</p><p> if ( ""==m_sPWD1 )</p><p><b> {</b
77、></p><p> AfxMessageBox(_T("密碼不能未空"), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p><b> }</b></p><p> if ( 0!=m_sPWD1.Comp
78、are(m_sPWD2) )</p><p><b> {</b></p><p> AfxMessageBox(_T("兩次輸入密碼不一樣,請確認"), MB_ICONEXCLAMATION);</p><p><b> return;</b></p><p><b
79、> }</b></p><p> CDialog::OnOK();</p><p><b> }</b></p><p> 6.2 客房標準管理模塊的創(chuàng)建</p><p> 客房在運營中需要不同的標準來適應不同消費水平的顧客的需要。對于每個客房標準,有不同的硬件設施和服務??头繕藴誓K主要實
80、現(xiàn)如下功能:</p><p><b> 添加客房標準</b></p><p><b> 修改客房標準</b></p><p><b> 刪除客房標準</b></p><p> 6.2.1添加客房標準對話框的創(chuàng)建</p><p> 選擇“客房信息
81、管理/設置客房標準/添加客房標準”菜單,出現(xiàn)的對話框如圖6-4所示</p><p> 圖6-4 添加客房標準對話框</p><p> 在Resource View中,右擊Dialog,選擇Insert Dialog,把系統(tǒng)提供的兩個按鈕刪除,然后在窗體上放置多個文本框,用來輸入客房標準基本信息,多個下拉文本框選擇不同的硬件設施;兩個按鈕用來確定是否添加客房標準信息;多個標簽用來提示文
82、本框中需要輸入的內容。這些控件的屬性見表6-1。</p><p> 表6-1 添加客房對話框中各個控件的屬性設置</p><p> 添加好后,對類CRoomTpyeDLG中添加下列變量:</p><p><b> public:</b></p><p> bool m_
83、bAirCon;</p><p> bool m_bTel;</p><p> bool m_bTV;</p><p> bool m_bToilet;</p><p> bool m_bAppend;</p><p> CString m_sArea;</p><p> CSt
84、ring m_sBedNo;</p><p> CString m_sTypeID;</p><p> CString m_sTypeName;</p><p> CString m_sPrice ;</p><p> 然后添加兩個成員函數(shù):</p><p> Protected:</p>
85、<p> Virtual BOOL OnInitDialog();</p><p> Virtual void OnOk();</p><p> 單擊“保存”按鈕時,調用上面的OnOK()函數(shù),完成相應的工作。</p><p> 6.2.2修改客房標準窗體的創(chuàng)建</p><p> 選擇“客房信息管理/設置客房標準/修改
86、客房標準”菜單,就將出現(xiàn)如圖6-5所示的窗體,在窗體中放置一個表格控件,用來顯示記錄。</p><p> 圖6-5 客房標準信息記錄列表窗體</p><p> 窗口初始化時,調用CHotel_MIS View類中的CreateRoomType()函數(shù),顯示當前數(shù)據(jù)庫中所有的記錄,代碼如下:</p><p> void CHotel_MISView::Cre
87、ateRoomType()</p><p><b> {</b></p><p> m_sCurrentList = _T("房間標準列表");</p><p> m_StaticCtrl.SetWindowText(m_sCurrentList);</p><p> CRect rect;&
88、lt;/p><p> GetClientRect(rect);</p><p> rect.top += 30;</p><p> m_ListCtrl.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT, rect, this, 1);</p><p> m_ListCtrl.SetBkCol
89、or(RGB(177, 151, 240));</p><p> m_ListCtrl.SetTextColor(RGB(0,0,0));</p><p> m_ListCtrl.SetTextBkColor(RGB(177, 151, 240));</p><p> m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELE
90、CT|LVS_EX_GRIDLINES|LVS_EX_HEADERDRAGDROP);</p><p> m_ListCtrl.InsertColumn(0,_T("標準編號"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(1,_T("標準名稱"), LVCFMT_LEFT, 100)
91、;</p><p> m_ListCtrl.InsertColumn(2,_T("房間面積"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(3,_T("床位數(shù)量"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertC
92、olumn(4,_T("住房單價/每天"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(5,_T("是否有空調"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(6,_T("是否有電話"), LVCFMT_
93、LEFT, 100);</p><p> m_ListCtrl.InsertColumn(7,_T("是否有電視"), LVCFMT_LEFT, 100);</p><p> m_ListCtrl.InsertColumn(8,_T("是否有衛(wèi)生間"), LVCFMT_LEFT, 100);</p><p> _vari
94、ant_t Holder, strQuery;</p><p> strQuery = "select * from roomtype order by typeid";</p><p> theApp.ADOExecute(theApp.m_pADOSet, strQuery);</p><p> int iCount = theApp.
95、m_pADOSet->GetRecordCount();</p><p> if ( 0==iCount ) return;</p><p> CString str;</p><p> theApp.m_pADOSet->MoveFirst();</p><p> for(int i=0; i<iCount; i+
96、+)</p><p><b> }</b></p><p> 6.2.3刪除客房標準 </p><p> 選擇“客房信息管理/設置客房標準/刪除客房標準”菜單,將出現(xiàn)記錄列表。選擇要刪除的記錄,單擊鼠標右鍵,選擇彈出式菜單的“刪除客房標準”命令,將刪除選中的記錄,調用CHotel_MIS View類中的OnDelRoomType()函數(shù)的
97、代碼如下:</p><p> void CHotel_MISView::OnDelRoomType() </p><p><b> {</b></p><p> if ( m_ListCtrl && m_sCurrentList!="房間標準列表" )</p><p><
98、b> {</b></p><p> m_ListCtrl.DestroyWindow();</p><p> CreateRoomType();</p><p><b> return;</b></p><p><b> }</b></p><p>
99、; if ( !m_ListCtrl )</p><p><b> {</b></p><p> CreateRoomType();</p><p><b> return;</b></p><p><b> }</b></p><p> P
100、OSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();</p><p> if ( pos == NULL ) </p><p><b> {</b></p><p> AfxMessageBox(_T("沒有選中的記錄!"), MB_ICONEXCLAMATI
101、ON);</p><p><b> return;}</b></p><p><b> else</b></p><p><b> {</b></p><p> int iItem; </p><p> CString sID;&l
102、t;/p><p> _variant_t Holder, strQuery;</p><p><b> }</b></p><p> RefreshRoomType();</p><p><b> }</b></p><p> 6.3客房信息管理模塊的創(chuàng)建</p
103、><p> 客房信息管理模塊主要實現(xiàn)如下功能:</p><p><b> 添加客房信息</b></p><p><b> 修改客房信息</b></p><p><b> 刪除客房信息</b></p><p><b> 查詢客房信息<
104、/b></p><p> 6.3.1添加客房信息對話框的創(chuàng)建</p><p> 選擇“客房信息管理/設置客房信息/添加客房信息”菜單,將出現(xiàn)如6-6圖所示的對話框</p><p> 圖6-6 添加客房信息對話框</p><p> 對話框的屬性及添加對話框的方法與上類同,創(chuàng)建CRoomDLG類,然后添加成員變量和成員函數(shù)。<
105、;/p><p> 客房信息對話框初始化的代碼如下:</p><p> BOOL CRoomDLG::OnInitDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> ((CEdit*)GetDlgIte
106、m(IDD_ROOM_NO))->SetLimitText(10);</p><p> ((CEdit*)GetDlgItem(IDD_ROOM_POSITION))->SetLimitText(20);</p><p> ((CEdit*)GetDlgItem(IDD_ROOM_PRICE))->SetLimitText(8);</p><p&g
107、t; if (m_bAppend)</p><p><b> {</b></p><p> SetWindowText(_T("添加客房信息"));</p><p> _variant_t strQuery, Holder;</p><p> strQuery = "sele
108、ct * from roomtype";</p><p> theApp.ADOExecute(theApp.m_pADOSet, strQuery);</p><p> int iCount = theApp.m_pADOSet->GetRecordCount();</p><p> theApp.m_pADOSet->MoveFirs
109、t();</p><p> for (int i=0; i<iCount; i++)</p><p> ((CComboBox*)GetDlgItem(IDD_ROOM_TYPE))->SetCurSel(0);</p><p><b> }</b></p><p> UpdateData(false
110、);</p><p> return TRUE; </p><p><b> }</b></p><p> 6.3.2修改客房信息</p><p> 選擇“客房信息/設置客房信息/修改客房信息”菜單,將出現(xiàn)如6-7圖所示的窗體。</p><p> 圖6-7 修改客房信息窗體</p
111、><p> 窗體設置了一個表格控件,用來顯示數(shù)據(jù)庫所有的客房記錄。選擇需要修改的客房記錄,選擇“修改客房信息”命令會調用OnAlterRoom()函數(shù),具體代碼如下:</p><p> void CHotel_MISView::OnAlterRoom() </p><p><b> {</b></p><p> _v
112、ariant_t strQuery;</p><p> if ( m_ListCtrl && m_sCurrentList!=_T("客房信息列表") )</p><p><b> {</b></p><p> m_ListCtrl.DestroyWindow();</p><p&g
113、t; strQuery = "select * from rooms";</p><p> CreateRoom(strQuery);</p><p><b> return;</b></p><p><b> }</b></p><p> if ( !m_ListCt
114、rl )</p><p><b> {</b></p><p> strQuery = "select * from rooms";</p><p> CreateRoom(strQuery);</p><p><b> return;</b></p>&l
115、t;p><b> }</b></p><p> POSITION pos = m_ListCtrl.GetFirstSelectedItemPosition();</p><p> if (pos == NULL) AfxMessageBox(_T("沒有選中的記錄!"), MB_ICONEXCLAMATION);</p>
116、<p><b> else</b></p><p><b> {</b></p><p> CRoomDLG dlg;</p><p> dlg.m_bAppend = false; </p><p> int iItem = m_ListCtrl.GetNextSelec
117、tedItem(pos);</p><p> dlg.m_sNo = m_ListCtrl.GetItemText(iItem, 0);</p><p> dlg.m_sType = m_ListCtrl.GetItemText(iItem, 1);</p><p> dlg.m_sPosition = m_ListCtrl.GetItemText(iItem
118、, 2);</p><p> dlg.m_sPrice = m_ListCtrl.GetItemText(iItem, 3);</p><p> dlg.m_sMemo = m_ListCtrl.GetItemText(iItem, 5);</p><p> dlg.DoModal(); </p><p><b>
119、 } }</b></p><p> 6.3.3查詢客房信息</p><p> 選擇“客房信息/設置客房信息/查詢客房信息”菜單,將出現(xiàn)如6-8圖所示的窗體</p><p> 圖6-8查詢客房信息的對話框</p><p> 查詢客房信息的對話框的初始化代碼如下:</p><p> BOOL CCh
120、eckRoomDLG::OnInitDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> ((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->InsertString(0, _T("所有房間類型
121、"));</p><p> _variant_t strQuery, Holder;</p><p> strQuery = "select typename from roomtype";</p><p> theApp.ADOExecute(theApp.m_pADOSet, strQuery);</p>&l
122、t;p> int iCount = theApp.m_pADOSet->GetRecordCount();</p><p> theApp.m_pADOSet->MoveFirst();</p><p> for (int i=0; i<iCount; i++)</p><p><b> {</b></p&
123、gt;<p> Holder = theApp.m_pADOSet->GetCollect("typename");</p><p> ((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->InsertString(i+1, Holder.vt==VT_NULL?"":(char*)(_bstr_t)Hol
124、der);</p><p> theApp.m_pADOSet->MoveNext();</p><p><b> }</b></p><p> ((CComboBox*)GetDlgItem(IDC_CHECKROOM_TYPE))->SetCurSel(0);</p><p> return TR
125、UE; </p><p><b> }</b></p><p> 滿足所有條件的所有記錄,將顯示在圖6-7所示的窗口。</p><p> 6.4訂房信息管理模塊的創(chuàng)建</p><p> 訂房信息管理模塊主要實現(xiàn)如下功能:</p><p><b> 查詢剩余客房信息</b&
126、gt;</p><p><b> 添加訂房信息</b></p><p><b> 修改訂房信息</b></p><p><b> 刪除訂房信息</b></p><p><b> 查詢訂房信息</b></p><p> 6.
127、4.1查詢剩余客房信息對話框的創(chuàng)建</p><p> 選擇“訂房信息管理/查詢剩余客房信息”菜單,將出現(xiàn)如圖6-9所示對話框,用來查詢剩余的可以預定的客房。</p><p> 圖6-9 查詢剩余客房信息對話框</p><p> 這個對話框的初始化主要代碼如下:</p><p> BOOL CCheckRemainDLG::OnIni
128、tDialog() </p><p><b> {</b></p><p> CDialog::OnInitDialog();</p><p> _variant_t strQuery, Holder;</p><p> strQuery = "select distinct typename fro
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賓館管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計
- 畢業(yè)設計論文——賓館管理系統(tǒng)
- 賓館管理系統(tǒng)設計與實現(xiàn)畢業(yè)論文
- 畢業(yè)設計(論文)管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)
- 計算機科學與技術畢業(yè)設計-賓館管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文管理系統(tǒng)的設計與實現(xiàn)---畢業(yè)設計
- 畢業(yè)論文——畢業(yè)設計管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計論文 點歌管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計---賓館客房管理系統(tǒng)的設計
- 項目管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計論文
- 畢業(yè)設計(論文)-賓館空調設計
- 畢業(yè)設計---賓館客房管理系統(tǒng)
- 畢業(yè)設計--賓館客房管理系統(tǒng)
- 畢業(yè)設計論文-健康藥店管理系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)設計(論文)倉庫貨物管理系統(tǒng)設計與實現(xiàn)
- 畢業(yè)設計(論文)超市銷售管理系統(tǒng)的設計與實現(xiàn)
- 停車管理系統(tǒng)的設計與實現(xiàn)畢業(yè)設計論文
評論
0/150
提交評論