C語言課程設計賓館客房管理軟件_第1頁
C語言課程設計賓館客房管理軟件_第2頁
C語言課程設計賓館客房管理軟件_第3頁
C語言課程設計賓館客房管理軟件_第4頁
C語言課程設計賓館客房管理軟件_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、c語言課程設計課程設計報告題 目學生成績統計學號姓名年級專業指導教師完成日期 年 月 日安徽師范大學物理及電子信息學院college of physics and electronic information, anhui normaluniversity目錄1 .問題描述22 .系統需求分析22.1 設計前調查22.2 用戶需求分析22.3 核心數據流圖3三、概念設計52.4 1局部e-r圖52.5 程序結構圖5四、邏輯設計64.1開發環境6五、程序調試65.1程序登陸65. 2訂房75. 3入住75. 4退房85. 5信息查詢8六、程序代碼8七、總結22物理及電子信息學院課程設計評定意見2

2、3一.問題描述賓館客房管理軟件1)某賓館有301、302、303、304、305五個標準間,每個標準間可住2人;2)鏈表存儲結構:姓名、性別、房號、后續指針,按房間號有序;3)能實現入住(注意性別)和退房,能按給定姓名、房號查詢;4)建議采用鏈表結構,但用其它方法實現也可。二.系統需求分析2.1 設計前調查近年來,賓館業迅猛發展,市場的競爭日趨激烈,全面提高賓館的軟 件管理水準,已成為賓館業發展的當務之急。尤其是對于星級賓館,既需 要完成前臺的一些服務工作,還需要完成后臺的管理工作。然而,傳統的 人工管理模式已經遠遠不能滿足有效、快捷地處理經營中產生的大量信息 數據的需要,從而使得企業決策層無

3、法及時、準確地掌握一線資料,繼而 影響對市場進行正確地分析和預測。像沿海城市三星級以上賓館引進外方 管理,使小部分賓館管理水準幾乎接近或達到國際水平。但對占80%以上 的廣大中小型賓館來說,是難以做到的。因此,欲在競爭中甩開對手,取 得優勢,必須在經營、管理、產品、服務等方面具備獨到之處。而對賓館 的經營狀況起決定作用的是客房的管理。簡單的服務標準已不是制勝的錦 囊,只有管理做到最細微之處,才能讓顧客體會到賓館服務的高標準、高 質量,而準確、快速、周全往往就是最基本的成功要素。傳統的管理方法已經不能適應現代社會的需要,因此采用電腦管理業 務、財務等諸多環節已成為推動賓館業迅速發展的先決條件,賓

4、館客房管 理信息系統是各大中小型賓館所需要使用的一個管理系統。2.2 用戶需求分析建立一套功能完善的管理信息系統,既能滿足業務人員口常處理的需 要,增強企業經營全過程的數字化管理水平;又能滿足管理人員決策分析 的需要,提高公司管理層對公司經營反饋信息的響應速度。從而大幅度提 高工作效率,提高實施管理的準確性、科學性,使擔負管理的工作人員從 繁雜的手工勞作中解脫出來。因而程序需要實現的功能有如下主要六大功 能:1、 客房管理:客房登記,入住情況查詢,客房狀態查看。2、 賓客入住管理:客房預定,登記入住,房間調整,退房結帳3、 物資管理:物品登記,物品查詢,報修和維修,定時提醒。4、 財務管理:追

5、加押金,增刪財務,日報表5、 員工管理:增改員工,查刪員工6、 系統管理:增刪管理員,修改密碼七、其他功能:界面管理2. 3核心數據流圖入住信息部分數據流圖 數據流名稱:客人信息來源:客人 去向:入住登記包含的數據項:姓名、身份證號、性別、入住房間、房間類型、房間價格、入住狀態等(賓館客房管理系統的數據流一一客人信息)數據流名稱:入住登記來源:客人產生入住登記去向:入住包含的數據項:訂單編號、姓名、性別、身份證號、客戶編號、客房類型、抵房時間、入住人數、預定人、電話、住幾天等信息(賓館客房管理系統的數據流一一入住登記)數據流名稱:客房信息來源:客人產生入住登記去向:入住包含的數據項:客房編號、

6、客房類型、客房價格、客房狀態(賓館客房管理系統的數據流一一客房信息)數據流名稱:房間狀態來源:退房去向:房間包含的數據項:客房號碼、房間狀態(賓館客房管理系統的數據流一一房間狀態)數據流名稱:帳務信息 來源:退房 去向:財務 包含的數據項:帳單編號、姓名、消費金額、入住時間、退房時間、押金 數據結構數據結構反映了數據之間的組合關系。一個數據結構可以由若干個數 據項組成,也可以由若干個數據結構組成,或由若干個數據項和數據結構 混合組成。數據結構的具體描述如下:(1)數據結構:客房信息含義說明:是賓館客房管理系統的主體數據結構,定義了賓館客房的 有關信息組成:房號、類別、樓層、單價、可容納人數、說

