物業(yè)管理系統(tǒng)C語(yǔ)言程序?qū)嵙?xí)報(bào)告(精編版)_第1頁(yè)
物業(yè)管理系統(tǒng)C語(yǔ)言程序?qū)嵙?xí)報(bào)告(精編版)_第2頁(yè)
物業(yè)管理系統(tǒng)C語(yǔ)言程序?qū)嵙?xí)報(bào)告(精編版)_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余22頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

1、- - 本科生課程論文封面課 程 名 稱 c 語(yǔ)言程序課程設(shè)計(jì)教 師 姓 名本科生姓名本科生學(xué)號(hào)本科生專(zhuān)業(yè)所 在 院 系類(lèi)別: 工科日期: - - 摘要:本文完成了綜合練習(xí)中第20 題物業(yè)管理系統(tǒng)的編程,程序用于小區(qū)的管理,管理的項(xiàng)目包括小區(qū)住戶管理、 物業(yè)收費(fèi)項(xiàng)目管理、 物業(yè)收費(fèi)管理, 并用文件存儲(chǔ)相關(guān)信息。文中給出了需求分析、功能模塊圖、數(shù)據(jù)結(jié)構(gòu)、詳細(xì)設(shè)計(jì)、程序運(yùn)行結(jié)果、總結(jié)和致謝,- - 目錄課程設(shè)計(jì)評(píng)語(yǔ) .1 個(gè)人簡(jiǎn)介 .2 摘要 .2 目錄 .3 題目及要求 .4 需求分析 .4 功能模塊圖 .4 數(shù)據(jù)結(jié)構(gòu) .5 源代碼 .5 程序運(yùn)行結(jié)果 .21 總結(jié) .25 致謝 .25 參考文

2、獻(xiàn) .25 - - 1、題目要求用于小區(qū)的物業(yè)管理,管理的項(xiàng)目包括小區(qū)住戶管理、物業(yè)收費(fèi)項(xiàng)目管理、物業(yè)收費(fèi)管理。要求用文件存儲(chǔ)相關(guān)信息??呻S時(shí)瀏覽、錄入和更改小區(qū)住戶、收費(fèi)項(xiàng)目等數(shù)據(jù)??呻S時(shí)增、刪、改、查收費(fèi)項(xiàng)目及其標(biāo)準(zhǔn)。生成小區(qū)住戶收費(fèi)報(bào)表(包括全部、已交、欠交)。2、需求分析住戶信息、物業(yè)收費(fèi)信息要用文件存儲(chǔ) (可用一個(gè)文件, 也可分成兩個(gè)文件)因而提供文件的輸入 /輸出操作;另外,還要提供鍵盤(pán)式選擇菜單以實(shí)現(xiàn)功能選擇。3、功能模塊圖整個(gè)管理系統(tǒng)可以設(shè)計(jì)為住戶信息、物業(yè)收費(fèi)信息的瀏覽、修改、增加等模塊。依據(jù)程序的數(shù)據(jù)結(jié)構(gòu)和功能,遵照“自頂向下”原則,采用基于函數(shù)的逐步求精法,描述該程序的層

3、次結(jié)構(gòu):主函數(shù)物業(yè)信息系統(tǒng)統(tǒng)計(jì)查詢系統(tǒng)業(yè)主信息管理收費(fèi)信息管理信息錄入信息修改信息瀏覽信息刪除查詢繳費(fèi)信息查詢欠費(fèi)名單- - 4、數(shù)據(jù)結(jié)構(gòu)可以把住戶信息、物業(yè)收費(fèi)信息分別放在兩個(gè)結(jié)構(gòu)體內(nèi)。住戶信息結(jié)構(gòu)體:struct yezhu /業(yè)主結(jié)構(gòu)體 / char id100; char name20; int age; int family_num; int floor_num; char room_num100; float lost; int area; char rz_time20; struct yezhu *next; ; 物業(yè)收費(fèi)信息結(jié)構(gòu)體:struct wuye /物業(yè)信息結(jié)構(gòu)體 /

4、char id100; int last_year; int last_month; float money; int to_time; struct wuye *link; ; 5、源代碼程序:#include #include #include #include #include /函數(shù)聲明 / int mainmenu(); /主菜單void xinximenu(); /物業(yè)信息菜單- - void tongjimenu();/統(tǒng)計(jì)查詢菜單void mychaozhao(); /欠費(fèi)名單void yezhumenu();/業(yè)主菜單void wuyemenu();/物業(yè)菜單void mya

