C語(yǔ)言 賓館客房管理系統(tǒng)!_第1頁(yè)
C語(yǔ)言 賓館客房管理系統(tǒng)!_第2頁(yè)
C語(yǔ)言 賓館客房管理系統(tǒng)!_第3頁(yè)
C語(yǔ)言 賓館客房管理系統(tǒng)!_第4頁(yè)
C語(yǔ)言 賓館客房管理系統(tǒng)!_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、C語(yǔ)言 賓館客房管理系統(tǒng)!? 賓館客房管理系統(tǒng) 賓館的客房銷售是賓館的主要利潤(rùn)來(lái)源。要求針對(duì)客房的屬性,如房號(hào)、房?jī)r(jià)(只要分為三個(gè)檔次價(jià)格即可)、入住情況、維護(hù)狀況進(jìn)行分析編程,要求實(shí)現(xiàn)假設(shè)干功能,如:能夠隨時(shí)地通過程序查看每間客房的狀態(tài),查訊各種價(jià)位的空房數(shù)量和具體房號(hào)、查訊各種價(jià)位客房的入住數(shù)量和房號(hào),當(dāng)前正在維修的所有客房房號(hào),隨時(shí)統(tǒng)計(jì)當(dāng)月的銷售總收入,在文件中記錄每個(gè)房間入住和退房情況及單價(jià)、毛利收入,根據(jù)上個(gè)月的文件記錄,次月可以統(tǒng)計(jì)上個(gè)月的銷售總收入等等。該管理系統(tǒng)運(yùn)行時(shí)是一個(gè)循環(huán)式的菜單項(xiàng)選擇項(xiàng),能依據(jù)選項(xiàng)選擇各種功能。并能依據(jù)需求,將結(jié)果打印在屏幕或打印到文件中。 #inclu

2、de #include #include /*void initial_room(); /初始化80個(gè)房間信息void welcome(); /驗(yàn)證用戶登陸,登陸成功顯示歡送信息void enter();void book_room();void check_in();void check_out();void inquire();int i=0;/*struct Room int number; int dank; int price; int state; ;struct Customer char name10,ID19; int room_number; int prepaid; in

3、t change; int day;void set_name(struct Customer *cs, char *n) strcpy(cs-name,n);void set_ID(struct Customer *cs, char *p) strcpy(cs-ID,p);void set_room_number(struct Customer *cs, int n) cs-room_number=n;void set_day(struct Customer *cs, int d) cs-day=d;void set_prepaid(struct Customer *cs, int p) c

