版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 《C語言》課程設(shè)計(jì)報(bào)告</p><p> 指導(dǎo)教師: 職稱: 教 授 </p><p><b> 實(shí)驗(yàn)師 </b></p><p><b> 實(shí)驗(yàn)師 </b></p><p> 2012年07月15日</p
2、><p> 學(xué)生姓名:學(xué) 號(hào):</p><p> 學(xué) 院:</p><p> 班 級(jí):</p><p> 題 目:賓館房間登記與計(jì)費(fèi)管理系統(tǒng)</p><p><b> 目 錄</b></p><p> 目錄............................
3、.........................................................................................I</p><p> 一、選題背景…………………………………………………………….……1</p><p> 1.1主要問題及技術(shù)要求………………………....………………….…..1</p>&
4、lt;p> 1.2指導(dǎo)思想…………………………………………………………..….1</p><p> 二、算法設(shè)計(jì)……….…………………………………………………………1</p><p> 2.1程序功能需求……….…..............................................………………1</p><p> 2.2功能框架
5、圖………….…………..................................................……2</p><p> 2.3設(shè)計(jì)方案說明……….……..........................................................……3</p><p> 2.4計(jì)算公式……….........................
6、..........................................…………3</p><p> 三、程序設(shè)計(jì)及功能說明…….…................................................……....……4</p><p> 3.1程序功能介紹………….…….......................................
7、...............……4</p><p> 四、結(jié)果分析.....................................................................................................6</p><p> 4.1主界面………………….……………………………………….….....6</p>
8、<p> 4.2登記入住...............................................................................................6</p><p> 4.3結(jié)賬退房...........................................................................
9、....................9</p><p> 4.4查詢當(dāng)前入住情況.............................................................................12</p><p> 4.5查詢當(dāng)前費(fèi)用….....................................................
10、............................13</p><p> 4.6查詢歷史記錄.....................................................................................14</p><p> 五、結(jié)論或總結(jié).........................................
11、......................................................14</p><p> 六、課程設(shè)計(jì)心得體會(huì)...................................................................................15</p><p> 參考文獻(xiàn)...................
12、........................................................................................16</p><p> 源程序........................................................................................................
13、.......17</p><p> 附表一...............................................................................................................63</p><p><b> 一、選題背景</b></p><p> 1
14、.1主要問題及技術(shù)要求</p><p> 本題對(duì)時(shí)間的控制要求較高,尤其是必須控制輸入的時(shí)間,使其不能小于以前錄入過的時(shí)間,防止當(dāng)前時(shí)間輸入錯(cuò)誤。還有退房時(shí)的信息對(duì)比難度也較高,必須保證退房顧客與系統(tǒng)記錄信息一致,防止服務(wù)錯(cuò)漏或錯(cuò)誤退房。這是本題兩個(gè)較大的難點(diǎn)。此外還有房間號(hào)、身份證號(hào)、時(shí)間的輸入格式的控制、跨年的時(shí)間計(jì)算等難點(diǎn)。</p><p><b> 1.2指導(dǎo)思想&l
15、t;/b></p><p> 學(xué)了C語言,我們需要一個(gè)學(xué)以致用的機(jī)會(huì)。選題后,在題目的完成過程中,我們的知識(shí)可以更加牢固。在完善酒店管理系統(tǒng)的過程中,我們要鍛煉自己的基于現(xiàn)實(shí)思考的能力,培養(yǎng)自己縝密的思維。相對(duì)于大多數(shù)人做的學(xué)生管理系統(tǒng),酒店管理系統(tǒng)對(duì)于時(shí)間的控制要求嚴(yán)格,對(duì)于我們的算法思想要求較高,因此,在完成該次課程設(shè)計(jì)的過程中,我們要鍛煉我們的邏輯思維能力,同時(shí)對(duì)C語言有更深刻的認(rèn)識(shí),把C語言知識(shí)掌
16、握得更牢固。同時(shí),該系統(tǒng)以能夠幫助酒店很好地管理客戶信息,提高營業(yè)效率和數(shù)據(jù)的安全性和可靠性,減少勞力浪費(fèi)為設(shè)計(jì)目標(biāo)。在完成該系統(tǒng)的同時(shí),我們也為社會(huì)盡了一份力。</p><p><b> 二、算法設(shè)計(jì)</b></p><p><b> 2.1程序功能需求</b></p><p> (1)每次打開程序都能從顧客信息表
17、文件中讀出顧客數(shù)據(jù),以便后面的操作;</p><p> (2)有一個(gè)主界面,能根據(jù)用戶需要從主界面進(jìn)入不同的功能模塊;</p><p><b> (3)登記時(shí):</b></p><p> a.能夠判斷房間是否已住滿;</p><p> b.能夠選擇計(jì)費(fèi)方式是按小時(shí)還是按天計(jì)費(fèi);</p><p&
18、gt; c.能夠判斷輸入的房間號(hào)、姓名、身份證號(hào)、入住時(shí)間等信息是否按正確格式輸入;</p><p> d.能夠判斷輸入的房間號(hào)對(duì)應(yīng)的房間是否有人入住,輸入的身份證號(hào)是否正有人使用,輸入的當(dāng)前時(shí)間是否小于以前登記的所有時(shí)間;</p><p> e.輸入完成后將輸入的信息按房間號(hào)排序并保存到文件;</p><p><b> (4)退房時(shí):</b
19、></p><p> a.能夠判斷是否有顧客入??;</p><p> b.能夠判斷輸入的房間號(hào)、姓名、身份證號(hào)、退房時(shí)間等信息是否按正確格式輸入;</p><p> c.能夠判斷輸入的房間號(hào)對(duì)應(yīng)的房間是否是空房;</p><p> d.能夠判斷輸入的姓名、身份證號(hào)與退房的房間號(hào)是否對(duì)應(yīng)(即判斷該房間中住的是不是這個(gè)顧客);<
20、;/p><p> e.能夠判斷輸入的退房時(shí)間是否小于入住時(shí)間;</p><p> f.能夠計(jì)算出顧客入住的總時(shí)間數(shù)并根據(jù)顧客入住的總時(shí)間數(shù)、對(duì)應(yīng)房間價(jià)格和顧客選擇的支付方式計(jì)算出應(yīng)付金額,并判斷顧客支付的金額是否大于應(yīng)付金額;</p><p> g.輸入顧客支付的金額后計(jì)算出找零金額并顯示; </p><p> h.退房結(jié)束前從顧客信息表
21、中刪去該退房顧客信息并將此次操作的信息寫入歷史記錄文件;</p><p> (5)查詢當(dāng)前入住情況時(shí):</p><p> a.判斷是否有顧客入?。?lt;/p><p> b.能夠判斷輸入的當(dāng)前時(shí)間是否小于任一顧客的入住時(shí)間;</p><p> c.根據(jù)當(dāng)前時(shí)間算出每位顧客的當(dāng)前總?cè)胱r(shí)間數(shù);</p><p> d
22、.逐條輸出當(dāng)前顧客信息及其當(dāng)前總?cè)胱r(shí)間數(shù);</p><p> (6)查詢當(dāng)前費(fèi)用時(shí):</p><p> a.判斷是否有顧客入??;</p><p> b.能夠判斷輸入的當(dāng)前時(shí)間是否小于任一顧客的入住時(shí)間;</p><p> c.根據(jù)當(dāng)前時(shí)間算出每位顧客的當(dāng)前總?cè)胱r(shí)間數(shù),進(jìn)而算出各顧客應(yīng)付金額;</p><p>
23、; d.逐條輸出當(dāng)前顧客信息及其當(dāng)前總?cè)胱r(shí)間數(shù)、當(dāng)前費(fèi)用;</p><p> (7)查詢歷史記錄時(shí):</p><p> a.判斷是否有歷史記錄;</p><p> b.從歷史記錄文件中讀出每條歷史記錄并逐條輸出;</p><p><b> 2.2功能框架圖</b></p><p>
24、由2.1分析得以下功能圖:</p><p> 圖2-1 功能框架圖</p><p><b> 2.3設(shè)計(jì)方案說明</b></p><p> 先編寫各個(gè)功能分塊的函數(shù),然后在主函數(shù)中調(diào)用這些函數(shù)實(shí)現(xiàn)功能,即采用先分后總的方法。通過定義全局變量作為函數(shù)間的橋梁,達(dá)到整個(gè)程序的數(shù)據(jù)一致性。</p><p> 由以上方案
25、設(shè)計(jì)程序,可以得到一個(gè)簡單實(shí)用的系統(tǒng),能夠極大地減少酒店管理漏洞,該方案的條理性較強(qiáng),設(shè)計(jì)出的程序也簡單易用。</p><p> 下面是函數(shù)關(guān)系圖解:</p><p> 圖2-2 函數(shù)調(diào)用關(guān)系圖</p><p><b> 2.4計(jì)算公式</b></p><p> 1)設(shè)當(dāng)前日期是當(dāng)前年的第M天,入住日期是入住那年
26、的第N天(可由days函數(shù)算出)</p><p> (1)按天既費(fèi)時(shí),總?cè)胱r(shí)間等于總?cè)胱√鞌?shù):</p><p> a.不跨年:總?cè)胱r(shí)間=M-N</p><p> b.跨年:總?cè)胱r(shí)間=(退房年份-入住年份)×365+入住年份到退房年份間的閏年數(shù)+M</p><p> (2)按小時(shí)計(jì)費(fèi)時(shí):總?cè)胱r(shí)間=以上求得的總?cè)胱√鞌?shù)&
27、#215;24-入住時(shí)刻+退房時(shí)刻</p><p> 2) (1)按天既費(fèi)時(shí):應(yīng)付金額=總?cè)胱r(shí)間×每天價(jià)格</p><p> (2)按小時(shí)計(jì)費(fèi)時(shí):應(yīng)付金額=總?cè)胱r(shí)間×每小時(shí)價(jià)格</p><p> 3)找零金額=付款金額-應(yīng)付金額</p><p><b> 三、程序及功能說明</b><
28、/p><p><b> 3.1程序功能介紹</b></p><p> 程序主要有登記入住、結(jié)賬退房、查詢當(dāng)前入住情況、查詢當(dāng)前費(fèi)用、查詢歷史記錄、關(guān)閉程序功能。在登記入住時(shí)能夠選擇計(jì)費(fèi)方式按天或按小時(shí);退房時(shí)能夠算出應(yīng)付金額和找零金額;能夠顯示當(dāng)前入住人數(shù);查詢歷史記錄時(shí)能夠顯示歷史記錄的條數(shù);在任意輸入狀態(tài)下輸入0都能返回主界面。</p><p&
29、gt;<b> 1. 函數(shù)庫</b></p><p> #include<stdio.h> /*標(biāo)準(zhǔn)輸入輸出函數(shù)庫*/</p><p> #include<string.h> /*字
30、符串函數(shù)庫*/</p><p> #include <windows.h> /*自帶窗體控制函數(shù)庫*/</p><p><b> 2. 結(jié)構(gòu)體說明</b></p><p><b> 結(jié)構(gòu)體如下:</b></p><p&g
31、t; struct room </p><p><b> { </b></p><p> char room[20]; /*容納房間號(hào)*/</p><p> char name[20];
32、 /*容納顧客姓名*/</p><p> char ID[20]; /*容納顧客身份證號(hào)*/</p><p> int staytime[4]; /*容納入住時(shí)間*/</p><p>
33、; int endtime[4]; /*容納退房時(shí)間*/</p><p> int c; /*容納計(jì)費(fèi)方式的選擇結(jié)果*/</p><p> int time;
34、 /*容納總?cè)胱r(shí)間*/</p><p> int money; /*容納應(yīng)付金額*/</p><p> int money1; /*容納付款金額*/</p><p&g
35、t; int money2; /*容納找零金額*/</p><p> char nn; /*換行符,用于在記錄文件中換行*/</p><p><b> }</b></p><p> 該結(jié)構(gòu)
36、體類型用于容納顧客的所有信息,具體用途在以上注釋中給予了說明</p><p><b> 3. 全局變量</b></p><p> char room1[9][5]={{'1','-','0','1'},{'1','-','0','2'},
37、{'1','-','0','3'},{'2','-','0','1'},{'2','-','0','2'},</p><p> {'2','-','0','3'
38、;},{'3','-','0','1'},{'3','-','0','2'},{'3','-','0','3'}}; </p><p> /*定義數(shù)組容納房間號(hào),全局通用*/</p><p>
39、int g=10,t,end=2,g1,d,p; /* g,g1容納總?cè)胱∪藬?shù);d按小時(shí)或按天計(jì)費(fèi)的</p><p> 選擇結(jié)果,p容納平年或閏年的判斷結(jié)果*/</p><p><b> 4. 主函數(shù)</b></p><p> 主函數(shù)void main( )主要用于主界面控制,其主要功能為:程序啟動(dòng)后從顧客信息表獲得
40、數(shù)據(jù);顯示主界面,通過主界面連接各功能模塊,按用戶的選擇調(diào)用不同的函數(shù)進(jìn)入不同的功能模塊,并附帶有關(guān)閉程序功能。</p><p><b> 5. 登記入住函數(shù)</b></p><p> 登記入住函數(shù)void dengji(struct room room[9])主要用于顧客登記入住,主要功能為將輸入的顧客信息排序后寫入顧客信息文件,在輸入信息前先判斷房間是否已滿,
41、再輸入是判斷輸入的信息是否正確可用。</p><p><b> 6. 結(jié)賬退房函數(shù)</b></p><p> 結(jié)賬退房函數(shù)void tuifang(struct room room[9])的主要功能是在顧客信息記錄中找到與輸入的信息對(duì)應(yīng)的記錄并將其刪除,同時(shí)根據(jù)輸入的信息計(jì)算出總?cè)胱r(shí)間、應(yīng)付金額,再根據(jù)輸入的付款金額計(jì)算出找零金額,最后將這些信息作為一條新紀(jì)錄保
42、存到歷史記錄表。</p><p> 7. 查詢當(dāng)前入住情況函數(shù)</p><p> 查詢當(dāng)前入住情況函數(shù)void chaxun( )的主要功能是在輸入當(dāng)前時(shí)間后,根據(jù)當(dāng)前時(shí)間算出每位顧客的總?cè)胱r(shí)間,然后逐條輸出顧客信息和顧客總?cè)胱r(shí)間;在輸入當(dāng)前時(shí)間時(shí),判斷當(dāng)前時(shí)間的合法性。</p><p> 8. 查詢當(dāng)前費(fèi)用函數(shù)</p><p>
43、 查詢當(dāng)前費(fèi)用函數(shù)void chaxun1( )是在查詢當(dāng)前入住情況函數(shù)void chaxun( )的基礎(chǔ)上作出一些修改得到的,它的主要功能是輸入當(dāng)前時(shí)間后,根據(jù)當(dāng)前時(shí)間算出每位顧客的總?cè)胱r(shí)間,然后再算出每位顧客的當(dāng)前費(fèi)用,最后逐條輸出顧客信息和顧客總?cè)胱r(shí)間、顧客當(dāng)前費(fèi)用;在輸入當(dāng)前時(shí)間時(shí)對(duì)當(dāng)前時(shí)間的合法性做判斷。</p><p> 9. 查詢歷史記錄函數(shù)</p><p> 查詢歷
44、史記錄函數(shù)void chaxun2(struct room a)的功能是從歷史記錄文件中逐條讀出歷史記錄并輸出。</p><p> 10. 顧客信息寫入函數(shù)</p><p> 信息錄入函數(shù)void write(struct room room[])的功能是將顧客信息逐條寫入顧客信息文件。</p><p> 11. 歷史記錄寫入函數(shù)</p><
45、;p> 歷史記錄寫入函數(shù)void write1(struct room room[])的作用是寫入一條歷史記錄到歷史記錄文件里。</p><p> 12. 顧客信息讀取函數(shù)</p><p> 顧客信息讀取函數(shù)的作用是從顧客信息文件中逐條讀出顧客信息并將其存入指定的結(jié)構(gòu)體數(shù)組里。</p><p> 13. days函數(shù)</p><p&
46、gt; 該函數(shù)的作用是根據(jù)當(dāng)天日期算出該天是該年中的第幾天。</p><p> 14. hours函數(shù)</p><p> 該函數(shù)是一個(gè)輔助計(jì)算函數(shù),用于計(jì)算顧客入住的小時(shí)數(shù)。</p><p><b> 四、結(jié)果分析</b></p><p><b> 4.1主界面</b></p>
47、<p> 本程序設(shè)定了啟動(dòng)后若無顧客數(shù)據(jù)文件則顯示暫無顧客數(shù)據(jù),具體如圖所示:</p><p><b> 圖2-3 啟動(dòng)時(shí)</b></p><p><b> 圖2-4 主界面</b></p><p><b> 4.2登記入住</b></p><p> 登
48、記時(shí)的部分情況如圖:</p><p> 圖2-5 選擇計(jì)費(fèi)方式</p><p> 圖2-6 選擇錯(cuò)誤時(shí)</p><p> 圖2-7 房間號(hào)輸入有誤</p><p> 圖2-8 身份證號(hào)輸入有誤</p><p> 圖2-9 年份輸入有誤</p><p> 圖2-10 月份輸入有誤<
49、;/p><p> 圖2-11 日期輸入有誤</p><p> 圖2-12 時(shí)刻輸入有誤</p><p> 顧客信息及登記時(shí)間輸入不合法時(shí)報(bào)錯(cuò)并重新輸入:</p><p> 圖2-13 登記演示</p><p> 圖2-14 登記成功</p><p> 登記成功后可繼續(xù)登記,使操作更簡便:
50、</p><p> 圖2-15 登記成功后</p><p> 輸入0回車后強(qiáng)制返回主界面,故本次登記無效:</p><p> 圖2-16 強(qiáng)制返回主界面</p><p> 房間已滿時(shí)禁止登記并給出提示:</p><p> 圖2-17 房間已滿時(shí)</p><p><b> 4
51、.3結(jié)賬退房</b></p><p> 結(jié)賬退房部分功能展示如下圖:</p><p> 圖2-18 輸入退房顧客信息時(shí)</p><p> 退房時(shí)間輸入不合法是會(huì)給予提示,并重新輸入:</p><p> 圖2-9 輸入退房時(shí)間時(shí)</p><p> 輸入支付金額時(shí)判斷是否滿足應(yīng)付金額,若不滿足,重新輸
52、入:</p><p> 圖2-20 輸入支付金額時(shí)</p><p> 退房完成時(shí)計(jì)算出找零金額并顯示:</p><p> 圖2-21 退房完成時(shí)</p><p> 退房完成后可繼續(xù)退房,簡化操作:</p><p> 圖2-22 退房完成后</p><p> 輸入0回車后強(qiáng)制返回主界面
53、,故本次退房無效:</p><p> 圖2-23 強(qiáng)制返回主界面時(shí)</p><p> 圖2-24 當(dāng)前無人入住時(shí)</p><p> 4.4查詢當(dāng)前入住情況</p><p> 具體操作界面及功能如下圖:</p><p> 圖2-25 當(dāng)前無人入住時(shí)</p><p> 輸入當(dāng)前時(shí)間時(shí)判斷
54、輸入的時(shí)間是否合法,若不合法,重新輸入:</p><p> 圖2-26 輸入當(dāng)前時(shí)間時(shí)</p><p> 圖2-27 查詢完成時(shí)</p><p><b> 4.5查詢當(dāng)前費(fèi)用</b></p><p> 查詢當(dāng)前費(fèi)用模塊的具體操作及功能展示如下圖:</p><p> 當(dāng)前無人入住時(shí)提示并不
55、輸出查詢結(jié)果:</p><p> 圖2-28 無人入住時(shí)</p><p> 輸入當(dāng)前時(shí)間時(shí)判斷輸入的時(shí)間是否合法,若不合法,重新輸入:</p><p> 圖2-29 輸入當(dāng)前時(shí)間時(shí)</p><p> 輸入完成后計(jì)算出當(dāng)前費(fèi)用并輸出:</p><p> 圖2-30 查詢結(jié)束時(shí)</p><p&
56、gt;<b> 4.6查詢歷史記錄</b></p><p> 查詢歷史記錄時(shí)操作較簡單,具體演示如下圖:</p><p> 圖2-31 查詢結(jié)束時(shí)</p><p> 圖2-32 沒有歷史記錄時(shí)</p><p><b> 五、結(jié)論或總結(jié)</b></p><p> 完
57、成該程序的過程中,先后經(jīng)歷了算法設(shè)計(jì),編寫代碼,上機(jī)調(diào)試,試運(yùn)行等幾個(gè)階段,最后終于基本達(dá)到了要求。</p><p> 程序能正常運(yùn)行后,又對(duì)操作界面進(jìn)行了美化,使得操作界面更直觀易用。</p><p> 實(shí)現(xiàn)了題目要求的功能后,并且對(duì)功能進(jìn)行了擴(kuò)展,加入了查詢歷史記錄、任意狀態(tài)輸入0返回主界面、運(yùn)行結(jié)果以表格的形式輸出等功能。本來還想加一個(gè)密碼設(shè)置功能,不過由于不是十分必要,反而可能
58、導(dǎo)致程序的簡單實(shí)用性下降,故而放棄。</p><p> 這個(gè)程序的優(yōu)點(diǎn)在于精確可靠,在房間號(hào)、時(shí)間、身份證號(hào)等的輸入上進(jìn)行嚴(yán)格的驗(yàn)證,能夠有效地防止出現(xiàn)管理錯(cuò)漏問題。該程序在可用性方面有較大的優(yōu)勢。</p><p> 在完成該次設(shè)計(jì)的過程中,我收獲了很多,學(xué)會(huì)了根據(jù)現(xiàn)實(shí)情況考慮問題,將理論與實(shí)際結(jié)合的思考方式。</p><p> 六、課程設(shè)計(jì)心得體會(huì)</
59、p><p> 在設(shè)計(jì)較大的程序時(shí),要有全局觀,否則將會(huì)導(dǎo)致各系統(tǒng)模塊間相互影響,產(chǎn)生不必要的麻煩。在設(shè)計(jì)一個(gè)系統(tǒng)時(shí),界面的美化很重要,能夠極大地提高系統(tǒng)的可用性,形成良好的人機(jī)交互。設(shè)計(jì)程序時(shí),要不斷查漏補(bǔ)缺,多次試運(yùn)行,因?yàn)橹挥性谑褂弥胁拍馨l(fā)現(xiàn)問題,程序的試用能幫我們找到一些在設(shè)計(jì)時(shí)忽略的問題。設(shè)計(jì)一個(gè)程序就像建一棟房子,要從地基開始一點(diǎn)點(diǎn)往上累加,即要一步步地分步實(shí)現(xiàn)模塊功能,要有一定的條理性。最重要的一點(diǎn)是,
60、設(shè)計(jì)的程序要與實(shí)際相結(jié)合,要符合實(shí)際需要,否則一切都將是毫無意義的。</p><p> 我們在學(xué)習(xí)過程中,要將理論與實(shí)際相結(jié)合,在實(shí)踐中提高自我。本次課程設(shè)計(jì),我將學(xué)過的C語言知識(shí)鞏固了一遍,同時(shí)認(rèn)識(shí)了<windows.h>函數(shù)庫及其中的system函數(shù)和Sleep函數(shù),使我對(duì)VC6.0更加了解,也了解到更多TuboC與VC6.0的區(qū)別。</p><p> 在設(shè)計(jì)過程中,我
61、學(xué)會(huì)了有計(jì)劃有條理地實(shí)現(xiàn)目標(biāo),這才是我本次課程設(shè)計(jì)中最大的收獲。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 譚浩強(qiáng).C語言程序設(shè)計(jì)教程.北京:高等教育出版社,2007.</p><p> [2] 曹哲主編.C語言實(shí)驗(yàn)與課程設(shè)計(jì)指導(dǎo).北京:機(jī)械工業(yè)出版社,2010.</p><p> [
62、3] 譚浩強(qiáng),張基溫,唐永炎編著.C程序設(shè)計(jì)教程.北京:清華大學(xué)出版社,1992.</p><p> [4] 譚浩強(qiáng)編著.C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第二版).北京:清華大學(xué)出版社,1999.</p><p><b> 源程序</b></p><p> #include<stdio.h>
63、 /*頭文件,標(biāo)準(zhǔn)輸入輸出函數(shù)庫*/</p><p> #include<string.h> /*字符串函數(shù)庫*/</p><p> #include <windows.h>
64、 /*自帶窗體控制函數(shù)庫*/</p><p> struct room /*定義結(jié)構(gòu)體變量類型*/</p><p><b> { </b></p><p>
65、 char room[20]; /*定義結(jié)構(gòu)體變量類型中的元素,下同*/</p><p> char name[20];</p><p> char ID[20];</p><p> int staytime[4];</p><p> int endtime[4
66、];</p><p><b> int c;</b></p><p><b> int time;</b></p><p> int money;</p><p> int money1;</p><p> int money2;</p><p&
67、gt;<b> char nn;</b></p><p> }room[11],b[11],a; /*定義兩個(gè)結(jié)構(gòu)體數(shù)組和一個(gè)結(jié)構(gòu)體變量*/</p><p> char room1[9][5]={{'1','-','0','1'}
68、,{'1','-','0','2'},{'1','-','0','3'},{'2','-','0','1'},{'2','-','0','2'},{'2','-
69、','0','3'},{'3','-','0','1'}</p><p> ,{'3','-','0','2'},{'3','-','0','3'}};
70、 /*定義一個(gè)二維字符數(shù)組容納房間號(hào)*/</p><p> int g=10,t,end=2,g1,d,p; /* g,g1容納總?cè)胱∪藬?shù);d容納選擇按小時(shí)或按天計(jì)費(fèi)的選擇結(jié)果,p容納平年或閏年的判斷結(jié)果*/</p><p> void main()
71、 /*定義主函數(shù),主界面控制/</p><p><b> {</b></p><p> void dengji(struct room room[9]); /*申明要調(diào)用的函數(shù),下同*/</p><p> void tuifa
72、ng(struct room room[9]);</p><p> void chaxun( );</p><p> void chaxun1( );</p><p> void chaxun2(struct room a);</p><p> void read(struct room b[]);</p><p&
73、gt; int flag,ll;</p><p> for(ll=0;ll<11;ll++) /*將room[ll]與 b[ll]中所有的控制換行的nn元素初始化*/</p><p><b> {</b></p><p> room[ll].nn='\n';</p>
74、<p> b[ll].nn='\n';</p><p> } </p><p> read(room); /*將room[ll]初始化*/</p><p>
75、;<b> g=0;</b></p><p> while(strlen(room[g].ID)==18) g++; /*將g初始化*/</p><p> while(t==4||end==2) /*
76、while語句,實(shí)現(xiàn)主界面控制*/</p><p><b> {</b></p><p> system("cls"); /*清屏語句,下同*/</p><p><b> t=0;</b><
77、;/p><p> printf("\n\n\n\n\n\n\n\n\n\n"); /*輸出格式控制,下同*/</p><p> printf(" "); /*輸出格式控制,下同*/
78、</p><p> printf("*******************************\n"); /*輸出格式控制,下同*/</p><p> printf(" "); /*輸出格式控制,下同*/&
79、lt;/p><p> printf("* [1] 登記入住 *\n"); /*輸出提示語句,下同*/</p><p> printf(" "); /*輸出格式控制,下同*/</p
80、><p> printf("* [2] 結(jié)賬退房 *\n"); /*輸出提示語句,下同*/</p><p> printf(" "); /*輸出格式控制,下同*/</p>
81、<p> printf("* [3] 查詢當(dāng)前入住情況 *\n"); /*輸出提示語句,下同*/</p><p> printf(" "); /*輸出格式控制,下同*/</p><p>
82、; printf("* [4] 查詢當(dāng)前費(fèi)用 *\n"); /*輸出提示語句,下同*/</p><p> printf(" "); /*輸出格式控制,下同*/</p><p> prin
83、tf("* [5] 查詢歷史記錄 *\n"); /*輸出提示語句,下同*/</p><p> printf(" "); /*輸出格式控制,下同*/</p><p> printf(&quo
84、t;* [6] 關(guān)閉程序 *\n"); /*輸出提示語句,下同*/</p><p> printf(" "); /*輸出格式控制,下同*/</p><p> printf("***
85、****************************\n"); /*輸出格式控制,下同*/</p><p> printf("\n "); /*輸出格式控制,下同*/</p><p> printf("請(qǐng)選擇
86、: "); /*輸出提示語句,下同*/</p><p> scanf("%d",&flag); /*輸入指定變量的值,下同*/</p><p> while((flag!=1)&
87、;&(flag!=2)&&(flag!=3)&&(flag!=4)&&(flag!=5)&&(flag!=6))</p><p><b> { </b></p><p> system("cls");</p><p> printf("
88、;\n\n\n\n\n\n\n\n\n");</p><p> printf(" ");</p><p> printf("選擇錯(cuò)誤,請(qǐng)重新選擇!\n");</p><p> printf(" ");</p&g
89、t;<p> printf("*******************************\n");</p><p> printf(" ");</p><p> printf("* [1] 登記入住 *\n");</p>&l
90、t;p> printf(" ");</p><p> printf("* [2] 結(jié)賬退房 *\n");</p><p> printf(" ");</p><p> printf(&qu
91、ot;* [3] 查詢當(dāng)前入住情況 *\n");</p><p> printf(" ");</p><p> printf("* [4] 查詢當(dāng)前費(fèi)用 *\n");</p><p> printf("
92、 ");</p><p> printf("* [5] 查詢歷史記錄 *\n");</p><p> printf(" ");</p><p> printf("* [6] 關(guān)閉程序 *\n"
93、;);</p><p> printf(" ");</p><p> printf("*******************************\n");</p><p> printf("\n ");</p>
94、<p> printf("請(qǐng)選擇 : ");</p><p> scanf("%d",&flag);</p><p><b> }</b></p><p> system("cls");</p><p> if(flag==1)
95、 /*if語句,功能模塊控制,下同*/</p><p><b> { </b></p><p><b> end=1;</b></p><p> while(end==1)</p><p><b>
96、 { </b></p><p> system("cls");</p><p> dengji(room);</p><p> system("cls");</p><p> if(t==4) break; /*break語句,實(shí)現(xiàn)任意狀態(tài)輸入0返回主界面,
97、下同*/</p><p> system("cls");</p><p> printf("\n\n\n\n\n\n\n\n\n\n\n\n");</p><p> printf(" ");</p><p> printf("*
98、******************************\n");</p><p> printf(" ");</p><p> printf("* [1] 繼續(xù)登記入住 *\n");</p><p> printf("
99、 ");</p><p> printf("* [2] 返回主界面 *\n");</p><p> printf(" ");</p><p> printf("*****************************
100、**\n\n");</p><p> printf("\n ");</p><p> printf("請(qǐng)選擇 : ");</p><p> scanf("%d",&end);</p><p> if(end==0) t=
101、4;</p><p> if(t==4) break;</p><p> while(end!=1&&end!=2)</p><p><b> {</b></p><p> system("cls");</p><p> printf("\n
102、\n\n\n\n\n\n\n\n\n\n");</p><p> printf(" ");</p><p> printf("選擇錯(cuò)誤,請(qǐng)重新選擇!\n");</p><p> printf(" ");</p&
103、gt;<p> printf("*******************************\n");</p><p> printf(" ");</p><p> printf("* [1] 繼續(xù)登記入住 *\n");</p><
104、;p> printf(" ");</p><p> printf("* [2] 返回主界面 *\n");</p><p> printf(" ");</p><p> printf("
105、;*******************************\n\n");</p><p> printf("\n ");</p><p> printf("請(qǐng)選擇 : ");</p><p> scanf("%d",&end);</p
106、><p> if(end==0) t=4;</p><p> if(t==4) break; </p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p>
107、; if(flag==2) </p><p><b> {</b></p><p><b> end=1;</b></p><p> while(end==1)</p><p><b> {</b></p><p> system("
108、;cls");</p><p> tuifang(room);</p><p> system("cls");</p><p> if(t==4) break;</p><p> printf("\n\n\n\n\n\n\n\n\n\n");</p><p>
109、 printf(" ");</p><p> printf("*******************************\n");</p><p> printf(" ");</p><p> printf("*
110、 [1] 繼續(xù)結(jié)賬退房 *\n");</p><p> printf(" ");</p><p> printf("* [2] 返回主界面 *\n");</p><p> printf("
111、 ");</p><p> printf("*******************************\n\n");</p><p> printf("\n ");</p><p> printf("請(qǐng)選擇 : ");</p>
112、<p> scanf("%d",&end);</p><p> if(end==0) t=4;</p><p> if(t==4) break;</p><p> while(end!=1&&end!=2)</p><p><b> {</b></p
113、><p> system("cls");</p><p> printf("\n\n\n\n\n\n\n\n");</p><p> printf(" ");</p><p> printf("選擇錯(cuò)誤,請(qǐng)重新選擇!\n"
114、);</p><p> printf(" ");</p><p> printf("*******************************\n");</p><p> printf(" ");</p>&
115、lt;p> printf("* [1] 繼續(xù)結(jié)賬退房 *\n");</p><p> printf(" ");</p><p> printf("* [2] 返回主界面 *\n");</p><p> pri
116、ntf(" ");</p><p> printf("*******************************\n\n");</p><p> printf("\n ");</p><p> printf("請(qǐng)
117、選擇 : ");</p><p> scanf("%d",&end);</p><p> if(end==0) t=4;</p><p> if(t==4) break;</p><p><b> }</b></p><p><b> }&
118、lt;/b></p><p><b> }</b></p><p> if(flag==3) </p><p><b> {</b></p><p><b> chaxun();</b></p><p><b> if(t!=4
119、)</b></p><p><b> {</b></p><p> printf("\n ");</p><p> printf("輸入任意數(shù)返回主界面 : ");</p><p> scanf("%d"
120、,&t);</p><p><b> end=2;</b></p><p><b> }</b></p><p><b> }</b></p><p> if(flag==4) </p><p><b> {</b&g
121、t;</p><p> chaxun1();</p><p><b> if(t!=4)</b></p><p><b> {</b></p><p> printf("\n ");</p><p> pri
122、ntf("輸入任意數(shù)返回主界面 : ");</p><p> scanf("%d",&t);</p><p><b> end=2;</b></p><p><b> }</b></p><p><b> }</b><
123、;/p><p> if(flag==5) </p><p><b> {</b></p><p> chaxun2(a);</p><p><b> if(t!=4)</b></p><p><b> {</b></p><p&
124、gt; printf("\n 輸入任意數(shù)返回主界面 : ");</p><p> scanf("%d",&t);</p><p><b> end=2;</b></p><p><b> }</b></p><p><b> }&l
125、t;/b></p><p> if(flag==6) </p><p><b> {</b></p><p><b> end=3;</b></p><p><b> t=0;</b></p><p><b> }</b&
126、gt;</p><p><b> }</b></p><p><b> }</b></p><p> /************************************主函數(shù)結(jié)束**************************************/</p><p> void
127、 dengji(struct room room[9]) /*定義登記入住函數(shù)*/</p><p><b> {</b></p><p> void write(struct room a[]);
128、 /*申明write函數(shù)*/</p><p> int i,j,k,h=0;</p><p> if(g<9) /*if語句,判斷房間是否已滿*/</p><p><b> {</b></p><p>
129、; while(h==0)</p><p><b> {</b></p><p> printf("\n\n\n\n\n\n\n\n\n\n\n\n");</p><p> printf(" ");</p><p> printf(&
130、quot;*******************************\n");</p><p> printf(" ");</p><p> printf("* 請(qǐng)選擇計(jì)費(fèi)方式! *\n");</p><p> printf("
131、 ");</p><p> printf("* [1] 按天計(jì)費(fèi) *\n");</p><p> printf(" ");</p><p> printf("* [2] 按小時(shí)計(jì)費(fèi)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)報(bào)告賓館房間管理系統(tǒng)
- c語言課程設(shè)計(jì)-賓館管理系統(tǒng)
- c語言課程設(shè)計(jì)--賓館住宿信息管理系統(tǒng)
- 課程設(shè)計(jì)--某賓館房間空調(diào)系統(tǒng)設(shè)計(jì)
- c語言課程設(shè)計(jì)-賓館客房管理軟件
- c語言課程設(shè)計(jì)-賓館客房管理軟件
- c++賓館住宿管理系統(tǒng)課程設(shè)計(jì)
- c++課程設(shè)計(jì)賓館客房管理系統(tǒng)
- 賓館管理系統(tǒng)課程設(shè)計(jì)
- c語言課程設(shè)計(jì)-成績管理系統(tǒng)
- c語言課程設(shè)計(jì)--宿舍管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)
- c語言課程設(shè)計(jì)車票管理系統(tǒng)
- c語言課程設(shè)計(jì)--車票管理系統(tǒng)
- c語言課程設(shè)計(jì)--銷售管理系統(tǒng)
- c語言課程設(shè)計(jì)——教材管理系統(tǒng)
- c語言課程設(shè)計(jì)-人員管理系統(tǒng)
- c語言課程設(shè)計(jì)----銷售管理系統(tǒng)
- c語言課程設(shè)計(jì)-銷售管理系統(tǒng)
- c語言課程設(shè)計(jì)-學(xué)籍管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論