5、dd1();/錄入業(yè)主信息void myadd2(); /錄入物業(yè)信息void mydelete1();/刪除業(yè)主信息void mydelete2();/刪除物業(yè)信息void myreplace1();/修改業(yè)主信息void myreplace2();/修改物業(yè)信息void display1();/瀏覽業(yè)主信息void display2();/瀏覽物業(yè)信息void myfind();/查詢繳費(fèi)void display(struct wuye *p); void read1(); void read2(); void save1(struct yezhu *p);/保存業(yè)主信息至文件void s

6、ave2(struct wuye *p);/保存物業(yè)信息至文件struct yezhu *find1(char *id); /查找業(yè)主信息struct wuye *find2(char *id);/查找物業(yè)信息 struct yezhu *myadd3(struct yezhu *p);/添加業(yè)主信息struct wuye *myadd4(struct wuye *p); struct yezhu /業(yè)主結(jié)構(gòu)體 / char id100; char name20; int age; int family_num; int floor_num; char room_num100; float l

7、ost; int area; char rz_time20; struct yezhu *next; ; struct wuye /物業(yè)信息結(jié)構(gòu)體 / char id100; int last_year; int last_month; float money; int to_time; struct wuye *link; ; struct yezhu *phead; /業(yè)主頭結(jié)點(diǎn)struct wuye *phead; /物業(yè)頭結(jié)點(diǎn)- - int mainmenu()/主菜單 / int n; printf(*歡 迎 進(jìn) 入 小 區(qū) 物 業(yè) 管 理 系 統(tǒng)*n); printf(-n); p

8、rintf(* * * * * * * * * * * * * * * 請(qǐng)選擇( 13)* * * * * * * * * * * * * * *n); printf(* *n); printf(* *n); printf(* 物業(yè)信息系統(tǒng); *n); printf(* *n); printf(* 統(tǒng)計(jì)查詢系統(tǒng); *n); printf(* *n); printf(* 退出程序。 *n); printf(* *n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); p

9、rintf(請(qǐng)您輸入選項(xiàng) :); scanf(%d,&n); return n; void xinximenu()/物業(yè)信息菜單顯示 / int choose; do printf(*物業(yè)信息系統(tǒng)*n); printf(-n); printf(* * * * * * * * * * * * * * * 請(qǐng)選擇( 13)* * * * * * * * * * * * * * *n); printf(* *n); printf(* *n); printf(* 小區(qū)業(yè)主信息管理; *n); printf(* *n); printf(* 物業(yè)費(fèi)用信息管理; *n); printf(* *n);