7、明(2)數據結構:旅客信息含義說明:是酒店客房管理系統中的旅客數據結構,定義了旅客的有 關信息組成:入住編號、顧客姓名、性別、證件名稱、證件號碼(3)數據結構:操作員信息含義說明:是酒店客房管理系統中的操作員數據結構,定義了操作員 的有關信息組成:用戶名、密碼數據存儲通過sql server 2000建立一個名為“酒店”的庫,存放酒店客房信 息、旅客信息和旅客入住信息以提供應用程序進行系統業務功能數據所需 的數據。1)數據存儲名稱:客房信息表說明:記錄所有房間的基本信息輸入的數據流:服務員查看酒店房間基本信息輸出的數據流:輸出房間基本信息給服務員查看組成:房號,類別,樓層,單價,可容納人數,說

8、明2)數據存儲名稱:旅客信息表說明:記錄住店客人的基本信息輸入的數據流:在住店管理界面中添加客人基本信息輸出的數據流:在在住客人列表中或歷史信息中查看客人基本信息 組成:入住編號,顧客姓名,性別,證件名稱,證件號碼3)數據存儲名稱:旅客入住登記信息表說明:記錄開房和退房的基本信息輸入的數據流:在住店管理界面中添加客人基本信息輸出的數據流:在開房,退房,在住客人列表中或歷史信息中查看有關基 本信息組成:入住編號,房號,預付金額,入住時間,退房時間三、概念設計3.1 局部e-r圖客房房號 價格 狀態客人性別 姓名 證件管理員姓名 密碼 權限3.2 程序結構圖系統登錄訂房實現入住登記退房結算信息查詢

9、客房信息初始化9/41四.邏輯設計4.1.開發環境軟件:visual c+ 6. 0硬件:hp probook 4321s五.程序調試5.1程序登陸i請輸入用戶名和密科以空格隔開):000 666666歡迎使用賓館客房管理系統?5. 2訂房41 / 41退房還是查詢? 4-查詢:1-、3 詈 - xx 別/的類2-容 務顧 朋屋八止輸-/您an份16的 身021間元元元00的20房5000客22定g序貞 1 s?電9刃/ /入19擇同套 輸01選ai人尚統 您29你心隼雙杏心請 1 請5e請34請1,2,3,4,301 元3:0勺89 1 tfl , ,號為間s-夬后用助轄成 房定 6住預5.

10、 3入住請選擇服務類別;訂房、入住、退房還是查詢?定房2-a住3-退房4-查詢:2該顧客n房了嗎?1-訂t 2-淑訂11請輸x顧客的姓名:sean請輸入頑客的身份證號9342901199122200216顧郡府今天入住本賓館?房間號羽為:3015. 4退房請選擇服務類即訂原入住、退房還是查詢? 1-淀房2-入住3-退房4-5查詢:2該顧備訂房t嗎?1-訂了 2-沒訂)1|請輸其顧客的姓名sean請輸入顧客的身冷證號成34290119912220b216顧名sean今天入住本賓館?房間號碼為:301繼續使用本系統請按丁,退出請按“2” 1請選擇服務類別:訂房、入住、退店還是查詢? 一定房2-人住

11、3-退房4-5查詢:3請輸入要退房的顧客姓名和身份證號碼:sean 342901199122290216請輸入該顧客實在天數:5退房核算清楚,請按i: i5. 5信息查詢請選擇服務類即訂房、入住、退房還是查郵 1-定房2-人住3-退房4。查詢4 房間信息查詢清按l顧客信息查洵請按2,2按姓名查詢請卻按身份證查詢清按2:請輸入顧客的姓名:seansean的住房信息如下:問號為:301預林信費為:0繼續使用本系統請按”廿,退出請技“2”! 1請選擇服務類刖由房、入住、退帚還是查價 1-定居2-a住3-退房4-查詢:4 房間信息查詢看按1,顧客信息查洵請按2:2按姓名查詢請缸 按身份證查詢清按2:2

12、請輸入顧客的身份證;3429011991222002164377680的住底信息如下:房間段為:301預行信費為:0六.程序代碼ttinclude #includef fi i i wx .1, .1” .1i wx ,g i i “ !*%tztwvoid initial_room(); 初始化80個房間信息void welcome ();驗證用戶登陸,登陸成功顯示歡迎信息void enter ();void book_room();void check_in ();void check_out ();void inquire();int i=0;f i.1”wxi&ii wx .1, wx

