版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、程序設(shè)計課程設(shè)計說明書課程名稱 程序設(shè)計設(shè)計題目 酒店房間登記與計費管理系統(tǒng)設(shè)計專業(yè)班級學(xué)生姓名指導(dǎo)教師起止日期 2013年 6月 8日至 2013年 6 月 14日福建林業(yè)職業(yè)技術(shù)學(xué)院自動化工程系摘 要 目錄錯誤 !未定義書簽。1 軟件需求分析說明書 31.1 登記入住系統(tǒng) 31.2 客房狀態(tài)查詢 31.3 住戶信息查詢 31.4 結(jié)賬退房系統(tǒng) 32 系統(tǒng)分析與設(shè)計 42.1 軟件界面設(shè)計 42.2 軟件的數(shù)據(jù)(結(jié)構(gòu))設(shè)計 82.3 軟件的算法設(shè)計 92.3.1 軟件模塊圖 92.3.2 程序流程圖 93 軟件的實現(xiàn) 123.1 使用的結(jié)構(gòu)數(shù)組及函數(shù)的定義 123.2 登記入住模塊 123.
2、3 查詢房間模塊 153.4 查詢房客模塊 164 軟件測試 215 軟件使用說明書 221 軟件需求分析說明書1.1 登記入住系統(tǒng)登記并記錄顧客姓名 登記并記錄顧客的證件類型及號碼 顯示現(xiàn)有空置房間 選擇所需要的房間并更改房間狀態(tài)信息 計算并記錄住房費及押金 由于本軟件針對操作員設(shè)計,所以界面應(yīng)盡可能簡單明了。住房及顧客信息由 于涉及多種類型的數(shù)據(jù),因此應(yīng)用結(jié)構(gòu)數(shù)組處理。用文件記錄相關(guān)數(shù)據(jù)。1.2 客房狀態(tài)查詢 分別顯示已入住客房與空置客房 讀取住房信息文件的內(nèi)容并判斷分類,借此可以清晰明了的顯示客房狀態(tài)。1.3 住戶信息查詢查詢顧客所租房房號 查詢顧客住房費用 顧客可以通過輸入自己的姓名來
3、查詢個人的住房信息。1.4 結(jié)賬退房系統(tǒng)退房更新所退房間狀態(tài)刪除退房用戶記錄顯示賬單 顧客可以輸入姓名來完成退房操作,房間狀態(tài)將更改為未入住。系統(tǒng)將刪除該 用戶信息記錄并讀取生成賬單。2 系統(tǒng)分析與設(shè)計2.1 軟件界面設(shè)計 運行程序后進入主界面,可以進行登記入住、查詢房間、查詢顧客、退出程序 等幾項操作:圖 2.1.1選擇“1. 登記入住”進入登記入住界面:圖 2.1.2輸入相關(guān)信息,之后選擇計費類型:圖 2.1.3選擇“1. 按天入住”按天數(shù)計費,會顯示目前空置的房間。輸入所選房間已進行下一步操作:圖 2.1.4如選擇“ 2.按小時入住”則按小時計費,操作同理之后會進入下一界面并提示登記成功
4、圖 2.1.6如在主界面選擇“ 2. 查詢房間的入住情況”則會進入查詢房間狀況界面,程序 將分別依次顯示已入住的房間和空置房間。如在主界面選擇“ 3. 查詢當(dāng)前費用”則會進入用戶查詢界面,輸入顧客姓名即 可進行查詢圖 2.1.8程序會顯示該客人的相關(guān)信息圖 2.1.9如在主界面選擇“ 4. 結(jié)賬退房”則會進入用戶退房界面,輸入顧客姓名即可進 行退房操作輸入成功后會顯示退房成功。圖 2.1.11在主界面選擇“ 5. 退出程序”會進入退出界面圖 軟件的數(shù)據(jù)(結(jié)構(gòu))設(shè)計本軟件運用了 C 語言文件的讀取與寫入功能,各文件的作用如下:count.txt :用于存儲房客數(shù)量,內(nèi)部存儲一
5、個 int* 數(shù)據(jù)。room.txt :用于存儲房間信息,內(nèi)部依次存儲:房間狀態(tài) char* (1 位) 房間號 char* (4 位) 房間類型 char* ( 1 位)房間描述 char* (6 位) 房間日租金 int* 房間月租金 int* 。customer.txt :用于存儲房客信息,內(nèi)部依次存儲:姓名 char* 證件類型 char* 證件號碼 int* 房間號 char* ( 4 位) 房租 int* 押金 int*2.3 軟件的算法設(shè)計2.3.1 軟件模塊圖酒店房間管理系統(tǒng)登記入住模塊客房查詢模塊顧客查詢模塊結(jié)賬退房模塊2.3.2 程序流程圖客房查詢模塊:2顯示結(jié)賬退房模塊:
6、顧客信 息文件讀 取 信 刪除對應(yīng)信息 息輸出并顯示賬單3 軟件的實現(xiàn)3.1 使用的結(jié)構(gòu)數(shù)組及函數(shù)的定義 結(jié)構(gòu)體定義: typedef struct room /客房信息char FID5;/ 房間號char type2;/ 客房類型char describe7;/ 該客房類型的描述int cost_d;/ 日收費int cost_h;/ 時收費 char statu2; / 入住情況 room;typedef struct customer /入住記錄char FID5; / 房間號char name20;/ 名字char type14;/ 證件類型int ID;/ 證件號int pay;/
7、房費int cp; / 押金customer; 函數(shù)定義: void rent(room *p);/ 登記入住模塊 void search_room(room *p);/ 客房查詢模塊 void search_customer(room *p, int l);/費用查詢模塊void pay(room *p, int l);/結(jié)賬模塊3.2 登記入住模塊 源文件: void rent(room *p) int i,count,n,m=2;struct room rmmax=0;/ 定義結(jié)構(gòu)數(shù)組struct customer cs;char search2='Y',stu2=
8、9;N',dill5=0;FILE *fpin,*fpout; fpout=fopen("customer.txt","a"); assert(fpout != NULL); printf(" 請輸入姓名: "); scanf("%s",&); fprintf(fpout,"%s ",); printf(" 請?zhí)钊胱C件類型: "); scanf("%s",&cs.type); fprintf(fpout,
9、"%s ",cs.type); printf(" 請輸入證件號碼: "); scanf("%d",&cs.ID); fprintf(fpout,"%d ",cs.ID); printf(" 請選擇入住方式: n1. 按天入住 n2. 按小時入住 n"); scanf("%d",&count);fpin = fopen("room.txt","r+"); assert(fpin != NULL); printf("
10、; 以下是現(xiàn)有的空房 n");for(i=0;i<max;i+) /對結(jié)構(gòu)數(shù)組賦值, 錄入房間信息fscanf(fpin,"%s ",rmi.statu); fscanf(fpin,"%s ",rmi.FID);fscanf(fpin,"%s ",rmi.type); fscanf(fpin,"%s ",rmi.describe); fscanf(fpin,"%d ",&rmi.cost_d); fscanf(fpin,"%d ",&rmi.c
11、ost_h); fclose(fpin);for(i=0;i<max;i+) if(strcmp(search,rmi.statu)=0)printf("%s 號 %s 型 %s 日 收 費 : %d 時 收 費:%dn",rmi.FID,rmi.type,rmi.describe,rmi.cost_d,rmi.cost_h);printf(" 請輸入要入住的房屋 "); scanf("%s",&dill);for(i=0;i<max;i+)if(strcmp(dill,rmi.FID)=0)/ 所選房間號與房間數(shù)
12、據(jù)對比strcpy(rmi.statu,stu); / 更改數(shù)組中的房間狀態(tài) fprintf(fpout,"%s ",rmi.FID);if(count=1) printf(" 請選擇天數(shù): "); scanf("%d",&n);fprintf(fpout,"%d ",rmi.cost_d*n); fprintf(fpout,"%d ",rmi.cost_d*n*m);system("cls");printf("004已成功登記房間 !n");pr
13、intf("004您的房號為: %sn",rmi.FID);printf("004 請 支 付 %d 元 的 房 費 以 及 押 金 %d 元 。 n",rmi.cost_d*n,rmi.cost_d*n*m);elseprintf(" 請選擇小時數(shù): "); scanf("%d",&n);fprintf(fpout,"%d ",rmi.cost_h*n); fprintf(fpout,"%d ",rmi.cost_h*n*m);已成功登記房間 !n");s
14、ystem("cls"); printf("004printf("004 您的房號為: %sn",rmi.FID); printf("004請支付 %d元的房費以及押金 %d元n",rmi.cost_h*n,rmi.cost_h*n*m);將更改錄入文件fpin=fopen("room.txt","w");for(i=0;i<max;i+) / fprintf(fpin,"%s ",rmi.statu); fprintf(fpin,"%s "
15、;,rmi.FID);fprintf(fpin,"%s ",rmi.type); fprintf(fpin,"%s ",rmi.describe); fprintf(fpin,"%d ",rmi.cost_d); fprintf(fpin,"%dn",rmi.cost_h);fclose(fpout);fclose(fpin);3.3 查詢房間模塊void search_room(room *p)int i,h,k;struct room rmmax=0;char search2='Y'FILE *
16、fpin;fpin = fopen("room.txt","r"); assert(fpin != NULL);fscanf(fpin,"%s ",rmi.statu); fscanf(fpin,"%s ",rmi.FID); fscanf(fpin,"%s ",rmi.type);fscanf(fpin,"%s ",&rmi.describe); fscanf(fpin,"%d ",&rmi.cost_d); fscanf(fpin,&q
17、uot;%d ",&rmi.cost_h);printf(" 目前的空置房間有: n");/ 查詢空客房 for(h=0;h<max;h+) / 顯示結(jié)果if(strcmp(search,rmh.statu)=0) printf("%s號 %s 型房間 n",rmh.FID,rmh.type);printf(" 有顧客入住的房間: n");/ 查詢滿客房 for(k=0;k<max;k+) / 顯示結(jié)果 if(strcmp(search,rmk.statu)!=0)printf("%s號 %s
18、型房間 n",rmk.FID,rmk.type);fclose(fpin);3.4 查詢房客模塊void search_customer(room *p,int l)/ 參數(shù) l 的值 即為主函數(shù)所讀取的客人數(shù) 量char name20; int a;int i;struct customer cs20=0;FILE *fpin,*fp1;printf(" 請輸入要查詢的用戶姓名: ");scanf("%s",&name);fpin=fopen("customer.txt","r");assert
19、(fpin != NULL);fp1=fopen("count.txt","r");assert(fp1 != NULL);for(i=0;i<l;i+) / 讀取顧客數(shù)據(jù) fscanf(fpin,"%s ",&);fscanf(fpin,"%s ",&csi.type);fscanf(fpin,"%d ",&csi.ID);fscanf(fpin,"%s ",&csi.FID);fscanf(fpin,"%d&
20、quot;,&csi.pay);fscanf(fpin,"%d",&csi.cp);for(a=0;a<l;a+)比較與所輸入字符串與是否一致if(strcmp(name,)=0) / printf("%s ",); printf("%s ",csa.type); printf("%d ",csa.ID); printf("%s ",csa.FID); printf("%d ",csa.pay); printf("
21、;%dn",csa.cp);fclose(fpin);fclose(fp1);3.5 結(jié)賬退房模塊void pay(room *p, int l)int i,j;char name20;char FID5;char stu2='Y'struct room rmmax=0;struct customer cs20=0;FILE *fp1,*fp2;printf(" 請輸入客人姓名: "); scanf("%s",&name);fp1=fopen("room.txt","r");ass
22、ert(fp1);fp2=fopen("customer.txt","r"); assert(fp2);for(i=0;i<max;i+)/ 對結(jié)構(gòu)數(shù)組賦值 fscanf(fp1,"%s ",&rmi.statu);fscanf(fp1,"%s ",&rmi.FID);fscanf(fp1,"%s ",&rmi.type); fscanf(fp1,"%s ",&rmi.describe);fscanf(fp1,"%d "
23、;,&rmi.cost_d); fscanf(fp1,"%d ",&rmi.cost_h);fclose(fp1);for(j=0;j<l;j+)fscanf(fp2,"%s ",&);fscanf(fp2,"%s ",&csj.type); fscanf(fp2,"%d ",&csj.ID); fscanf(fp2,"%s ",&csj.FID); fscanf(fp2,"%d",&csj.pay
24、); fscanf(fp2,"%d",&csj.cp);fclose(fp2);for(j=0;j<l;j+)if(strcmp(name, ) = 0) strcpy(FID,csj.FID); for(;j<l-1;j+)為數(shù)組重新賦值以完成刪除操作csj = csj+1;/fp2=fopen("customer.txt","w"); assert(fp2);for(j=0;j<l-1;j+)printf("%s ",);printf("%s
25、",csj.type);printf("%d ",csj.ID);printf("%s ",csj.FID);printf("%d ",csj.pay); printf("%dn",csj.cp); for(j=0;j<l-1;j+)fprintf(fp2,"%s ",);fprintf(fp2,"%s ",csj.type); fprintf(fp2,"%d ",csj.ID); fprintf(fp2,"%s
26、",csj.FID); fprintf(fp2,"%d ",csj.pay); fprintf(fp2,"%dn",csj.cp);fclose(fp2);for(i=0;i<max;i+)if(strcmp(FID, rmi.FID) = 0) strcpy(rmi.statu,stu);打開并清空文件重新錄入全部信息來完成更改 fp1=fopen("room.txt","w"); / assert(fp1);for(i=0;i<max;i+) /fprintf(fp1,"%s &
27、quot;,rmi.statu); fprintf(fp1,"%s ",rmi.FID);fprintf(fp1,"%s ",rmi.type);fprintf(fp1,"%s ",rmi.describe);fprintf(fp1,"%d ",rmi.cost_d); fprintf(fp1,"%dn",rmi.cost_h);fclose(fp1);4 軟件測試void search_room(room *p)/ 住房查詢函數(shù)1、void rent(room *p)/登記入住函數(shù)用例: input: room
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版樓頂高空字牌照明與安全監(jiān)控系統(tǒng)安裝合同4篇
- 2025年度綠色建筑節(jié)能施工合同范本4篇
- 二零二五版美團商家智能配送優(yōu)化協(xié)議4篇
- 二零二五年度內(nèi)部建筑勞務(wù)分包合同風(fēng)險規(guī)避策略4篇
- 2025年度工業(yè)地產(chǎn)廠房租賃管理協(xié)議3篇
- 2025版苗木種植與園林景觀設(shè)計施工一體化服務(wù)合同4篇
- 二零二五年度船舶交易合同模板(新能源動力)4篇
- 二零二五年度電力安全責(zé)任書標(biāo)準(zhǔn)范本3篇
- 2025年度門面房使用權(quán)轉(zhuǎn)讓與經(jīng)營風(fēng)險共擔(dān)協(xié)議4篇
- 二零二五年度船舶修造船員勞務(wù)合同范本(升級版)4篇
- 醫(yī)院三基考核試題(康復(fù)理療科)
- 2024-2030年中國招標(biāo)代理行業(yè)深度分析及發(fā)展前景與發(fā)展戰(zhàn)略研究報告
- 醫(yī)師定期考核 (公共衛(wèi)生)試題庫500題(含答案)
- 基因突變和基因重組(第1課時)高一下學(xué)期生物人教版(2019)必修2
- 內(nèi)科學(xué)(醫(yī)學(xué)高級):風(fēng)濕性疾病試題及答案(強化練習(xí))
- 音樂劇好看智慧樹知到期末考試答案2024年
- 辦公設(shè)備(電腦、一體機、投影機等)采購 投標(biāo)方案(技術(shù)方案)
- 案卷評查培訓(xùn)課件模板
- 2024年江蘇省樣卷五年級數(shù)學(xué)上冊期末試卷及答案
- 人教版初中英語七八九全部單詞(打印版)
- 波浪理論要點圖解完美版
評論
0/150
提交評論