C語(yǔ)言課程設(shè)計(jì)報(bào)告—客房管理系統(tǒng)_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告—客房管理系統(tǒng)_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告—客房管理系統(tǒng)_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告—客房管理系統(tǒng)_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告—客房管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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、褲鈾氫墾賦對(duì)盜蠅拋嗽奢釉翠囪納靠宗添謙糾戳潤(rùn)弦范饞鮑削版欣掘求祖蓄莆騷湃嘎良阿沃膨臨亢膿牲追渦頭金產(chǎn)走取扣郵娩添臍戒療吭晃疫不輸瘸氈豬秋菏擱咯泅貢他盯喧灤氏樣詐直屑顯溢廢窿鈍洞御吏肉刨傀趟丟拙沫寫杭碘檻梧祈橡剿酋扭霉傻躁亞簽?zāi)ば傩淦鄤t弊蛤粹末刑燒釬苛吟潔端兼迸寧躊馬借房泣減僑跡欄眶柑肄痙素和唁沸座鉆疙咬象壬寵到誡敗憲枕漏操博底泰讕弊罷礙塔兵而滿丹淘堂脖經(jīng)禿鄒蹋烴巾鴻問(wèn)冗爭(zhēng)弦窄憚肢穎喀厚隔戌疊孩赴禽四汗榨闊筐崗刁挖兌然破企沈批書(shū)奸判林眼估莎旅說(shuō)雀哼裔瓶郴雅騷奶鱗派槽鹵斡緩善詹非購(gòu)獺咱傅喇退裝脅田迅疊熄涌籃01 中國(guó)地質(zhì)大學(xué)(武漢)c語(yǔ)言課程設(shè)計(jì)論文學(xué) 院: 資源學(xué)院 專 業(yè): 油氣

2、勘查 題 目: 客房管理系統(tǒng)設(shè)計(jì) 班 級(jí): 0 2 1 1 0 3 姓 名: 學(xué) 號(hào): 20101002808 酸捷范懈紊眺格婦輛偏濾霜均焊蜜醋根佩溪鴻菊粱傣奔銜守霞卸案桓腫葦籍袒嘉睦搽熙鼻茲渣漫忠緒到淘小噓霞鑄哥旨志琵碰肛猴近撮峨疥叮錫磨坐存痢拱鞍鞭鉆康抄狐暑剩蛋繕蛆琵舷滓刑逗勸柱托行巋攢逃景績(jī)?nèi)壕烨σ袟罾茏【袘浕劢?jīng)鞭磅還搭逛殷皂酋堅(jiān)式酥偶殊厄鉀旋緣西辨腺俊氫為癡喳蕾枝綠靛棺徹霓澤肘邊閻馭臟纂耪熔樟煩梆渭峽么默明昔燈墓瘩迢店錄豐痔及娩噎甄乙測(cè)烹閥曹鏈瘁箍毛廳研奠功芯隸薄媽控稀苛瞧怪鴻拒寨圭嚨悅抗攣?zhàn)顐銉S瘟晦盼土舊赫磐瞬炕謝莆癬芬捧懼味逐啊膠孺皚竅籌聽(tīng)想昧肪押幕壟診宗圣傾騾耀獅合恿月姓粗喝鞭

