C語(yǔ)言程序設(shè)計(jì)客房管理系統(tǒng)源碼和報(bào)告_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)客房管理系統(tǒng)源碼和報(bào)告_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)客房管理系統(tǒng)源碼和報(bào)告_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)客房管理系統(tǒng)源碼和報(bào)告_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)客房管理系統(tǒng)源碼和報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、« C 語(yǔ)言程序設(shè)計(jì)綜合實(shí)驗(yàn)報(bào)告一、需求分析編寫(xiě)一個(gè)客房管理系統(tǒng),提供鍵盤(pán)式菜單實(shí)現(xiàn)功能選擇,功能包括:用戶(hù)登記、 統(tǒng)計(jì)、查詢(xún)和用戶(hù)信息修改。軟件平臺(tái):CODEBLOCKS二、整體設(shè)計(jì)整個(gè)客房管理系統(tǒng)被設(shè)計(jì)為用戶(hù)登記模塊、統(tǒng)計(jì)模塊、查詢(xún)模塊和修改模塊。數(shù) 據(jù)以TXT格式存儲(chǔ),支持保存信息。三、詳細(xì)設(shè)計(jì)客房管理系統(tǒng)(1)用戶(hù)登記模塊數(shù)組,通過(guò)函數(shù)rea問(wèn)號(hào),判斷是登記信息,把dfile卡讀 否已袤被 數(shù)據(jù)卷入墳txt文件用到用,若占用模重卻room斫選擇Roomi攵組代 追.過(guò)readfi四木用戶(hù)選擇想耍入房問(wèn)號(hào)模若沒(méi)有占savefile 廄etxt用,川示4住的房 俞入加信息到txt

2、塊讀取用戶(hù)輸入的的房間號(hào)調(diào)用savefile函數(shù)存儲(chǔ)登記信息(2)統(tǒng)計(jì)模塊 讀取txt信息到結(jié)構(gòu)體數(shù)組room,提示用戶(hù)選擇統(tǒng)計(jì)方式,設(shè)置計(jì)數(shù)器,順序 遍歷Room©:組,1、計(jì)數(shù)器記錄數(shù)組數(shù),即總客房數(shù)2、判斷每一個(gè)數(shù)組中的結(jié)構(gòu)體的時(shí)間是否和需要查詢(xún)的日期相同,若相同,計(jì) 數(shù)器加一調(diào)用readfile函數(shù),讀取信息選擇統(tǒng)計(jì)方式1、統(tǒng)計(jì)總客房數(shù)(3)查詢(xún)模塊2、按時(shí)間統(tǒng)計(jì)調(diào)用readfile 函數(shù),將信息讀入 通過(guò)基本查找算法查找Roomft組room結(jié)構(gòu)體數(shù)組中,提示用戶(hù)選擇查詢(xún)方式, 可以按房間號(hào)、價(jià)格、房間標(biāo)記、用戶(hù)姓名、0(4)修改模塊調(diào)用readfile 函數(shù),讀取信息到r

3、oom結(jié)構(gòu)體數(shù)組,提示用戶(hù)輸入需要修改的房問(wèn)號(hào),采用基本查找算法在數(shù)組中找到要修改的數(shù)據(jù),提示用戶(hù)重新更改房間信息,最后將結(jié)構(gòu)體數(shù)組重新寫(xiě)入文件保存。調(diào)用readfile (讀取文輸入需要查詢(xún)的房間號(hào)遍歷每一個(gè)結(jié)構(gòu)體 j四、源代碼#include <stdio.h>#include <stdlib.h>#include <string.h>#define M 80/客戶(hù)結(jié)構(gòu)體typedef struct clientchar name12;/姓名int sex;/性別int age;/ 年齡char id20;/身份證號(hào)int year;/入住時(shí)間int m

4、onth;int date;CLIENT;/客房結(jié)構(gòu)體struct Hotelint roomid;int tel;/ 用戶(hù)的話(huà)int price;/ 價(jià)格int sign;/默認(rèn)標(biāo)記為空房間CLIENT client_list;/客戶(hù)信息roomM;void Menu(); / 目錄界面void dengji(struct Hotel room);void savefile(struct Hotel room,int i);int readfile(struct Hotel room);void tongji(struct Hotel room);void chaxun(struct Hot

5、el room);void printmessage(struct Hotel room,int n);void xiugai(struct Hotel room);/主函數(shù)int main()int n;char reply;Menu();doprintf(" 請(qǐng)輸入選項(xiàng)對(duì)應(yīng)的數(shù)字: n");scanf("%d",&n);while(n!=1&&n!=2&&n!=3&&n!=4)printf(" 請(qǐng)輸入各選項(xiàng)對(duì)應(yīng)的數(shù)字! n");scanf("%d",&am

6、p;n);switch (n)case 1:dengji(room);break;case 2:tongji(room);break;case 3:chaxun(room);break;case 4:xiugai(room);break;printf(" 是否還要進(jìn)入其它選項(xiàng)?(回復(fù)Y 或 y 繼續(xù)) n");scanf(" %c",&reply);while (reply='y'|reply='Y');return 0;/系統(tǒng)目錄void Menu()printf("*客房管理系統(tǒng)*n");)

