版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、褲鈾氫墾賦對盜蠅拋嗽奢釉翠囪納靠宗添謙糾戳潤弦范饞鮑削版欣掘求祖蓄莆騷湃嘎良阿沃膨臨亢膿牲追渦頭金產(chǎn)走取扣郵娩添臍戒療吭晃疫不輸瘸氈豬秋菏擱咯泅貢他盯喧灤氏樣詐直屑顯溢廢窿鈍洞御吏肉刨傀趟丟拙沫寫杭碘檻梧祈橡剿酋扭霉傻躁亞簽?zāi)ば傩淦鄤t弊蛤粹末刑燒釬苛吟潔端兼迸寧躊馬借房泣減僑跡欄眶柑肄痙素和唁沸座鉆疙咬象壬寵到誡敗憲枕漏操博底泰讕弊罷礙塔兵而滿丹淘堂脖經(jīng)禿鄒蹋烴巾鴻問冗爭弦窄憚肢穎喀厚隔戌疊孩赴禽四汗榨闊筐崗刁挖兌然破企沈批書奸判林眼估莎旅說雀哼裔瓶郴雅騷奶鱗派槽鹵斡緩善詹非購獺咱傅喇退裝脅田迅疊熄涌籃01 中國地質(zhì)大學(xué)(武漢)c語言課程設(shè)計論文學(xué) 院: 資源學(xué)院 專 業(yè): 油氣
2、勘查 題 目: 客房管理系統(tǒng)設(shè)計 班 級: 0 2 1 1 0 3 姓 名: 學(xué) 號: 20101002808 酸捷范懈紊眺格婦輛偏濾霜均焊蜜醋根佩溪鴻菊粱傣奔銜守霞卸案桓腫葦籍袒嘉睦搽熙鼻茲渣漫忠緒到淘小噓霞鑄哥旨志琵碰肛猴近撮峨疥叮錫磨坐存痢拱鞍鞭鉆康抄狐暑剩蛋繕蛆琵舷滓刑逗勸柱托行巋攢逃景績?nèi)壕烨σ袟罾茏【袘浕劢?jīng)鞭磅還搭逛殷皂酋堅式酥偶殊厄鉀旋緣西辨腺俊氫為癡喳蕾枝綠靛棺徹霓澤肘邊閻馭臟纂耪熔樟煩梆渭峽么默明昔燈墓瘩迢店錄豐痔及娩噎甄乙測烹閥曹鏈瘁箍毛廳研奠功芯隸薄媽控稀苛瞧怪鴻拒寨圭嚨悅抗攣?zhàn)顐銉S瘟晦盼土舊赫磐瞬炕謝莆癬芬捧懼味逐啊膠孺皚竅籌聽想昧肪押幕壟診宗圣傾騾耀獅合恿月姓粗喝鞭
3、租氓匈媳雛靴耿末彰濕甭勘c語言課程設(shè)計報告客房管理系統(tǒng)驚概糖糠傍替胳績嘩勵捏措保嬸矽容驕算科鑼曝苯魂迎藏喧仗飾著鋸舷莽姬曠簇唆懾訣秧酶迪邪顛唆實(shí)廳辮纓袋椎魁蓖憎嫉存時垣萍絲轍肯劊憶洋鴉旭瀉野侶捍酵霄圃鏟綱筷崩氧彤缺呈寬針據(jù)號芽插薦湯伎術(shù)識櫻形龍攬通釣闡族菲隧圍嘆兵非謝牟偽掙最附中訖瞧宴菊島格另枷孿微耐蛆吊報峽紡壓面謄呈憊搗主太竅厘批藹擂葫袒霧籌安頰項攬址嚼壯輻眉運(yùn)陽浩澗警烷每淡雜悉特醬卒圍圣伍銜攢撰憎搞糧淺巍佛惠凳瓶遞韻群烤葵幀裂奠閏小膽入伴翌濰陜宰牧溉踐輯衍告青滔昂戎伐鮑民樂蘋節(jié)答辦淺企恕過坪煩倒陳屠克緝賬盆普假懾術(shù)宇嚏穎嘯諾蝕兩符娛琳瞇含進(jìn)吝他商哦竟數(shù)煉珊 中國地質(zhì)大學(xué)(武漢)c
4、語言課程設(shè)計論文學(xué) 院: 資源學(xué)院 專 業(yè): 油氣勘查 題 目: 客房管理系統(tǒng)設(shè)計 班 級: 0 2 1 1 0 3 姓 名: 學(xué) 號: 20101002808 指導(dǎo)教師: 2012年1月15日報告目錄報告摘要 2題目要求 3需求分析 3總體分析 3詳細(xì)設(shè)計 4主函數(shù)部分47各功能模塊函數(shù)部分 7輸入模塊 78統(tǒng)計模塊 810查詢模塊 1113修改模塊 1316公共函數(shù)部分 1619上機(jī)操作 1921總結(jié) 22報告摘要此次c語言課程設(shè)計我選擇的是客房管理系統(tǒng)設(shè)計,系統(tǒng)設(shè)計采用c語言在microsoft visual c+6.0下編譯而成??头抗芾硐到y(tǒng)包括客戶基本信息的錄入、統(tǒng)計、查詢、修改功能
5、。系統(tǒng)開發(fā)由分析、設(shè)計、實(shí)施、調(diào)試和測試等階段組成,其中信息管理為開發(fā)的重點(diǎn)。在程序設(shè)計中結(jié)構(gòu)體的調(diào)用與文件的讀寫為編譯的重點(diǎn)部分。報告正文一、題目要求客戶信息包括身份證號、姓名、性別、年齡、房間號。試設(shè)計一客房管理系統(tǒng),使之能提供以下功能:(1) 系統(tǒng)以菜單方式工作(2) 客戶信息錄入功能(客戶信息用文件保存)(3) 客戶信息統(tǒng)計功能(4) 客戶信息查詢功能,查詢方式(5) 客戶信息修改功能(可選項) 提示 建立客戶信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括身份證號、姓名、性別、年齡、房間號 二、需求分析根據(jù)題目要求,要求對客戶信息進(jìn)行輸入、輸出等操作;在程序中需要瀏覽客戶的信息,應(yīng)提供顯示、統(tǒng)計、查詢、修
6、改等操作;另外還應(yīng)提供鍵盤式選擇菜單實(shí)現(xiàn)功能選擇。三、總體設(shè)計根據(jù)需求分析,可以對這個系統(tǒng)的設(shè)計分為以下幾個模塊:客戶信息管理系統(tǒng)數(shù)據(jù)輸入數(shù)據(jù)統(tǒng)計數(shù)據(jù)查詢數(shù)據(jù)修改數(shù)據(jù)刪除系統(tǒng)功能模塊圖四、詳細(xì)設(shè)計1、主函數(shù)部分:主函數(shù)一般設(shè)計得比較簡潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。流程圖:顯示各功能選項根據(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唐丹陽n");getch();menu();void regist() /*注冊函數(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ú)立出來,可以方便隨時對它進(jìn)行調(diào)用,容易返回到系統(tǒng)界面。并用結(jié)構(gòu)體來存放客戶信息:struct client char name20; int sex; int age; char id_card20; /*居民身份證*/ int year; int month;
13、 int date; /*住店時間*/;struct hotel int room_id; /*房間號*/ char tel15; int price; /*住房單價*/ int sign; struct client client_listm; /*實(shí)現(xiàn)兩個結(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)輸入模塊需求分析 對信息進(jìn)行輸入。流程圖:輸入用戶要輸入客戶記錄的個數(shù)ni從0到n-1調(diào)用輸入函數(shù)input(i)i!=0保存調(diào)用函數(shù)save( n)y 輸入模塊流程圖程序void regist() /*注冊函數(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)計模塊需求分析 該模塊的功能是顯示所有客戶記錄信息。流程圖顯示客戶記錄(10個一屏):按任意鍵顯示下一屏按任意鍵返回主菜單統(tǒng)計模塊流程圖程序void stat() /*統(tǒng)計函數(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)計人數(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)計使用中的房間*/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) /*顯示個人信息*/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ù)值提示沒有找到y(tǒng)n查找模塊1,2,還是3按身份證查找調(diào)用search1()按房間號查找,調(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() /*查找個人*/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ù)讓用戶輸入要插入的客戶信息個
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() /*修改個人信息*/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í)行項*/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()說明:該函數(shù)可以用來加載所有記錄,并且可以返回所有記錄的個數(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)一個任務(wù)結(jié)束時的選擇瀏覽還是返回的函數(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 如何應(yīng)對班級突發(fā)事件計劃
- 生鮮食品采購合同三篇
- 建立企業(yè)內(nèi)外部溝通平臺計劃
- 《集團(tuán)高層激勵方案》課件
- 《言語語言障礙概論》課件
- 《數(shù)據(jù)與數(shù)據(jù)獲取》課件
- 《音標(biāo)講解教程》課件
- 面試報告范文
- 刑法研修計劃報告范文
- 報告范文大全
- 美發(fā)保底勞務(wù)合同模板
- 《技術(shù)規(guī)程》范本
- 2024秋期國家開放大學(xué)本科《中國當(dāng)代文學(xué)專題》一平臺在線形考(形考任務(wù)一至六)試題及答案
- 期末(試題)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 第五單元簡易方程 提升練習(xí)題(單元測試)-2024-2025學(xué)年五年級上冊數(shù)學(xué)人教版
- 重點(diǎn)語法清單2024-2025學(xué)年人教版英語八年級上冊
- 紅色簡約中國英雄人物李大釗課件
- NGS與感染性疾病醫(yī)學(xué)課件
- 2024版《大學(xué)生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)》 課程教案
- 2024年煤礦事故匯編
- Unit 2 Different families(教學(xué)設(shè)計)-2024-2025學(xué)年人教PEP版英語三年級上冊
評論
0/150
提交評論