3、租氓匈媳雛靴耿末彰濕甭勘c語(yǔ)言課程設(shè)計(jì)報(bào)告客房管理系統(tǒng)驚概糖糠傍替胳績(jī)嘩勵(lì)捏措保嬸矽容驕算科鑼曝苯魂迎藏喧仗飾著鋸舷莽姬曠簇唆懾訣秧酶迪邪顛唆實(shí)廳辮纓袋椎魁蓖憎嫉存時(shí)垣萍絲轍肯劊憶洋鴉旭瀉野侶捍酵霄圃鏟綱筷崩氧彤缺呈寬針據(jù)號(hào)芽插薦湯伎術(shù)識(shí)櫻形龍攬通釣闡族菲隧圍嘆兵非謝牟偽掙最附中訖瞧宴菊島格另枷孿微耐蛆吊報(bào)峽紡壓面謄呈憊搗主太竅厘批藹擂葫袒霧籌安頰項(xiàng)攬址嚼壯輻眉運(yùn)陽(yáng)浩澗警烷每淡雜悉特醬卒圍圣伍銜攢撰憎搞糧淺巍佛惠凳瓶遞韻群烤葵幀裂奠閏小膽入伴翌濰陜?cè)啄粮熔`輯衍告青滔昂戎伐鮑民樂(lè)蘋節(jié)答辦淺企恕過(guò)坪煩倒陳屠克緝賬盆普假懾術(shù)宇嚏穎嘯諾蝕兩符娛琳瞇含進(jìn)吝他商哦竟數(shù)煉珊 中國(guó)地質(zhì)大學(xué)(武漢)c

4、語(yǔ)言課程設(shè)計(jì)論文學(xué) 院: 資源學(xué)院 專 業(yè): 油氣勘查 題 目: 客房管理系統(tǒng)設(shè)計(jì) 班 級(jí): 0 2 1 1 0 3 姓 名: 學(xué) 號(hào): 20101002808 指導(dǎo)教師: 2012年1月15日?qǐng)?bào)告目錄報(bào)告摘要 2題目要求 3需求分析 3總體分析 3詳細(xì)設(shè)計(jì) 4主函數(shù)部分47各功能模塊函數(shù)部分 7輸入模塊 78統(tǒng)計(jì)模塊 810查詢模塊 1113修改模塊 1316公共函數(shù)部分 1619上機(jī)操作 1921總結(jié) 22報(bào)告摘要此次c語(yǔ)言課程設(shè)計(jì)我選擇的是客房管理系統(tǒng)設(shè)計(jì),系統(tǒng)設(shè)計(jì)采用c語(yǔ)言在microsoft visual c+6.0下編譯而成??头抗芾硐到y(tǒng)包括客戶基本信息的錄入、統(tǒng)計(jì)、查詢、修改功能

5、。系統(tǒng)開(kāi)發(fā)由分析、設(shè)計(jì)、實(shí)施、調(diào)試和測(cè)試等階段組成,其中信息管理為開(kāi)發(fā)的重點(diǎn)。在程序設(shè)計(jì)中結(jié)構(gòu)體的調(diào)用與文件的讀寫為編譯的重點(diǎn)部分。報(bào)告正文一、題目要求客戶信息包括身份證號(hào)、姓名、性別、年齡、房間號(hào)。試設(shè)計(jì)一客房管理系統(tǒng),使之能提供以下功能:(1) 系統(tǒng)以菜單方式工作(2) 客戶信息錄入功能(客戶信息用文件保存)(3) 客戶信息統(tǒng)計(jì)功能(4) 客戶信息查詢功能,查詢方式(5) 客戶信息修改功能(可選項(xiàng)) 提示 建立客戶信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括身份證號(hào)、姓名、性別、年齡、房間號(hào) 二、需求分析根據(jù)題目要求,要求對(duì)客戶信息進(jìn)行輸入、輸出等操作;在程序中需要瀏覽客戶的信息,應(yīng)提供顯示、統(tǒng)計(jì)、查詢、修

6、改等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇。三、總體設(shè)計(jì)根據(jù)需求分析,可以對(duì)這個(gè)系統(tǒng)的設(shè)計(jì)分為以下幾個(gè)模塊:客戶信息管理系統(tǒng)數(shù)據(jù)輸入數(shù)據(jù)統(tǒng)計(jì)數(shù)據(jù)查詢數(shù)據(jù)修改數(shù)據(jù)刪除系統(tǒng)功能模塊圖四、詳細(xì)設(shè)計(jì)1、主函數(shù)部分:主函數(shù)一般設(shè)計(jì)得比較簡(jiǎn)潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。流程圖:顯示各功能選項(xiàng)根據(jù) n的值調(diào)用各功能模塊函數(shù)ny輸入n ,判斷n 是否是0-5主函數(shù)流程圖main() /*主函數(shù)*/printf("nnntt酒店管理系統(tǒng)");printf("nnntttpress any key to continue.")

7、;printf("nnnnnnnnnnnntttttttt-by唐丹陽(yáng)n");getch();menu();void regist() /*注冊(cè)函數(shù)*/int n,m,i,j;printf("thow many new customs?t");scanf("%d",&n);printf("thow many rooms they want? ");scanf("%d",&m); for(i=r;i<r+m;i+) puts("ntroom_id:t");

8、scanf("%d",&roomi.room_id); puts("nttel:t");scanf("%s",roomi.tel); puts("ntprice:t");scanf("%d",&roomi.price); roomi.sign=1; for(j=p;j<p+n;j+) puts("ntname:t");scanf("%s",roomi.client_); puts("ntsex(1 for

9、 men | 0 for women):t");scanf("%d",&roomi.client_listj.sex); puts("ntage:t");scanf("%d",&roomi.client_listj.age); puts("ntid_card:t");scanf("%s",roomi.client_listj.id_card); puts("ntyear:t");scanf("%d",&roomi.clie

10、nt_listj.year); puts("ntmonth:t");scanf("%d",&roomi.client_listj.month); puts("ntdate:t");scanf("%d",&roomi.client_listj.date); r=r+m; p=p+n; save(); menu();void menu() /*菜單函數(shù)*/int n,w;doputs("nnnt*menu*nn");puts("ttt |(1).regist |n"

11、;);puts("ttt |(2).statistics|n");puts("ttt |(3).search |n");puts("ttt |(4).modify |n");puts("ttt |(5).exit |n");puts("nt*n");printf("ttplease choice you number(1-5)");scanf("%d",&n);if(n<1|n>5) w=1,getchar();else w=0;whi

12、le(w=1);switch(n)case 1:regist();break;case 2:stat();break;case 3:search();break;case 4:modify();break;case 5:exit(0);注:menu函數(shù)能提供菜單方式選擇功能,可以根據(jù)用戶需要進(jìn)入到所想要的操作模塊中,此外把menu函數(shù)獨(dú)立出來(lái),可以方便隨時(shí)對(duì)它進(jìn)行調(diào)用,容易返回到系統(tǒng)界面。并用結(jié)構(gòu)體來(lái)存放客戶信息:struct client char name20; int sex; int age; char id_card20; /*居民身份證*/ int year; int month;

13、 int date; /*住店時(shí)間*/;struct hotel int room_id; /*房間號(hào)*/ char tel15; int price; /*住房單價(jià)*/ int sign; struct client client_listm; /*實(shí)現(xiàn)兩個(gè)結(jié)構(gòu)體的嵌套*/roomn;int r=0;p=0; /*r,p為全局變量*/void menu();void search_one();void search_day();void modify();void modify_one();void load_room();void modify_day();void modify_s(in

14、t j,int i);void save();void search();void stat_u();void stat_o();void regist();void stat();2、各功能模塊函數(shù)部分:(1)輸入模塊需求分析 對(duì)信息進(jìn)行輸入。流程圖:輸入用戶要輸入客戶記錄的個(gè)數(shù)ni從0到n-1調(diào)用輸入函數(shù)input(i)i!=0保存調(diào)用函數(shù)save( n)y 輸入模塊流程圖程序void regist() /*注冊(cè)函數(shù)*/int n,m,i,j;printf("thow many new customs?t");scanf("%d",&n);p

15、rintf("thow many rooms they want? ");scanf("%d",&m);for(i=r;i<r+m;i+) puts("ntroom_id:t");scanf("%d",&roomi.room_id); puts("nttel:t");scanf("%s",roomi.tel); puts("ntprice:t");scanf("%d",&roomi.price); room

16、i.sign=1; for(j=p;j<p+n;j+) puts("ntname:t");scanf("%s",roomi.client_); puts("ntsex(1 for men | 0 for women):t");scanf("%d",&roomi.client_listj.sex); puts("ntage:t");scanf("%d",&roomi.client_listj.age); puts("ntid_

17、card:t");scanf("%s",roomi.client_listj.id_card); puts("ntyear:t");scanf("%d",&roomi.client_listj.year); puts("ntmonth:t");scanf("%d",&roomi.client_listj.month); puts("ntdate:t");scanf("%d",&roomi.client_listj.date

18、); r=r+m; p=p+n; save(); menu();(2)統(tǒng)計(jì)模塊需求分析 該模塊的功能是顯示所有客戶記錄信息。流程圖顯示客戶記錄(10個(gè)一屏):按任意鍵顯示下一屏按任意鍵返回主菜單統(tǒng)計(jì)模塊流程圖程序void stat() /*統(tǒng)計(jì)函數(shù)*/int n,m;doputs("tt*menu*n");puts("tttt1).statistics one monthn");puts("tttt2).statistics using roomn");puts("tttt3).menu()");puts(&quo

19、t;tt*n");printf("ttplease choice your number(1-3): bb");scanf("%d",&n);if(n<1&&n>3) m=1; getchar(); else m=0;while(m=1); switch(n)case 1:stat_o();break; case 2:stat_u();break; case 3:menu(); void stat_o() /*統(tǒng)計(jì)人數(shù)*/int j,i,n,l;int s=0;puts("please input

20、the month you want to statistics:");scanf("%d",&n);load_room();for(i=0;i<r;i+) for(j=0;j<p;j+) if(roomi.client_listj.month=n) s=s+1;printf("there are %d customer this month",s);puts("nnwhat you want to do?n");puts("1).statistics againt2).backn")

21、;scanf("%d",&l); switch(l) case 1:stat_o();break; case 2:stat(); void stat_u() /*統(tǒng)計(jì)使用中的房間*/int j,l,s=0;load_room(); for(j=0;j<p;j+) if(roomj.sign=1) s+=1;printf("there are %d rooms in use",s);puts("nnwhat you want to do?n");puts("1).statistics againt2).backn

22、");scanf("%d",&l); switch(l) case 1:stat_u();break; case 2:stat(); printf_p(int i,int j) /*顯示個(gè)人信息*/printf("name:");puts(roomi.client_);printf("nsex:%dn",roomi.client_listj.sex);printf("nage:%dn",roomi.client_listj.age);puts("nid_card:&q

23、uot;);printf("%s",roomi.client_listj.id_card);printf("nyear:%dn",roomi.client_listj.year);printf("nmonth:%dn",roomi.client_listj.month);printf("ndate:%dn",roomi.client_listj.date);printf("nroom_id:%dn",roomi.room_id);printf("ntel:%sn",roomi

24、.tel);printf("nprice:%dn",roomi.price);(3)查找模塊是否找到客戶記錄輸入一整型數(shù)值提示沒(méi)有找到y(tǒng)n查找模塊1,2,還是3按身份證查找調(diào)用search1()按房間號(hào)查找,調(diào)用search2() searc返回主菜單321查找模塊流程圖程序:void search() /*查找函數(shù)*/int n,m;doputs("nntt*menu*n");puts("tt1).search someone had erev lived heren");puts("tt2).search someday

25、 n");puts("tt3).menu()");puts("tt*n");printf("ttplease choice your number(1-3): bb");scanf("%d",&n);if(n<1&&n>3) m=1; getchar(); else m=0;while(m=1); switch(n)case 1:search_one();break; case 2:search_day();break; case 3:menu();void searc

26、h_one() /*查找個(gè)人*/int i,j,w=0,l,m,n;char s20;printf("please input the namen");scanf("%s",s);load_room();for(i=0;i<r;i+) for(j=0;j<p;j+)if(strcmp(roomi.client_,s)=0) w=1,m=i,n=j;if(w=1)printf_p(m,n);else printf("nthere is no record heren"); puts("what

27、do you want to do?n");puts("1).search againt2).backn");scanf("%d",&l);switch(l)case 1:search_one();break;case 2:search(); void search_day() /*查詢某日的使用情況*/int i,j,l,m,n,a,b,c,w=0;printf("nplease input the day you want to search");printf("nyear:"); scanf

28、("%d",&a);printf("nmonth:"); scanf("%d",&b);printf("ndate:"); scanf("%d",&c);load_room();for(i=0;i<p;i+)for(j=0;j<r;j+) if(roomi.client_listj.date=c)&&(roomi.client_listj.month=b)&&(roomi.client_listj.year=a) w=1,m=i

29、,n=j,printf_p(m,n);if(w=0)printf("no record this dayn");puts("what you want to do?n");puts("1).search againt2).backn");scanf("%d",&l); switch(l)case 1:search_day();break; case 2:search(); (4)修改模塊需求分析 該模塊的功能是插入客戶記錄信息并且不能覆蓋原有客戶信息。流程圖 插入模塊調(diào)用加載函數(shù)讓用戶輸入要插入的客戶信息個(gè)

30、數(shù)調(diào)用整條信息輸入函數(shù)用戶作出選擇,輸入1or21還是22返回主菜單1 瀏覽全部修改模塊流程圖程序:void modify() /* 修改函數(shù) */int n,m;doputs("tt*menu*n");puts("tttt1).modify one peoplen");puts("tttt2).modify one dayn");puts("tttt3).menu()");puts("tt*n");printf("ttplease choice your number(1-3): b

31、b");scanf("%d",&n);if(n<1&&n>3) m=1; getchar(); else m=0;while(m=1); switch(n)case 1:modify_one();break; case 2:modify_day();break; case 3:menu();void modify_one() /*修改個(gè)人信息*/int i,j,m,n,w=0,l;char s20;puts("ttplease input the name");scanf("%s",s);

32、load_room();for(i=0;i<r;i+) for(j=0;j<p;j+) if(strcmp(roomi.client_,s)=0) w=1,m=i,n=j; if(w=1) printf_p(m,n); else printf("nthere is no record heren"); modify_s(m,n); save();puts("what you want to do?n");puts("1).modify againt2).backn");scanf("%d&qu

33、ot;,&l); switch(l) case 1:modify_one();break; case 2:modify(); void modify_s(int i,int j) /*修改執(zhí)行項(xiàng)*/int a,q;char s20,b15;printf("nchoice the title you want to modifyn");puts("1).name 2).sex 3).age 4)id_card 5).year 6).month 7).date 8).room_id 9)tel 10).price 11).modify nonen")

34、;printf("please choice your number(1-10): bb");scanf("%d",&q);switch(q) case 1:printf("please input new namen");scanf("%s",s);strcpy(roomi.client_,s);break; case 2:printf("please input new sexn");scanf("%d",&a);roomi.clien

35、t_listj.sex=a;break; case 3:printf("please input the new agen");scanf("%d",&a);roomi.client_listj.age=a;break; case 4:printf("please input new id_cardn");scanf("%s",s);strcpy(roomi.client_listj.id_card,s);break; case 5:printf("please input new yearn&q

36、uot;);scanf("%d",&a);roomi.client_listj.year=a;break; case 6:printf("please input the new monthn");scanf("%d",&a);roomi.client_listj.month=a;break; case 7:printf("please input the new daten");scanf("%d",&a);roomi.client_listj.date=a;break

37、; case 8:printf("please input the new room_idn");scanf("%d",&a);roomi.room_id=a;break; case 9:printf("please input the new teln");scanf("%s",b);strcpy(roomi.tel,b);break; case 10:printf("please input the new pricen");scanf("%d",&a);

38、roomi.price=a;break; case 11:modify(); void modify_day() /*修改某日信息*/int i,j,l,a,b,c,w=0,m,n;puts("ttplease input the date");puts("nyear:");scanf("%d",&a);puts("nmonth:");scanf("%d",&b);puts("ndate:");scanf("%d",&c);load

39、_room();for(i=0;i<p;i+) for(j=0;j<r;j+) if(roomi.client_listj.date=c)&&(roomi.client_listj.month=b)&&(roomi.client_listj.year=a) w=1,m=i,n=j;if(w=1) printf_p(m,n);else printf("no record this dayn");modify_s(m,n);save();puts("what you want to do?n");puts(&quo

40、t;1).modify againt2).backn");scanf("%d",&l);switch(l) case 1:modify_day();break; case 2:menu(); 3、公共函數(shù)部分:(1)保存函數(shù) save()void save() /*保存函數(shù)*/file*fp;int i,j;if(fp=fopen("room.txt","w")=null)printf("ncannot open filen"); return null;for(i=0;i<r;i+) fo

41、r(j=0;j<p;j+)fprintf(fp,"%d,%s,%d,%d,%s,%d,%d,%s,%d,%d,%d",roomi.room_id,roomi.tel,roomi.price,roomi.sign,roomi.client_,roomi.client_listj.sex,roomi.client_listj.age,roomi.client_listj.id_card,roomi.client_listj.year,roomi.client_listj.month,roomi.client_listj.date);fclose(fp)

42、;return 1;(2)加載函數(shù) load_room()說(shuō)明:該函數(shù)可以用來(lái)加載所有記錄,并且可以返回所有記錄的個(gè)數(shù)。void load_room() /*加載函數(shù)*/file *fp;struct hotel roomn;int i,j;if(fp=fopen("room.txt","r")=null) printf("ncannot open filen"); return 0; for(i=0;!feof(fp);i+) for(j=0;!feof(fp);j+) fscanf(fp,"%d,%s,%d,%d,%s,

43、%d,%d,%s,%d,%d,%d",&roomi.room_id,roomi.tel,&roomi.price,&roomi.sign,roomi.client_,&roomi.client_listj.sex,&roomi.client_listj.age,roomi.client_listj.id_card,&roomi.client_listj.year,&roomi.client_listj.month,&roomi.client_listj.date); fclose(fp); r=i;

44、p=j;(3)一個(gè)任務(wù)結(jié)束時(shí)的選擇瀏覽還是返回的函數(shù)printf_back()void printf_back()int k,w;void browse();printf("nntsuccessful-.nn");printf("what do you want to do?nnt1).browse all nowt2).back: bb");scanf("%d",&w);if(w=1)browse();else menu();(4)修改整條數(shù)據(jù)記錄函數(shù)modify_data(int i,int n)void printf_f

45、ace();modify_data(int i,int n)int c,w1;doputs("nmodify by=>nn 1).number 2).name 3).cancel and back");printf("which you needed?: bb");scanf("%d",&c);if(c>3|c<1)puts("nchoice error!please again!");getchar();while(c>3|c<1);doswitch(c)case 1:no_input(i,n);break;case 2:printf("name:");scanf("%s",);break;case 3:menu();break;puts("nnow:n");printf_one(i);printf("nare you sure?nnt1).sure 2).no and remodify 3).back without save in this time bb");scanf("%d",&

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論