7、;););printf("ttt 1登記n"printf("ttt 2統(tǒng)計(jì)n"printf("ttt 3查詢(xún)n"printf("ttt 4修改 n");printf("*n");/登記客戶(hù)信息 void dengji(struct Hotel room)int x,j,i,flag;char answer;doi=readfile(room);doflag=0;printf(" 輸入您想入住的房間號(hào): (三位數(shù)) n");scanf("%3d",&

8、x);for(j=0;j<i;j+)if(roomj.roomid=x)printf(" 該房間已經(jīng)被占用! n");flag=1;while(flag>0);roomi+1.roomid=x;printf(" 請(qǐng)輸入您的電話(huà):(僅支持六位數(shù)號(hào)碼)n");scanf("%d",&roomi+1.tel);printf(" 入住價(jià)格 n");scanf("%d",&roomi+1.price);printf(" 請(qǐng)輸入您的名字n");scanf(&q

9、uot;%s",roomi+1.client_);printf(" 性別: ( 1 表示女, 0 表示男) n");scanf("%d",&roomi+1.client_list.sex);printf(" 您的年齡: n");scanf("%d",&roomi+1.client_list.age);printf(" 您的 id : n");scanf("%s",roomi+1.client_list.id);printf( &qu

10、ot; 請(qǐng)輸入入住年月日(格式: 2015 11 11) n");scanf("%4d%2d%2d",&roomi+1.client_list.year,&roomi+1.client_list.month,&roomi+1.clien t_list.date);savefile(room,i+1);printf(" 是否還要繼續(xù)登記?(回復(fù)Y 或 y 繼續(xù)) n");scanf(" %c",&answer);while(answer='Y'|answer='y'

11、;);/讀取 txt 中的信息int readfile(struct Hotel room)FILE *fp;int i;if(fp=fopen("room.txt","r")=NULL)printf("Failure to open score.txt!n");exit(0);for (i=0;!feof(fp);i+)fscanf(fp,"%5d",&roomi.roomid);fscanf(fp,"%6d",&roomi.price);fscanf(fp,"%15

12、d",&roomi.tel);fscanf(fp,"%12s",roomi.client_);fscanf(fp,"%4d",&roomi.client_list.sex);fscanf(fp,"%6d",&roomi.client_list.age);fscanf(fp,"%20s",roomi.client_list.id);fscanf(fp,"%7d",&roomi.client_list.year);fscanf(fp,&qu

13、ot;%5d",&roomi.client_list.month);fscanf(fp,"%5d",&roomi.client_list.date);fclose(fp);return i;/保存結(jié)構(gòu)體數(shù)組信息到文件void savefile(struct Hotel room,int i)FILE *fp;if(fp = fopen("room.txt","a")=NULL)printf("Failure to open score.txt!n");exit(0);fprintf(fp,

14、"%5d%6d%15d%12s%4d%6d%20s%7d%5d%5d",roomi.roomid,roomi.price,roomi.tel,roomi.client_,roomi.client_list.sex,roomi.client_list.age,roomi.client_list.id,roomi.client_list.year,roomi.client_list.month,roomi.client_list.date);fclose(fp);/統(tǒng)計(jì)模塊void tongji(struct Hotel room)int n,x;int ye

15、ar,month,day,j,count=0;x=readfile(room);printf(" 請(qǐng)選擇統(tǒng)計(jì)方式: 1統(tǒng)計(jì)房客數(shù),2統(tǒng)計(jì)某一天的房客數(shù)n");scanf("%d",&n);switch (n)case 1:printf(" 客房總數(shù)為: %dn",x);break;case 2:printf(" 請(qǐng)輸入具體時(shí)間: n");scanf("%d%d%d",&year,&month,&day);for(j=0;j<x;j+)if(roomj.cli

16、ent_list.year=year&&roomj.client_list.month=month&&roomj.client_list.date =day)count+;printf("%d 年 %d 月 %d 號(hào)的房客數(shù)為 %d",year,month,day,count);/查詢(xún)模塊void chaxun(struct Hotel room)int n,x,roomid,price,j;char name12,id20;x=readfile(room);printf(" 按房間號(hào)查詢(xún)請(qǐng)按1 ;按價(jià)格查詢(xún)請(qǐng)按2;按用戶(hù)姓名查詢(xún)請(qǐng)

17、按3;按身份證號(hào)碼查詢(xún)請(qǐng)按4n");scanf("%d",&n);switch(n)case 1:printf(" 請(qǐng)輸入房間號(hào): n");scanf("%d",&roomid);for(j=0;j<x;j+)if(roomj.roomid=roomid)print(room,j);break;case 2:printf(" 請(qǐng)輸入價(jià)格: n");scanf("%d",&price);for(j=0;j<x;j+)if(roomj.price=pri

18、ce)print(room,j);break;case 3:printf(" 請(qǐng)輸入客戶(hù)姓名: n");scanf("%s",name);for(j=0;j<x;j+)if(strcmp(roomj.client_,name)=0)print(room,j);break;case 4:printf(" 請(qǐng)輸入身份證號(hào)碼: n");scanf("%s",id);for(j=0;j<x;j+)if(strcmp(roomj.client_list.id,id)=0)print(room,j

19、);/打印void print(struct Hotel room,int j)printf("%5d%6d%15d%12s%4d%6d%20s%7d%5d%5dn",roomj.roomid,roomj.price,roomj.tel,roomj.client_,roomj.client_list.sex,roomj.client_list.age,roomj.client_list.id,roomj.client_list.year, roomj.client_list.month, roomj.client_list.date);void print

20、message(struct Hotel room,int n)int j;for(j=0;j<n;j+)printf("%5d%6d%15d%12s%4d%6d%20s%7d%5d%5dn",roomj.roomid,roomj.price,roomj.tel,roomj.client_, roomj.client_list.sex, roomj.client_list.age, roomj.client_list.id, roomj.client_list.year, roomj.client_list.month, roomj.client_l

21、ist.date);/修改模塊void xiugai(struct Hotel room)int i, m, roomid;m = readfile(room);printf(" 請(qǐng)選擇房間號(hào): n");scanf("%d",&roomid);for(i=0;i<m;i+)if(roomi.roomid=roomid)printf(" 請(qǐng)輸入您的電話(huà):n");scanf("%d",&roomi.tel);printf(" 入住價(jià)格 n");scanf("%d&qu

22、ot;,&roomi.price);printf(" 請(qǐng)輸入您的名字n");scanf("%s",roomi.client_);printf(" 性別: n");scanf("%d",&roomi.client_list.sex);printf(" 您的年齡: n");scanf("%d",&roomi.client_list.age);printf(" 您的 id : n");scanf("%s&quo

23、t;,roomi.client_list.id);scanf("%4d%2d%2d",&roomi.client_list.year,&roomi.client_list.month,&roomi.client_list.da te);saveall(room,m);/保存所有信息到 txt 文件void saveall(struct Hotel room,int m)int j;FILE *fp;if(fp = fopen("room.txt","w")=NULL)printf("Failure t

24、o open score.txt!n");exit(0); for(j=0;j<m;j+) fprintf(fp,"%5d%6d%15d%12s%4d%6d%20s%7d%5d%5d", roomj.roomid,roomj.price,roomj.tel,roomj.client_,Roomj.client_list.sex,roomj.client_list.age,roomj.client_list.id,roomj.client_list.year,roomj.client_list.month, roomj.client_list.date);fclose(fp);

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論