10、 printf(* 返回主菜單。 *n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(請(qǐng)您輸入選項(xiàng) :); - - scanf(%d,&choose); switch(choose) case 1:yezhumenu(); break; case 2:wuyemenu(); break; case 3:return; default:printf(輸入錯(cuò)誤,請(qǐng)重新輸入:n); while(1); void tongjimenu() / 統(tǒng)計(jì)

11、查詢菜單顯示 / int choose; do printf(*統(tǒng)計(jì)查詢系統(tǒng)*n); printf(-n); printf(* * * * * * * * * * * * * * * 請(qǐng)選擇( 13)* * * * * * * * * * * * * * *n); printf(* *n); printf(* *n); printf(* 查詢繳費(fèi)信息; *n); printf(* *n); printf(* 欠費(fèi)名單一覽表; *n); printf(* *n); printf(* 返回主菜單。 *n); printf(* * * * * * * * * * * * * * * * * * *

12、* * * * * * * * * * * * * * * * * * * *n); printf(請(qǐng)您輸入選項(xiàng) :); scanf(%d,&choose); switch(choose) case 1 : myfind(); break; case 2 : mychaozhao(); break; case 3 : return; default: printf(輸入錯(cuò)誤,請(qǐng)重新輸入 !nn); - - while(1); void yezhumenu()/業(yè)主菜單函數(shù) int choose; do printf(*業(yè) 主 信 息 編 輯 系 統(tǒng)*-n); printf(-n); p

13、rintf(* * * * * * * * * * * * * * * *請(qǐng)選擇( 15)* * * * * * * * * * * * * * *n); printf(* *n); printf(* *n); printf(* 業(yè)主信息錄入; *n); printf(* *n); printf(* 業(yè)主信息修改; *n); printf(* *n); printf(* 業(yè)主信息刪除; *n); printf(* *n); printf(* 業(yè)主信息瀏覽; *n); printf(* *n); printf(* 返回上級(jí)菜單。 *n); printf(* * * * * * * * * * *

14、 * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(請(qǐng)輸入選項(xiàng): ); scanf(%d,&choose); /getchar(); switch(choose) case 1 :myadd1(); break; case 2 :myreplace1(); break; case 3 :mydelete1(); break; case 4 :display1(); break; case 5 : return; default: printf(輸入錯(cuò)誤,請(qǐng)重新輸入: n); while(1); - -

15、 void myadd1()/錄入業(yè)主信息 / struct yezhu *p; p=(struct yezhu *)malloc(sizeof(struct yezhu); printf(請(qǐng)錄入業(yè)主信息: n); printf(id:); scanf(%s,p-id); printf(姓名:); scanf(%s,p-name); printf(年齡: ); scanf(%d,&p-age); printf(家庭成員數(shù): ); scanf(%d,&p-family_num); printf(所在樓號(hào): ); scanf(%d,&p-floor_num); printf

16、(單元房間號(hào) :); scanf(%s,p-room_num); printf(住宅面積 :); scanf(%d,&p-area); printf(入住時(shí)間: ); scanf(%s,p-rz_time); myadd3(p); save1(p); printf(錄入成功 !n); struct yezhu *myadd3(struct yezhu *p)/添加業(yè)主信息結(jié)點(diǎn) / struct yezhu *t; if(phead=null) phead=p; p-next=null; else t=phead; while(t-next!=null) t=t-next; t-next

17、=p; p-next=null; return phead; - - void myreplace1()/修改業(yè)主信息 struct yezhu *k; char id100; printf(請(qǐng)輸入要修改的業(yè)主id:); scanf(%s,id); k=find1(id); if(k!=null) printf(請(qǐng)輸入要修改的業(yè)主信息:n); printf(id:); scanf(%s,k-id); printf(姓名:); scanf(%s,k-name); printf(年齡: ); scanf(%d,&k-age); printf(家庭成員數(shù): ); scanf(%d,&

18、k-family_num); printf(所在樓號(hào): ); scanf(%d,&k-floor_num); printf(單元房間號(hào) :); scanf(%s,k-room_num); printf(住宅面積 :); scanf(%d,&k-area); printf(入住時(shí)間: ); scanf(%s,k-rz_time); save1(k); printf(修改成功 !n); else printf(無(wú)此業(yè)主 id!n); return; struct yezhu *find1(char *id)/通過(guò) id 查找業(yè)主信息 / struct yezhu *p; p=phe

19、ad; while(p!=null) - - if(strcmp(p-id,id)=0) return p; p=p-next; return null; void display1() struct yezhu *p; p=phead; while(p!=null) printf(nn); printf(id:%sn,p-id); printf(姓名:%sn,p-name); printf(年齡: %dn,p-age); printf(家庭成員數(shù): %dn,p-family_num); printf(所在樓號(hào): %dn,p-floor_num); printf(單元房間號(hào) :%sn,p-ro

20、om_num); printf(住宅面積 :%dn,p-area); printf(入住時(shí)間: %sn,p-rz_time); printf(nn); p=p-next; void mydelete1() struct yezhu *p,*pp; struct wuye *k,*kk; char id100; pp=phead; kk=phead; printf(請(qǐng)輸入要?jiǎng)h除人的id:); scanf(%s,id); p=find1(id); k=find2(id); if(p!=null) if(p=phead) phead=p-next; - - free(p); else while(p

21、p-next!=p) pp=pp-next; pp-next=p-next; free(p); else printf(無(wú)此業(yè)主 id!n); return; printf(刪除業(yè)主信息成功 !n); save1(p); if(k!=null) if(k=phead) phead=k-link; free(k); else while(kk-link!=k) kk=kk-link; kk-link=k-link; free(k); else printf(無(wú)此業(yè)主 id!n); return; printf(刪除物業(yè)信息成功 !n); save2(k); void save1(struct y

22、ezhu *p) file *fp; - - fp=fopen(yezhu.dat,wb); p=phead; while(p!=null) fwrite(p,sizeof(struct yezhu),1,fp); p=p-next; fclose(fp); void read1() file *fp; struct yezhu *p; fp=fopen(yezhu.dat,rb); while(1) p=(struct yezhu *)malloc(sizeof(struct yezhu); if(feof(fp) break; if(fread(p,sizeof(struct yezhu)

23、,1,fp) myadd3(p); fclose(fp); void wuyemenu() int choose=0; do printf(*物業(yè)費(fèi)用管理系統(tǒng)*n); printf(-n); printf(* * * * * * * * * * * * * * * 請(qǐng)選擇( 15)* * * * * * * * * * * * *n); printf(* * n); printf(* *n); printf(* 物業(yè)信息錄入; *n); printf(* *n); - - printf(* 物業(yè)信息修改; *n); printf(* *n); printf(* 物業(yè)信息刪除; *n); pri

24、ntf(* *n); printf(* 物業(yè)信息瀏覽; *n); printf(* *n); printf(* 返回上級(jí)菜單。 *n); printf(* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n); printf(請(qǐng)輸入選項(xiàng): ); scanf(%d,&choose); switch(choose) case 1: myadd2(); break; case 2: myreplace2(); break; case 3: mydelete2(); break; case 4: di

25、splay2(); break; case 5: return; default:printf(輸入錯(cuò)誤,請(qǐng)重新輸入: n); while(1); void myadd2()/錄入物業(yè)信息 / struct wuye *p; struct yezhu *t; int x; p=(struct wuye *)malloc(sizeof(struct wuye); printf(請(qǐng)錄入物業(yè)信息: n); printf(id:); scanf(%s,p-id); t=find1(p-id); if(t!=null) printf(上一次繳費(fèi)年份: ); scanf(%d,&p-last_ye

26、ar); printf(月份: ); scanf(%d,&p-last_month); printf(繳費(fèi)金額: ); - - scanf(%f,&p-money); x=p-money/(0.4*t-area); p-to_time=(int)x; myadd4(p); save2(p); printf(錄入成功 !n); else printf(無(wú)此業(yè)主 id!n); return; struct wuye *myadd4(struct wuye *p)/添加物業(yè)信息結(jié)點(diǎn) / struct wuye *t; if(phead=null) phead=p; p-link=nu

27、ll; else t=phead; while(t-link!=null) t=t-link; t-link=p; p-link=null; return phead; struct wuye *find2(char *id)/通過(guò)姓名查找繳費(fèi)信息 / struct wuye *p; p=phead; while(p!=null) if(strcmp(p-id,id)=0) return p; p=p-link; return null; - - void myfind() struct wuye *p; char a100; printf(請(qǐng)輸入要查找的業(yè)主id :); scanf(%s,a

28、); p=find2(a); if(p!=null) printf(業(yè)主已經(jīng)存繳 !n); else printf(業(yè)主尚沒(méi)存繳信息 !n); return; display(p); void myreplace2()/ char id20; int x; struct wuye *k; struct yezhu *t; printf(請(qǐng)輸入要修改的業(yè)主id:); scanf(%s,id); if(k!=null) printf(您要修改的信息為: n); printf(請(qǐng)輸入新的信息: n); printf(id:); scanf(%s,k-id); printf(上一次繳費(fèi)年份: ); s

29、canf(%d,&k-last_year); printf(月份: ); scanf(%d,&k-last_month); printf(繳費(fèi)金額: ); scanf(%f,&k-money); t=find1(k-id); x=(int)k-money/(0.4*t-area); k-to_time=(int)x; - - myadd4(k); save2(k); printf(修改成功 !n); else printf(無(wú)此業(yè)主 id!n); return; void mydelete2()/ struct wuye *p,*pp; char id100; pp=p

30、head; printf(請(qǐng)輸入要?jiǎng)h除人的id:); scanf(%s,id); p=find2(id); if(p!=null) if(p=phead) phead=p-link; free(p); else while(pp-link!=p) pp=pp-link; pp-link=p-link; free(p); else printf(無(wú)此業(yè)主 id!n); return; save2(p); printf(刪除成功 !n); void display2() - - struct wuye *p; p=phead; while(p!=null) printf(id:%sn,p-id);

31、 printf(最后一次繳費(fèi)日期:%d年%d月n,p-last_year,p-last_month); printf(繳費(fèi)金額 :%f 元n,p-money); printf(費(fèi)用有效期: %d個(gè)月n,p-to_time); printf(nnn); p=p-link; void display(struct wuye *p) printf(業(yè)主 id:%sn,p-id); printf(最后一次繳費(fèi)日期:%d年%d月n,p-last_year,p-last_month); printf(最后一次繳費(fèi)金額: %fn,p-money); printf(費(fèi)用有效期: %d個(gè)月n,p-to_time

32、); void read2()/ file *fp; struct wuye *p; fp=fopen(wuye.dat,rb); while(1) p=(struct wuye *)malloc(sizeof(struct wuye); if(feof(fp) break; if(fread(p,sizeof(struct wuye),1,fp) myadd4(p); fclose(fp); void save2(struct wuye *p)/ file *fp; fp=fopen(wuye.dat,wb); p=phead; - - while(p!=null) fwrite(p,siz

33、eof(struct wuye),1,fp); p=p-link; fclose(fp); void mychaozhao()/ int year,month; struct wuye *k; struct yezhu *l; k=phead; l=phead; printf(請(qǐng)輸入當(dāng)前年份: ); scanf(%d,&year); printf(請(qǐng)輸入當(dāng)前月份: ); scanf(%d,&month); while(k!=null) if(yeark-last_year) l=find1(k-id); l-lost=(float)(month+12-k-to_time-k-last_month)*(0.4*l-area); if(l-lost0) printf(業(yè)主 id*:%sn,l-id); printf(業(yè)主姓名

溫馨提示

  • 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)論