版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、中國地質(zhì)大學(xué)(武漢)C語言課程設(shè)計(jì)論文學(xué) 院:專 業(yè):題 目:客房管理系統(tǒng)設(shè)計(jì)班 級(jí):姓 名:學(xué) 號(hào):指導(dǎo)教師:2010年9月6日?qǐng)?bào)告目錄報(bào)告目錄 1報(bào)告摘要 2一、題目要求 3二、需求分析 3三、總體設(shè)計(jì) 3四、詳細(xì)設(shè)計(jì) 41、主函數(shù)部分: 42、各功能模塊函數(shù)部分: 6(1)輸入模塊 6(2)統(tǒng)計(jì)模塊 7(3)查找模塊 10(4)修改模塊 123、公共函數(shù)部分: 16(1)保存函數(shù)save() 16(2)加載函數(shù)load_room() 16(3)一個(gè)任務(wù)結(jié)束時(shí)的選擇函數(shù) prin tf_back() 17(4)修改整條數(shù)據(jù)記錄函數(shù) modify_data(i nt i,i nt n).17
2、五、 上機(jī)操作 18總結(jié) 21報(bào)告摘要此次C語言課程設(shè)計(jì)我選擇的是客房管理系統(tǒng)設(shè)計(jì),系統(tǒng)設(shè)計(jì)采用c語言在microsoft visual C+6.0下編譯而成??头抗芾硐到y(tǒng)包括客戶基本信息的錄入、統(tǒng)計(jì)、查詢、修 改功能。系統(tǒng)開發(fā)由分析、設(shè)計(jì)、實(shí)施、調(diào)試和測(cè)試等階段組成, 其中信息管理為開發(fā)的重點(diǎn)。在程序設(shè)計(jì)中結(jié)構(gòu)體的調(diào)用與文 件的讀寫為編譯的重點(diǎn)部分。4、題目要求客戶信息包括身份證號(hào)、姓名、性別、年齡、房間號(hào)。試設(shè)計(jì)一客房管理系統(tǒng), 使之能提供以下功能:(1)系統(tǒng)以菜單方式工作(2)客戶信息錄入功能(客戶信息用文件保存)(3)客戶信息統(tǒng)計(jì)功能(4)客戶信息查詢功能,查詢方式(5)客戶信息修改功
3、能(可選項(xiàng))建立客戶信息結(jié)構(gòu)體,結(jié)構(gòu)體成員包括身份證號(hào)、姓名、性別、年齡、房間 號(hào)提示二、需求分析根據(jù)題目要求,要求對(duì)客戶信息進(jìn)行輸入、輸出等操作;在程序中需要瀏覽客戶 的信息,應(yīng)提供顯示、統(tǒng)計(jì)、查詢、修改等操作;另外還應(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ì)得比較簡潔,只提供輸入,處理和輸出部分的函數(shù)調(diào)用。其中各 功能模塊用菜單方式選擇。并使用藍(lán)色作為背景顏色。流程圖:N主函數(shù)流程圖main()/* 主函數(shù) */ int
4、i;puts(歡迎進(jìn)入:);for (i=0;ivl00;i+)system(color 1f); printf(nnnnntt客房管理系統(tǒng));printf(nnntttPress any key to continue.); printf(nnnnnnnnnnnntttttttt-By 童川 n);/*菜單函數(shù)*/getch(); menu(); void menu()int n,w; do *nn);puts(nnnt*MENU*puts(ttt |(1).Regist |n); puts(ttt |(2).Statistics|n);puts(ttt |(3).Search|n);put
5、s(ttt |(4) .Modify |n); puts(ttt |(5).Exit|n);puts(nt* * printf(ttPlease choice you number(1-5); scanf(%d,&n);if(n5) w=1,getchar(); else w=0;while(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)入到所想要的
6、操作模 塊中,此外把menu函數(shù)獨(dú)立出來,可以方便隨時(shí)對(duì)它進(jìn)行調(diào)用,容易返回到系統(tǒng)界 面。并用結(jié)構(gòu)體來存放客戶信息:struct client char name20;int sex;int age;char ID_card20; /* 居民身份證 */int year;int month;int date;/*住店時(shí)間*/;struct hotelint roomD;/* 房間號(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;/*
7、 r,p 為全局變量 */void menu();void search_one();void search_day();void modify();void modify_one();void load_room();void modify_day();void modify_s(int j,int i);void save();void search();void stat_u();void stat_o();void regist();void stat();2、各功能模塊函數(shù)部分:(1 )輸入模塊需求分析對(duì)信息進(jìn)行輸入流程圖:輸入模塊流程圖程序void regist()/* 注冊(cè)函數(shù)
8、*/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;ivr+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);roomi.sign=1;for(j=p;jvp+n;j+)puts(ntName:t);scanf(%s,roo
9、mi.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_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.mont
10、h); puts(ntDate:t);scanf(%d,&roomi.client_listj.date);r=r+m;p=p+n;save();menu();(2 )統(tǒng)計(jì)模塊需求分析該模塊的功能是顯示所有客戶記錄信息。流程圖顯示客戶記錄(10個(gè)一屏)1!統(tǒng)計(jì)模塊流程圖 程序void stat()/* 統(tǒng)計(jì)函數(shù) */int n,m;doputs(tt*MENU*puts(tttt1).Statistics one monthn);puts(tttt2).Statistics using roomn); puts(tttt3).MENU();puts(tt*n);printf(ttPlease
11、choice your number(1-3): bb); scanf(%d,&n);if(n3)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 the month you want to statistics:);scanf(%d,&n); load_room();for(i=0;ir;i+)for(j=0;jp;j+)
12、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); 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;jp;j+) if(roomj.sig n=1) s+=1;pr
13、intf(There are %d rooms in use,s); puts(nnWhat you want to do?n); puts(1).Statistics againt2).backn); 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,room
14、i.client_listj.age); puts(nlD_card:);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(nRoomD:%dn,roomi.roomD); printf(nTel:%sn,roomi.tel);printf(nPrice:%dn,roomi.price); (3
15、)查找模塊查找模塊提示沒有找到程序:void search() /*查找函數(shù) *int n,m;doputs(nntt*MENU*puts(tt1).Search someone had erev lived heren);puts(tt2).Search someday n);puts(tt3).MENU();puts(tt*n);printf(ttPlease choice your number(1-3): bb); scanf(%d,&n);if(n3)m=1;getchar();else m=0;while(m=1);switch(n)case 1:search_one();brea
16、k;case 2:search_day();break;case 3:menu();void search_one()/* 查找個(gè)人 */int i,j,w=0,l,m,n;char s20;printf(Please input the namen);scanf(%s,s);load_room();for(i=O;ivr;i+) for(j=O;jvp;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
17、(What 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(%d, &a);printf(nMonth:); scanf(%d,&b);printf(nDate
18、:); scanf(%d, &c); load_room();for(i=0;ivp;i+)for(j=0;jvr;j+)if(roomi.client_listj.date=c)&(roomi.client_listj.month=b)&(roomi.cli ent_listj.year=a) w=1,m=i,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:se
19、arch_day();break;case 2:search();(4 )修改模塊需求分析該模塊的功能是插入客戶記錄信息并且不能覆蓋原有客戶信息。流程圖1還是21瀏覽全部2返回主菜單修改模塊流程圖程序:void modify() int n,m;do修改函數(shù)*puts(tt*MENU*puts(tttt1).modify one peoplen);puts(tttt2).modify one dayn);puts(tttt3).MENU();puts(tt*n);printf(ttPlease choice your number(1-3): bb); scanf(%d,&n);if(n3)
20、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);load_room();for(i=0;ir;i+)7).datenewnewnewnewnewnewnewfor(j=0;jvp;j+) if(strcmp(roomi.client
21、_,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,&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;print
22、f(nChoice the title you want to modifyn);puts(1).Name 2).sex 3).age 4)ID_card 5).year 6).month8).room_ID 9)tel 10).price 11).modify nonen);printf(Please choice your number(1-10): bb);scanf(%d, &q);switch(q)case1:printf(Pleaseinputnamen); scanf(%s,s) ;s trcpy(roomi.client_,s);break;case2:pr
23、intf(Pleaseinputsexn);scanf(%d, &a);roomi.client_listj.sex=a;break;case3:printf(Pleaseinputtheagen);scanf(%d, &a);roomi.client_listj.age=a;break;case4:printf(PleaseinputID_cardn);scanf(%s,s);strcpy(roomi.client_listj.ID_card,s);break;case5:printf(Pleaseinputyearn);scanf(%d, &a);roomi.client_listj.ye
24、ar=a;break;case6:printf(Pleaseinputthemonthn);scanf(%d, &a);roomi.client_listj.month=a;break;case7:printf(Pleaseinputthedaten);scanf(%d, &a);roomi.client_listj.date=a;break;newnewnewcase8:printf(Pleaseinputtheroom_IDn);scanf(%d, &a);roomi.room_ID=a;break;case9:printf(Pleaseinputtheteln);scanf(%s,b);
25、strcpy(roomi.tel,b);break;case10:printf(Pleaseinputthepricen);scanf(%d, &a);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_room();for(i=0;
26、ip;i+)for(j=0;jr;j+)if(roomi.client_listj.date=c)&(roomi.client_listj.month=b)&(roomi.cli ent_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(1).modify againt2).backn);scanf(%d,&l);switch(l)case 1:modify_day();brea
27、k;case 2:menu();3、公共函數(shù)部分:(1 )保存函數(shù) save()保存函數(shù)*/void save() FILE*fp;int i,j;if(fp=fopen(room.txt,w)=NULL) printf(nCannot open filen);return NULL;for(i=0;inn 1).number 2).name 3).cancel and back);printf(Which you needed?: bb);scanf(%d, &c);if(c3|c3|c1);doswitch(c)case 1:no_input(i,n);break;case 2:print
28、f(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, &w1);if(w仁=1)save(n);while(w 仁=2);return(w1);五、上機(jī)操作編譯出一個(gè)程序,需要上機(jī)運(yùn)行檢驗(yàn)程序是否正確,此外在上機(jī)過程中你可以思考 一下該程序還有沒有其他的實(shí)現(xiàn)方案或者那些事可以更好的改進(jìn)的
29、。下面事各個(gè)模塊的界面圖:(1)主菜單函數(shù)效果如圖所示(2)錄入信息模塊 效果如圖所示(3)統(tǒng)計(jì)模塊 效果如圖所示怔屛且耳屛貝怔軽弭F屛躺弭耳怔屛且岸鼻岸軽耳屛弭用岸屛且岸鼻弭鼻屛覚屛屛H屛屛屛且屛豐貝鼻屛河耳鳳屛屛貝Please choice you nuimber2苦XX秒劌JfM萬iMXK務(wù):MW淹曲NX離強(qiáng)wflEMIJ泛務(wù)NW怔稗耳社務(wù)有苦胃材;蕩W W恆酬JTM:斗lStatistics one nomth2.Statistics ysing room3,MENUPlease dio lice pour nujnherClS = Cl JPlease input the month you want to statistics- 9Ther
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年跨境電商知識(shí)產(chǎn)權(quán)保護(hù)合同規(guī)范2篇
- 2025版協(xié)議離婚辦理指南與離婚證獲取時(shí)效標(biāo)準(zhǔn)解讀3篇
- 2025版影視基地租賃合同匯編4篇
- 2025版司機(jī)雇傭服務(wù)質(zhì)量評(píng)價(jià)與獎(jiǎng)懲合同3篇
- 二零二五年度門面租賃合同環(huán)保要求與責(zé)任4篇
- 二零二五年度2025版國有企業(yè)設(shè)備租賃合同范本4篇
- 終止2025年度勞動(dòng)合同并規(guī)定經(jīng)濟(jì)補(bǔ)償辦法3篇
- 2025年度離婚后財(cái)產(chǎn)分配與債務(wù)承擔(dān)協(xié)議3篇
- 2025年消防防排煙系統(tǒng)施工與消防安全風(fēng)險(xiǎn)管理合同3篇
- 2024離婚后雙方權(quán)益保障與責(zé)任劃分合同
- 中國末端執(zhí)行器(靈巧手)行業(yè)市場(chǎng)發(fā)展態(tài)勢(shì)及前景戰(zhàn)略研判報(bào)告
- 北京離婚協(xié)議書(2篇)(2篇)
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說明書200
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 內(nèi)審檢查表完整版本
- 安全生產(chǎn)管理問題與對(duì)策探討
- 2024屆浙江寧波鎮(zhèn)海區(qū)中考生物全真模擬試題含解析
- 人教版八年級(jí)物理下冊(cè) (功)教育教學(xué)課件
- 中藥的性能四氣五味課件
評(píng)論
0/150
提交評(píng)論