13、 iit* wx i %lz jx i .11 11 ,rstruct room(int number;int dank;int price;int state;room80;struct customer(char name10;char id19;int room_number;int prepaid;int change;int day;customer80;void createcustomer()(printf (請您輸入顧客的姓名n);scanf (為s,customer i. name);printf (請您輸入顧客的身份證號碼n);scanf(/s, customeri.id)

14、;customeri. prepaid = 0;customeril change = 0;customeri. day=0;)void set_name(char *n, int index)(strcpy(customerindex. name, n);)void set_id(char *p, int index)(strcp7 (customer index. id, p);)void set_room_number(int n, int index)(customerindex. room_number=n;void set_day(int d, int index)(custome

15、rindex. day=d;)void set_prepaid(int p, int index)(customerindex. prepaid=p;)char *get_name(int index)(return customerindex. name;char *get_id(int index)(return customerindex. id;int get_room_number(int index)return customerindex. room_number;int get_day(int index)(return customerindex, day;int get_p

16、repaid(int index)return customerindex. prepaid;f 1wx ii* i wx i i wx iii wx ii“ ,”void main ()程序入口從這里開始運行int choice=l;initial_room();初始化80個房間的信息,分四個等級welcome ();驗證用戶登陸,登陸成功顯示歡迎信息while (choice=l)entero ;根據用戶的選擇執行不同的功能getchar ();printf (n繼續使用本系統請按 1,退出請按2! );scanf(/d, &choice);printf cn);)系統登陸界面&i*kw“

17、1“ i s, ; * - * .void welcome 0 驗證用戶登陸,登陸成功顯示歡迎信息(char name4, code7;printf (請輸入用戶名和密碼(以空格隔開):n);scanf (,z%s%s,z, name, code);while(strcmp(name,,000,/) !=0) | (strcmp(code, ”666666) !=0)(printf (用戶名或密碼輸入有誤,請重新輸入! n);scanf (,%s%s,/, name, code);printf(nn);printf (*n);printf (歡迎使用賓館客房管理系統! n);printf (*

18、nn);)系統入口&i*kw .1kix ;、 -1 * ,l,. ,. .void enter ()(int kind_of_service;printf (請選擇服務類別:訂房、入住、退房還是查詢? n);printf ( 1-定房2-入住3-退房4-查詢:);scanf (ad,&kind_of_service);if(kind_of_service4) (kind_of_servicel)(printf (您的輸入有誤,請重試!n);scanf(%d, &kind_of_service);elseswitch(kind_of_service)(case 1: book_room ();

19、break;case 2: check_in ();break;case 3: check_out();break;case 4: inquire();break;)訂房實現&i*kw 1, ,” wx*t * ,void book_room()(createcustomer();int room_standard, day;printf (請您選擇預定房間的標準:n);printf (:1.單人間/天150元n2.雙人間/天200元n3.標準間/天300元n4.總統套房/天600元n);scanf(%d, &room_standard);printf (請輸入預定天數n);scanf(%d,

20、 &day);set_day(day, i);switch(room-standard)(int n;case 1:printf (住房費用總共為:%d元n,day*150);計算住房費用for (n=0; n20; n+)從第一個級別的房間中查找一個空閑的房間(if (roomn. state=0)state=0 表不該住房沒有被預定的(printf (預定成功房間號碼為:%dn”, roomn. number);room.n. state=l;set_room_number(roomtn. number, i);break;)break;case 2:printf (住房費用總共為:%d元

21、n,day*200);for (n=20;n40;n+)(if (roomtn. stateo)(printf (預定成功房間號碼為:/dn,roomn. number);roompn. state=l;set_room_number(roomn. number, i);break;)break;case 3:printf (住房費用總共為:%d元n,day*300);for (n=40;n60;n+)if (roomn. stateo)printf (預定成功房間號碼為:%dn,z, roomn. number);roomln. state=l;set_room_number(roomn.

22、number, i);break;)break;case 4:printf (住房費用總共為:%d元n,day*600);for(n=60;n i 1%fx 0x* %x %tz%tx x%fx *t.7x、i %l wx 1”.上case 1: t* * / tvoid check_in ()(char namel10, idl19;int ding_or_no, prepaid;printf(該顧客訂房了嗎?(1-訂了 2-沒訂);scanf (為d”, &ding_or_no);if(ding_or_no=l)(printf (請輸入顧客的姓名:n);scanf(為s, namel);p

23、rintf (請輸入顧客的身份證號碼:n);scanf(為s,idl);for(int j=o;j=i;j+)if (strcmp (get_name (j), namel)=二0) & (strcmp (get_id (j), idl) =0)查找該顧客的定房信息(int num=get_room_number(j); 取得定房的房間號printf (顧客%s今天入住本賓館!房間號碼為:/dn,namel, num);switch(num/100)(case 6:prepaid=get_day(j)*150;set-prepaid(prepaid, j);printf (請收房費%d元整!n

24、, prepaid); 開始收費roomnum%l00-l. state=2;修改房間狀態為入住狀態break;case 7:prepaid=get_day(j)*200;set_prepaid(prepaid, j);printf (請收房費先d 元整!n,prepaid);room19+num%100. state=2;break;case 8:prepaid=get_day(j)*300;set_prepaid(prepaid, j);printf (”請收房費為d 元整! n,prepaid);room39+num%100. state=2;break;case 9:prepaid=g

25、et_day(j)*600;set_prepaid(prepaid, j);printf (”請收房費為d 元整!n,prepaid);room59+num%100. state=2;break;)break;)elsecreatecustomer();int room_standard, day;printf (請您選擇預定房間的標準:n);printf (1.單人間/天150元n2.雙人間/天200元n3.標準間/天300 元n4.總統套房/天600元n);scanf(/d, feroom-standard);printf (請輸入住宿天數n);scanf (/d,&day);set_da

26、y(day, i);switch(room_standard)(int n;case 1:prepaid=day*150;set_prepaid(prepaid, i);printf (請收房費先d 元整! n,prepaid);for (n=0;n20;n+)(if (roomn. state=0)(printf (入住房間號碼為:%dn,room ln. number);roomn. state=2;set-room_number(roomn. number, i);break;)break;case 2:prepaid=day*200;set_prepaid(prepaid, i);pr

27、intf (請收房費 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;case 3:prepaid=day*300;set-prepaid(prepaid, i);printf (請收房費%d 元整! n, prepaid);for (n=40;n60;n+)(if (roomn. state=0)(printf (入住房間號碼為:%d

28、n,, roomn. number);roomn. state=2;set_room_number(roomn. number, i);break;)break;case 4:prepaid=day*600;set_prepaid(prepaid, i);printf (請收房費先d 元整! n,prepaid);for(n=60;ni i s,.1 kx jx 1“ i %ax*t* * .void check_out ()(char name210, id219;int standard, j, room_number, dayl, day2, day;printf (請輸入要退房的顧客姓

29、名和身份證號碼:n);scanf (,%s%s,/, name2, id2);printf (請輸入該顧客實住天數: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)printf (請退給該顧客%d元整! n,day*600);if (day0)printf (請補收該顧客住房費%d元整! n”, -day*600);break;printf (n

30、退房核算清楚,請按1: );int account;scanf(%d, &account);if (account=l)(for (int k=0;k&i*%tz llkw%tzr1 %t, ,” wx*t * , * t、void inquire()(int inquire_choice;printf (房間信息查詢請按1,顧客信息查詢請按2: n);scanf (ad,&inquire_choice);if (inquire-choicel)(int j,k=o;printf(n下列房間還沒人預訂,也沒人入住:n);for(j=0;j80;j+)if(roomj. state=o)if (

31、k%10=0) printf(n);printfroomj. number);k+;)k=0;printf (nn下列房間已預訂:);for(j=0;j80;j+)if (roomj. state=l)(if (k%10=0) printf (n);printfroom j. number);k+;)k=0;printf cznn下列房間有人入住:n);for(j=0;j80;j+)if (roomj. state-2)if(k%10=0) printf(n);printfroomj. number);k+;)printf (nn);)else if (inquire_choice=2)(ge

32、tchar ();printf (按姓名查詢請按1,按身份證查詢請按2: n);int inquire_choice;scanf(/d, &inquire_choice);if (inquire-choicel)(char name310;printf(請輸入顧客的姓名:n);scanf(/s, name3);for (int j=0;j=i;j+)if (strcmp (get_name (j), name3) =0)printf (%s 的住房信息如下:n,name3);printf (t 房間號為:/dn”, get_room_number (j);printf (t 預付房費為:%dn

33、z,, get_prepaid(j);)if(inquire_choice=2)(char id310;printf(請輸入顧客的身份證:n);scanf (“%s, id3);for(int j=0;j i11 -i“ ” “ 1 1“ i i1*“ ,“,* %fx %f xtvoid initial_room() 對80個房間進行初始化,分4個等級 (int j,k=101;for(j=0;j20;j+)(roomj. number=k+;roomj. dank=l;roomj. price=150;roomj. state=0;)k=201;for(j=20;j40;j+)(roomj. number=k+;roomj. dank=2;roomj. price=200;roomj. state=o;k=301;for(j=40;j60;j+)(roomj.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論