4、s-prepaid=p;char *get_name(struct Customer *cs) return cs-name;char *get_ID(struct Customer *cs) return cs-ID;int get_room_number(struct Customer *cs) return cs-room_number;int get_day(struct Customer *cs) return cs-day;int get_prepaid(struct Customer *cs) return cs-prepaid;/*struct Room room80;stru

5、ct Customer *customer80;void CCustomer(struct Customer *cs) printf(請(qǐng)您輸入顧客的姓名n); scanf(%s,&cs-name); printf(請(qǐng)您輸入顧客的身份證號(hào)碼n); scanf(%s,&cs-ID); cs-prepaid = cs-change = cs-day = 0;void FCustomer() printf(該顧客退房成功!);int main(void) /程序入口從這里開始運(yùn)行 char choice=1; initial_room(); /初始化80個(gè)房間的信息,分四個(gè)等級(jí) welcome();

6、/驗(yàn)證用戶登陸,登陸成功顯示歡送信息 while(choice=1) enter(); /根據(jù)用戶的選擇執(zhí)行不同的功能 printf(n); printf(繼續(xù)使用本系統(tǒng)請(qǐng)按1,退出請(qǐng)按2! ); fflush(stdin); scanf(%c,&choice); printf(n); return 0;/系統(tǒng)登陸界面*void welcome() /驗(yàn)證用戶登陸,登陸成功顯示歡送信息 char name4,code7; printf(請(qǐng)輸入用戶名和密碼(以空格隔開):n); scanf(%s%s,&name,&code); while(strcmp(name,000)!=0)|(strcmp

7、(code,666666)!=0) printf(用戶名或密碼輸入有誤,請(qǐng)重新輸入!n); scanf(%s%s,&name,&code); printf(n); printf(n); printf( *n); printf( 歡送使用賓館客房管理系統(tǒng)! n); printf( *n); printf(n);/系統(tǒng)入口*void enter() int kind_of_service; printf(請(qǐng)選擇效勞類別:訂房、入住、退房還是查詢? n); printf( 1-定房 2-入住 3-退房 4-查詢: ); scanf(%d,&kind_of_service); if(kind_of_s

8、ervice4) | (kind_of_service1) printf(您的輸入有誤,請(qǐng)重試!n); scanf(%d,&kind_of_service); else switch(kind_of_service) case 1: book_room(); break; case 2: check_in(); break; case 3: check_out(); break; case 4: inquire(); break; /訂房實(shí)現(xiàn)*void book_room() int room_standard,day; customeri = (struct Customer*)malloc

9、(sizeof(struct Customer); CCustomer(customeri); printf(請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn):n); printf(1.單人間/天150元n2.雙人間/天200元n3.標(biāo)準(zhǔn)間/天300元n4.總統(tǒng)套房/天600元n); scanf(%d,&room_standard); printf(請(qǐng)輸入預(yù)定天數(shù)n); scanf(%d,&day); set_day(customeri,day); switch(room_standard) int n; case 1: printf(住房費(fèi)用總共為: %d 元n,day*150); /計(jì)算住房費(fèi)用 for(n=0;n

10、20;n+) /從第一個(gè)級(jí)別的房間中查找一個(gè)空閑的房間 if(roomn.state=0) /state=0表示該住房沒有被預(yù)定的 printf(預(yù)定成功房間號(hào)碼為: %dn,roomn.number); roomn.state=1; set_room_number(customeri,roomn.number); break; break; case 2: printf(住房費(fèi)用總共為: %d 元n,day*200); for(n=20;n40;n+) if(roomn.state=0) printf(預(yù)定成功房間號(hào)碼為: %dn,roomn.number); roomn.state=1;

11、set_room_number(customeri,roomn.number); break; break; case 3: printf(住房費(fèi)用總共為: %d 元n,day*300); for(n=40;n60;n+) if(roomn.state=0) printf(預(yù)定成功房間號(hào)碼為: %dn,roomn.number); roomn.state=1; set_room_number(customeri,roomn.number); break; break; case 4: printf(住房費(fèi)用總共為: %d 元n,day*600); for(n=60;n訂了 2-沒訂) ); s

12、canf(%d,&ding_or_no); if(ding_or_no=1) printf(請(qǐng)輸入顧客的姓名:n); scanf(%s,&name1); printf(請(qǐng)輸入顧客的身份證號(hào)碼:n); scanf(%s,&id1); for(j=0;ji;j+) if(strcmp(get_name(customerj),name1)=0)&(strcmp(get_ID(customerj),id1)=0) /查找該顧客的定房信息 int num=get_room_number(customerj); /取得定房的房間號(hào) printf(顧客 %s 今天入住本賓館! 房間號(hào)碼為: %dn,name

13、1,num); switch(num/100) case 6: prepaid=get_day(customerj)*150; set_prepaid(customerj,prepaid); printf(請(qǐng)收房費(fèi) %d元整!n,prepaid); /開始收費(fèi) roomnum%100-1.state=2; /修改房間狀態(tài)為入住狀態(tài) break; case 7: prepaid=get_day(customerj)*200; set_prepaid(customerj,prepaid); printf(請(qǐng)收房費(fèi) %d元整!n,prepaid); room19+num%100.state=2; b

14、reak; case 8: prepaid=get_day(customerj)*300; set_prepaid(customerj,prepaid); printf(請(qǐng)收房費(fèi) %d元整!n,prepaid); room39+num%100.state=2; break; case 9: prepaid=get_day(customerj)*600; set_prepaid(customerj,prepaid); printf(請(qǐng)收房費(fèi) %d元整!n,prepaid); room59+num%100.state=2; break; break; else int room_standard,

15、day; customeri = (struct Customer*)malloc(sizeof(struct Customer); CCustomer(customeri); printf(請(qǐng)您選擇預(yù)定房間的標(biāo)準(zhǔn):n); printf(1.單人間/天150元n2.雙人間/天200元n3.標(biāo)準(zhǔn)間/天300元n4.總統(tǒng)套房/天600元n); scanf(%d,&room_standard); printf(請(qǐng)輸入住宿天數(shù)n); scanf(%d,&day); set_day(customeri,day); switch(room_standard) int n; case 1: prepaid=

16、day*150; set_prepaid(customeri,prepaid); printf(請(qǐng)收房費(fèi) %d元整!n,prepaid); for(n=0;n20;n+) if(roomn.state=0) printf(入住房間號(hào)碼為: %dn,roomn.number); roomn.state=2; set_room_number(customeri,roomn.number); break; break; case 2: prepaid=day*200; set_prepaid(customeri,prepaid); printf(請(qǐng)收房費(fèi) %d元整!n,prepaid); for(n

17、=20;n40;n+) if(roomn.state=0) printf(入住房間號(hào)碼為: %dn,roomn.number); roomn.state=2; set_room_number(customeri,roomn.number); break; break; case 3: prepaid=day*300; set_prepaid(customeri,prepaid); printf(請(qǐng)收房費(fèi) %d元整!n,prepaid); for(n=40;n60;n+) if(roomn.state=0) printf(入住房間號(hào)碼為: %dn,roomn.number); roomn.sta

18、te=2; set_room_number(customeri,roomn.number); break; break; case 4: prepaid=day*600; set_prepaid(customeri,prepaid); printf(請(qǐng)收房費(fèi) %d元整!n,prepaid); for(n=60;n80;n+) if(roomn.state=0) printf(入住房間號(hào)碼為: %dn,roomn.number); roomn.state=2; set_room_number(customeri,roomn.number); break; break; i+; /退房結(jié)算*voi

19、d check_out() char name210,id219; int standard,j,room_number,day1,day2,day; printf(請(qǐng)輸入要退房的顧客姓名和身份證號(hào)碼:n); scanf(%s%s,&name2,&id2); printf(請(qǐng)輸入該顧客實(shí)住天數(shù):n); scanf(%d,&day2); for(j=0;j0) printf(請(qǐng)退給該顧客 %d 元整!n,day*150); if(day0) printf(請(qǐng)退給該顧客 %d 元整!n,day*200); if(day0) printf(請(qǐng)退給該顧客 %d 元整!n,day*300); if(da

20、y0) printf(請(qǐng)退給該顧客 %d 元整!n,day*600); if(day0) printf(請(qǐng)補(bǔ)收該顧客住房費(fèi) %d 元整!n,-day*600); break; printf(n); printf(退房核算清楚,請(qǐng)按1: ); fflush(stdin); scanf(%c,&account); if(account=1) int k; for(k=0;k80;k+) if(roomk.number=get_room_number(customerj) roomk.state=0; i-; for(;ji;j+) customerj=customerj+1; free(custo

21、meri); FCustomer(); /信息查詢*void inquire() char inquire_choice; printf(房間信息查詢請(qǐng)按1, 顧客信息查詢請(qǐng)按2: ); fflush(stdin); scanf(%c,&inquire_choice); if(inquire_choice=1) int j,k=0; printf(n); printf(以下房間還沒人預(yù)訂,也沒人入?。簄); for(j=0;j80;j+) if(roomj.state=0) if(k%10=0) printf(n); printf(%dt,roomj.number); k+; printf(n

22、); printf(n); k=0; printf(以下房間已預(yù)訂:n); for(j=0;j80;j+) if(roomj.state=1) if(k%10=0) printf(n); printf(%dt,roomj.number); k+; k=0; printf(n); printf(n); printf(以下房間有人入?。簄); for(j=0;j80;j+) if(roomj.state=2) if(k%10=0) printf(n); printf(%dt,roomj.number); k+; printf(n); printf(n); else if(inquire_choic

23、e=2) char inquire_choice; int j; printf(按姓名查詢請(qǐng)按1, 按身份證查詢請(qǐng)按2: n); fflush(stdin); scanf(%c,&inquire_choice); if(inquire_choice=1) char name310; printf(請(qǐng)輸入顧客的姓名: n); scanf(%s,&name3); for(j=0;ji;j+) if(strcmp(get_name(customerj),name3)=0) printf(%s的住房信息如下:n,name3); printf(t房間號(hào)為: %dn,get_room_number(customerj); printf(t預(yù)付房

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論