




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。C語言課程設(shè)計-賓館客房管理軟件-C語言課程設(shè)計課程設(shè)計報告題目學(xué)生成績統(tǒng)計學(xué)號姓名年級專業(yè)指導(dǎo)教師完成日期年月日安徽師范大學(xué)物理與電子信息學(xué)院CollegeofPhysicsandElectronicInformation,AnhuiNormalUniversity目錄一問題描述2TOCo1-3huHYPERLINKl_Toc15084二.系統(tǒng)需求分析2HYPERLINKl_Toc314222.1設(shè)計前調(diào)查2HYPERLINKl_Toc300202.2用戶需求分析2HYPERLINKl_Toc7662
2、2.3核心數(shù)據(jù)流圖3HYPERLINKl_Toc20981三、概念設(shè)計5HYPERLINKl_Toc293143.1局部E-R圖5HYPERLINKl_Toc42973.2程序結(jié)構(gòu)圖5HYPERLINKl_Toc22174四、邏輯設(shè)計6HYPERLINKl_Toc4714.1開發(fā)環(huán)境6HYPERLINKl_Toc964五、HYPERLINKl_Toc8947程序調(diào)試6HYPERLINKl_Toc156705.1程序登陸6HYPERLINKl_Toc107995.2訂房7HYPERLINKl_Toc16415.3入住7HYPERLINKl_Toc176545.4退房8HYPERLINKl_Toc
3、235855.5信息查詢8HYPERLINKl_Toc30767六、程序代碼8HYPERLINKl_Toc27577七、總結(jié)22物理與電子信息學(xué)院課程設(shè)計評定意見HYPERLINKl_Toc583223一問題描述賓館客房管理軟件某賓館有301、302、303、304、305五個標準間,每個標準間可住2人;鏈表存儲結(jié)構(gòu):姓名、性別、房號、后續(xù)指針,按房間號有序;能實現(xiàn)入?。ㄗ⒁庑詣e)和退房,能按給定姓名、房號查詢;建議采用鏈表結(jié)構(gòu),但用其它方法實現(xiàn)也可。二.系統(tǒng)需求分析2.1設(shè)計前調(diào)查近年來,賓館業(yè)迅猛發(fā)展,市場的競爭日趨激烈,全面提高賓館的軟件管理水準,已成為賓館業(yè)發(fā)展的當(dāng)務(wù)之急。尤其是對于星
4、級賓館,既需要完成前臺的一些服務(wù)工作,還需要完成后臺的管理工作。然而,傳統(tǒng)的人工管理模式已經(jīng)遠遠不能滿足有效、快捷地處理經(jīng)營中產(chǎn)生的大量信息數(shù)據(jù)的需要,從而使得企業(yè)決策層無法及時、準確地掌握一線資料,繼而影響對市場進行正確地分析和預(yù)測。像沿海城市三星級以上賓館引進外方管理,使小部分賓館管理水準幾乎接近或達到國際水平。但對占80%以上的廣大中小型賓館來說,是難以做到的。因此,欲在競爭中甩開對手,取得優(yōu)勢,必須在經(jīng)營、管理、產(chǎn)品、服務(wù)等方面具備獨到之處。而對賓館的經(jīng)營狀況起決定作用的是客房的管理。簡單的服務(wù)標準已不是制勝的錦囊,只有管理做到最細微之處,才能讓顧客體會到賓館服務(wù)的高標準、高質(zhì)量,而準
5、確、快速、周全往往就是最基本的成功要素。傳統(tǒng)的管理方法已經(jīng)不能適應(yīng)現(xiàn)代社會的需要,因此采用電腦管理業(yè)務(wù)、財務(wù)等諸多環(huán)節(jié)已成為推動賓館業(yè)迅速發(fā)展的先決條件,賓館客房管理信息系統(tǒng)是各大中小型賓館所需要使用的一個管理系統(tǒng)。2.2用戶需求分析建立一套功能完善的管理信息系統(tǒng),既能滿足業(yè)務(wù)人員日常處理的需要,增強企業(yè)經(jīng)營全過程的數(shù)字化管理水平;又能滿足管理人員決策分析的需要,提高公司管理層對公司經(jīng)營反饋信息的響應(yīng)速度。從而大幅度提高工作效率,提高實施管理的準確性、科學(xué)性,使擔(dān)負管理的工作人員從繁雜的手工勞作中解脫出來。因而程序需要實現(xiàn)的功能有如下主要六大功能:客房管理:客房登記,入住情況查詢,客房狀態(tài)查看
6、。賓客入住管理:客房預(yù)定,登記入住,房間調(diào)整,退房結(jié)帳物資管理:物品登記,物品查詢,報修和維修,定時提醒。財務(wù)管理:追加押金,增刪財務(wù),日報表員工管理:增改員工,查刪員工系統(tǒng)管理:增刪管理員,修改密碼其他功能:界面管理2.3核心數(shù)據(jù)流圖維修信息調(diào)整房間維修/報修房間提醒客房信息預(yù)訂客房信息客房狀態(tài)退房入住住客人客人信息入住登記帳務(wù)信息財務(wù)現(xiàn)開入住信息部分數(shù)據(jù)流圖數(shù)據(jù)流名稱:客人信息來源:客人去向:入住登記包含的數(shù)據(jù)項:姓名、身份證號、性別、入住房間、房間類型、房間價格、入住狀態(tài)等(賓館客房管理系統(tǒng)的數(shù)據(jù)流客人信息)數(shù)據(jù)流名稱:入住登記來源:客人產(chǎn)生入住登記去向:入住包含的數(shù)據(jù)項:訂單編號、姓名
7、、性別、身份證號、客戶編號、客房類型、抵房時間、入住人數(shù)、預(yù)定人、電話、住幾天等信息(賓館客房管理系統(tǒng)的數(shù)據(jù)流入住登記)數(shù)據(jù)流名稱:客房信息來源:客人產(chǎn)生入住登記去向:入住包含的數(shù)據(jù)項:客房編號、客房類型、客房價格、客房狀態(tài)(賓館客房管理系統(tǒng)的數(shù)據(jù)流客房信息)數(shù)據(jù)流名稱:房間狀態(tài)來源:退房去向:房間包含的數(shù)據(jù)項:客房號碼、房間狀態(tài)(賓館客房管理系統(tǒng)的數(shù)據(jù)流房間狀態(tài))數(shù)據(jù)流名稱:帳務(wù)信息來源:退房去向:財務(wù)包含的數(shù)據(jù)項:帳單編號、姓名、消費金額、入住時間、退房時間、押金數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個數(shù)據(jù)結(jié)構(gòu)可以由若干個數(shù)據(jù)項組成,也可以由若干個數(shù)據(jù)結(jié)構(gòu)組成,或由若干個數(shù)據(jù)項和數(shù)據(jù)
8、結(jié)構(gòu)混合組成。數(shù)據(jù)結(jié)構(gòu)的具體描述如下:(1)數(shù)據(jù)結(jié)構(gòu):客房信息含義說明:是賓館客房管理系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了賓館客房的有關(guān)信息組成:房號、類別、樓層、單價、可容納人數(shù)、說明(2)數(shù)據(jù)結(jié)構(gòu):旅客信息含義說明:是酒店客房管理系統(tǒng)中的旅客數(shù)據(jù)結(jié)構(gòu),定義了旅客的有關(guān)信息組成:入住編號、顧客姓名、性別、證件名稱、證件號碼(3)數(shù)據(jù)結(jié)構(gòu):操作員信息含義說明:是酒店客房管理系統(tǒng)中的操作員數(shù)據(jù)結(jié)構(gòu),定義了操作員的有關(guān)信息組成:用戶名、密碼數(shù)據(jù)存儲通過SQLSERVER2000建立一個名為“酒店”的庫,存放酒店客房信息、旅客信息和旅客入住信息以提供應(yīng)用程序進行系統(tǒng)業(yè)務(wù)功能數(shù)據(jù)所需的數(shù)據(jù)。1)數(shù)據(jù)存儲名稱:客
9、房信息表說明:記錄所有房間的基本信息輸入的數(shù)據(jù)流:服務(wù)員查看酒店房間基本信息輸出的數(shù)據(jù)流:輸出房間基本信息給服務(wù)員查看組成:房號,類別,樓層,單價,可容納人數(shù),說明2)數(shù)據(jù)存儲名稱:旅客信息表說明:記錄住店客人的基本信息輸入的數(shù)據(jù)流:在住店管理界面中添加客人基本信息輸出的數(shù)據(jù)流:在在住客人列表中或歷史信息中查看客人基本信息組成:入住編號,顧客姓名,性別,證件名稱,證件號碼3)數(shù)據(jù)存儲名稱:旅客入住登記信息表說明:記錄開房和退房的基本信息輸入的數(shù)據(jù)流:在住店管理界面中添加客人基本信息輸出的數(shù)據(jù)流:在開房,退房,在住客人列表中或歷史信息中查看有關(guān)基本信息組成:入住編號,房號,預(yù)付金額,入住時間,退
10、房時間三、概念設(shè)計3.1局部E-R圖客房房號價格狀態(tài)客人性別姓名證件管理員姓名密碼權(quán)限年齡性別工資3.2程序結(jié)構(gòu)圖系統(tǒng)登錄訂房實現(xiàn)入住登記退房結(jié)算信息查詢客房信息初始化四邏輯設(shè)計4.1.開發(fā)環(huán)境軟件:Visualc+6.0硬件:HPProBook4321s五程序調(diào)試5.1程序登陸5.2訂房5.3入住5.4退房5.5信息查詢六程序代碼#include#include/*voidinitial_room();/初始化80個房間信息voidwelcome();/驗證用戶登陸,登陸成功顯示歡迎信息voidenter();voidbook_room();voidcheck_in();voidcheck_
11、out();voidinquire();inti=0;/*structRoomintnumber;intdank;intprice;intstate;room80;structCustomercharname10;charID19;introom_number;intprepaid;intchange;intday;customer80;voidcreateCustomer()printf(請您輸入顧客的姓名n);scanf(%s,);printf(請您輸入顧客的身份證號碼n);scanf(%s,customeri.ID);customeri.prepaid=0;c
12、ustomeri.change=0;customeri.day=0;voidset_name(char*n,intindex)strcpy(,n);voidset_ID(char*p,intindex)strcpy(customerindex.ID,p);voidset_room_number(intn,intindex)customerindex.room_number=n;voidset_day(intd,intindex)customerindex.day=d;voidset_prepaid(intp,intindex)customerindex.pr
13、epaid=p;char*get_name(intindex);char*get_ID(intindex)returncustomerindex.ID;intget_room_number(intindex)returncustomerindex.room_number;intget_day(intindex)returncustomerindex.day;intget_prepaid(intindex)returncustomerindex.prepaid;/*voidmain()/程序入口從這里開始運行intchoice=1;initial_
14、room();/初始化80個房間的信息,分四個等級welcome();/驗證用戶登陸,登陸成功顯示歡迎信息while(choice=1)enter();/根據(jù)用戶的選擇執(zhí)行不同的功能getchar();printf(n繼續(xù)使用本系統(tǒng)請按1,退出請按2!);scanf(%d,&choice);printf(n);/系統(tǒng)登陸界面*voidwelcome()/驗證用戶登陸,登陸成功顯示歡迎信息charname4,code7;printf(請輸入用戶名和密碼(以空格隔開):n);scanf(%s%s,name,code);while(strcmp(name,000)!=0)|(strcmp(code,
15、666666)!=0)printf(用戶名或密碼輸入有誤,請重新輸入!n);scanf(%s%s,name,code);printf(nn);printf(*n);printf(歡迎使用賓館客房管理系統(tǒng)!n);printf(*nn);/系統(tǒng)入口*voidenter()intkind_of_service;printf(請選擇服務(wù)類別:訂房、入住、退房還是查詢?n);printf(1-定房2-入住3-退房4-查詢:);scanf(%d,&kind_of_service);if(kind_of_service4)|(kind_of_service1)printf(您的輸入有誤,請重試!n);sca
16、nf(%d,&kind_of_service);elseswitch(kind_of_service)case1:book_room();break;case2:check_in();break;case3:check_out();break;case4:inquire();break;/訂房實現(xiàn)*voidbook_room()createCustomer();introom_standard,day;printf(請您選擇預(yù)定房間的標準:n);printf(1.單人間/天150元n2.雙人間/天200元n3.標準間/天300元n4.總統(tǒng)套房/天600元n);scanf(%d,&room_st
17、andard);printf(請輸入預(yù)定天數(shù)n);scanf(%d,&day);set_day(day,i);switch(room_standard)intn;case1:printf(住房費用總共為:%d元n,day*150);/計算住房費用for(n=0;n20;n+)/從第一個級別的房間中查找一個空閑的房間if(roomn.state=0)/state=0表示該住房沒有被預(yù)定的printf(預(yù)定成功房間號碼為:%dn,roomn.number);roomn.state=1;set_room_number(roomn.number,i);break;break;case2:printf(
18、住房費用總共為:%d元n,day*200);for(n=20;n40;n+)if(roomn.state=0)printf(預(yù)定成功房間號碼為:%dn,roomn.number);roomn.state=1;set_room_number(roomn.number,i);break;break;case3:printf(住房費用總共為:%d元n,day*300);for(n=40;n60;n+)if(roomn.state=0)printf(預(yù)定成功房間號碼為:%dn,roomn.number);roomn.state=1;set_room_number(roomn.number,i);bre
19、ak;break;case4:printf(住房費用總共為:%d元n,day*600);for(n=60;n訂了2-沒訂);scanf(%d,&ding_or_no);if(ding_or_no=1)printf(請輸入顧客的姓名:n);scanf(%s,name1);printf(請輸入顧客的身份證號碼:n);scanf(%s,id1);for(intj=0;j=i;j+)if(strcmp(get_name(j),name1)=0)&(strcmp(get_ID(j),id1)=0)/查找該顧客的定房信息intnum=get_room_number(j);/取得定房的房間號printf(顧
20、客%s今天入住本賓館!房間號碼為:%dn,name1,num);switch(num/100)case6:prepaid=get_day(j)*150;set_prepaid(prepaid,j);printf(請收房費%d元整!n,prepaid);/開始收費roomnum%100-1.state=2;/修改房間狀態(tài)為入住狀態(tài)break;case7:prepaid=get_day(j)*200;set_prepaid(prepaid,j);printf(請收房費%d元整!n,prepaid);room19+num%100.state=2;break;case8:prepaid=get_day
21、(j)*300;set_prepaid(prepaid,j);printf(請收房費%d元整!n,prepaid);room39+num%100.state=2;break;case9:prepaid=get_day(j)*600;set_prepaid(prepaid,j);printf(請收房費%d元整!n,prepaid);room59+num%100.state=2;break;break;elsecreateCustomer();introom_standard,day;printf(請您選擇預(yù)定房間的標準:n);printf(1.單人間/天150元n2.雙人間/天200元n3.標準
22、間/天300元n4.總統(tǒng)套房/天600元n);scanf(%d,&room_standard);printf(請輸入住宿天數(shù)n);scanf(%d,&day);set_day(day,i);switch(room_standard)intn;case1:prepaid=day*150;set_prepaid(prepaid,i);printf(請收房費%d元整!n,prepaid);for(n=0;n20;n+)if(roomn.state=0)printf(入住房間號碼為:%dn,roomn.number);roomn.state=2;set_room_number(roomn.number
23、,i);break;break;case2:prepaid=day*200;set_prepaid(prepaid,i);printf(請收房費%d元整!n,prepaid);for(n=20;n40;n+)if(roomn.state=0)printf(入住房間號碼為:%dn,roomn.number);roomn.state=2;set_room_number(roomn.number,i);break;break;case3:prepaid=day*300;set_prepaid(prepaid,i);printf(請收房費%d元整!n,prepaid);for(n=40;n60;n+)
24、if(roomn.state=0)printf(入住房間號碼為:%dn,roomn.number);roomn.state=2;set_room_number(roomn.number,i);break;break;case4:prepaid=day*600;set_prepaid(prepaid,i);printf(請收房費%d元整!n,prepaid);for(n=60;n80;n+)if(roomn.state=0)printf(入住房間號碼為:%dn,roomn.number);roomn.state=2;set_room_number(roomn.number,i);break;br
25、eak;i+;/退房結(jié)算*voidcheck_out()charname210,id219;intstandard,j,room_number,day1,day2,day;printf(請輸入要退房的顧客姓名和身份證號碼:n);scanf(%s%s,name2,id2);printf(請輸入該顧客實住天數(shù):n);scanf(%d,&day2);for(j=0;j0)printf(請退給該顧客%d元整!n,day*150);if(day0)printf(請退給該顧客%d元整!n,day*200);if(day0)printf(請退給該顧客%d元整!n,day*300);if(day0)print
26、f(請退給該顧客%d元整!n,day*600);if(day0)printf(請補收該顧客住房費%d元整!n,-day*600);break;printf(n退房核算清楚,請按1:);intaccount;scanf(%d,&account);if(account=1)for(intk=0;k80;k+)if(roomk.number=get_room_number(j)roomk.state=0;i-;for(;ji;j+)customerj=customerj+1;/信息查詢*voidinquire()intinquire_choice;printf(房間信息查詢請按1,顧客信息查詢請按2
27、:n);scanf(%d,&inquire_choice);if(inquire_choice=1)intj,k=0;printf(n下列房間還沒人預(yù)訂,也沒人入住:n);for(j=0;j80;j+)if(roomj.state=0)if(k%10=0)printf(n);printf(%dt,roomj.number);k+;k=0;printf(nn下列房間已預(yù)訂:);for(j=0;j80;j+)if(roomj.state=1)if(k%10=0)printf(n);printf(%dt,roomj.number);k+;k=0;printf(nn下列房間有人入?。簄);for(j=
28、0;j80;j+)if(roomj.state=2)if(k%10=0)printf(n);printf(%dt,roomj.number);k+;printf(nn);elseif(inquire_choice=2)getchar();printf(按姓名查詢請按1,按身份證查詢請按2:n);intinquire_choice;scanf(%d,&inquire_choice);if(inquire_choice=1)charname310;printf(請輸入顧客的姓名:n);scanf(%s,name3);for(intj=0;j=i;j+)if(strcmp(get_name(j),n
29、ame3)=0)printf(%s的住房信息如下:n,name3);printf(t房間號為:%dn,get_room_number(j);printf(t預(yù)付房費為:%dn,get_prepaid(j);if(inquire_choice=2)charid310;printf(請輸入顧客的身份證:n);scanf(%s,id3);for(intj=0;j=i;j+)if(strcmp(get_ID(j),id3)=0)printf(%d的住房信息如下:n,get_name(j);printf(t房間號為:%dn,get_room_number(j);printf(t預(yù)付房費為:%dn,get_prepaid(j);/房間信息初始化*voidinitial_room()/對80個房間進行初始化,分4個等級intj,k=101;for(j=0;j20;j+)roomj.number=k+;roomj.dank=1;roomj.price=150;roomj.state=0;k=201;for(j=20;j40;j+)roomj.number=k+;roomj.dank=2;roomj.price=200;roomj.state=0;k=301;for(j=40;j60;j+)roomj.number=k+;roomj.dank=3;roomj.pric
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內(nèi)科護理循環(huán)+泌尿系統(tǒng)鞏固試題
- 流動人口協(xié)管員工作總結(jié)
- 內(nèi)丘縣“醫(yī)院感染管理基層行”活動實施方案
- 2025年四川省愛眾能源工程有限公司對外招聘考試筆試試題(含答案)
- 2025年安全生產(chǎn)個人述職報告范本(三)
- 體育產(chǎn)業(yè)廠房轉(zhuǎn)租及賽事運營合同
- 美食廣場餐飲托管服務(wù)合同樣本
- 高速鐵路沿線廠房拆遷補償及搬遷合同
- 車間租賃及智能化生產(chǎn)系統(tǒng)建設(shè)協(xié)議
- 銀行承兌匯票財務(wù)擔(dān)保合同賬務(wù)處理規(guī)定
- 聲發(fā)射技術(shù)裂紋監(jiān)測
- 社會責(zé)任工作管理制度
- 機械CAD-CAM技術(shù)課件
- 2024-2025學(xué)年廣東省新部編版七年級歷史第二學(xué)期期末模擬卷(含答案)
- 2025-2030年環(huán)氧丙烷產(chǎn)業(yè)市場深度調(diào)研及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 2024年河南省澠池縣衛(wèi)生局公開招聘試題帶答案
- 2025年新疆維吾爾自治區(qū)公務(wù)員錄用考試面試真題試卷:無領(lǐng)導(dǎo)小組討論邊疆穩(wěn)定與發(fā)展試題
- 預(yù)防新生兒嗆奶指南
- 中國當(dāng)代文學(xué)專題-003-國開機考復(fù)習(xí)資料
- 10kV配電變壓器缺相運行分析
- YY_T 0681.2-2010無菌醫(yī)療器械包裝試驗方法 第2部分:軟性屏障材料的密封強度
評論
0/150
提交評論