物業(yè)管理系統(tǒng)C語言程序實習報告(精編版)_第1頁
物業(yè)管理系統(tǒng)C語言程序實習報告(精編版)_第2頁
物業(yè)管理系統(tǒng)C語言程序實習報告(精編版)_第3頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

3、修瀏入改覽4、數(shù)據(jù)結構可以把住戶信息、物業(yè)收費信息分別放在兩個結構體內(nèi)。住戶信息結構體:struct yezhu /業(yè)主結構體 / 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è)收費信息結構體:struct wuye /物業(yè)信息結構體 / char id100;int last_year; int last_month; float money; int to_time

4、;struct wuye *link;5、源代碼程序:#include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h> #include<conio.h> /函數(shù)聲明 / int mainmenu(); /主菜單void xinximenu(); /物業(yè)信息菜單void tongjimenu();/統(tǒng)計查詢菜單void mychaozhao(); /欠費名單void yezhumenu();/業(yè) 主 菜 單 void wuyemenu();/物業(yè)菜單v

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

6、void save2(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è)主結構體 /char id100; char name20; int age;int family_num; int floor_num;char room_num100; floa

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

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

9、*n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n");printf("請您輸入選項 :"); scanf("%d",&n);return n;void xinximenu()/物業(yè)信息菜單顯示 /int choose; do printf("*物業(yè)信息系統(tǒng)*n");printf("-n");printf("* * * * * * * * *

10、 * * * * * *請選擇( 1 3) * * * * * * * * * * * * * *n");printf("* *n");printf("* *n");printf("*小區(qū)業(yè)主信息管理;*n"); printf("* *n");printf("*物業(yè)費用信息管理;*n"); printf("* *n");printf("*返回主菜單。*n");printf("* * * * * * * * * * * * * * * *

11、 * * * * * * * * * * * * * * * * * * * * * *n"); printf("請您輸入選項 :");scanf("%d",&choose); switch(choose)case 1:yezhumenu(); break;case 2:wuyemenu(); break;case 3:return;default:printf("輸入錯誤,請重新輸入:n"); while(1);void tongjimenu()/ 統(tǒng)計查詢菜單顯示 /int choose; do printf(&

12、quot;*統(tǒng)計查詢系統(tǒng)*n");printf("-n");printf("* * * * * * * * * * * * * * *請選擇( 1 3) * * * * * * * * * * * * * *n");printf("* *n");printf("* *n");printf("*查詢繳費信息;*n"); printf("* *n");printf("*欠費名單一覽表;*n"); printf("* *n");pr

13、intf("*返回主菜單。*n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n");printf("請您輸入選項 :"); scanf("%d",&choose); switch(choose)case 1 : myfind(); break;case 2 : mychaozhao(); break;case 3 : return;default: printf("輸入錯誤

14、,請重新輸入 !nn"); while(1);void yezhumenu()/業(yè)主菜單函數(shù)int choose; do printf("*業(yè)主 信息 編輯 系統(tǒng)*-n");printf("-n");printf("* * * * * * * * * * * * * * * *請選擇( 1 5) * * * * * * * * * * * * * *n");printf("* *n");printf("* *n");printf("*業(yè)主信息錄入;*n"); pri

15、ntf("* *n");printf("*業(yè)主信息修改;*n"); printf("* *n");printf("*業(yè)主信息刪除;*n");printf("* *n");printf("*業(yè)主信息瀏覽;*n"); printf("* *n");printf("*返回上級菜單。*n"); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

16、 * * * * * * *n");printf("請輸入選項: "); 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("輸入錯誤,請重新輸入:n"); while(1);void myadd1()/錄入

17、業(yè)主信息 /struct yezhu *p;p=(struct yezhu *)malloc(sizeof(struct yezhu); printf("請錄入業(yè)主信息: n");printf("id:");scanf("%s",p->id);printf("姓名:");scanf("%s",p->name);printf("年齡: ");scanf("%d",&p->age); printf("家庭成員數(shù): "

18、;);scanf("%d",&p->family_num); printf("所 在 樓 號 : "); scanf("%d",&p->floor_num); printf("單 元 房 間 號 :"); scanf("%s",p->room_num); printf("住宅面積 :");scanf("%d",&p->area);printf("入住時間: ");scanf("%

19、s",p->rz_time); myadd3(p);save1(p);printf("錄入成功 !n");struct yezhu *myadd3(struct yezhu *p)/添加業(yè)主信息結點 /struct yezhu *t; if(phead=null)elsephead=p;p->next=null;t=phead;while(t->next!=null)t=t->next; t->next=p;p->next=null; return phead;void myreplace1()/修改業(yè)主信息struct yez

20、hu *k; char id100;printf("請輸入要修改的業(yè)主id:");scanf("%s",id); k=find1(id); if(k!=null)elseprintf("請輸入要修改的業(yè)主信息:n"); printf("id:");scanf("%s",k->id);printf("姓名:");scanf("%s",k->name);printf("年齡: ");scanf("%d",&a

21、mp;k->age); printf("家庭成員數(shù): ");scanf("%d",&k->family_num);printf("所在樓號: "); scanf("%d",&k->floor_num); printf("單元房間號 :"); scanf("%s",k->room_num); printf("住宅面積 :");scanf("%d",&k->area);printf(&q

22、uot;入住時間: ");scanf("%s",k->rz_time); save1(k);printf("修改成功 !n");printf("無此業(yè)主 id!n"); return;struct yezhu *find1(char *id)/通過 id 查找業(yè)主信息 /struct yezhu *p; p=phead; while(p!=null)if(strcmp(p->id,id)=0) return p;p=p->next;return null;void display1()struct yezh

23、u *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("所在樓號: %dn",p->floor_num); printf("單元房間號 :%sn",p->ro

24、om_num); printf("住宅面積 :%dn",p->area);printf("入住時間: %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("請輸入要刪除人的id:");scanf("%s",id); p=find1(id); k=find2(id

25、); if(p!=null)if(p=phead)phead=p->next;elseelsefree(p);while(pp->next!=p) pp=pp->next;pp->next=p->next; free(p);printf("無此業(yè)主 id!n"); return;printf("刪除業(yè)主信息成功 !n"); save1(p);if(k!=null)if(k=phead)elseelsephead=k->link; free(k);while(kk->link!=k) kk=kk->link;

26、kk->link=k->link; free(k);printf("無此業(yè)主 id!n"); return;printf("刪除物業(yè)信息成功 !n"); save2(k);void save1(struct yezhu *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;

27、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),1,fp)myadd3(p);fclose(fp);void wuyemenu()int choose=0; do printf("*物業(yè)費用管理系統(tǒng)*n");printf("-n");printf("* * *

28、 * * * * * * * * * * * *請選擇( 15)* * * * * * * * * * * *n");printf("* * n");printf("* *n");printf("*物業(yè)信息錄入;*n"); printf("* *n");printf("*物業(yè)信息修改;*n"); printf("* *n");printf("*物業(yè)信息刪除;*n"); printf("* *n");printf("*

29、物業(yè)信息瀏覽;*n"); printf("* *n");printf("*返回上級菜單。*n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n");printf("請輸入選項: "); scanf("%d",&choose); switch(choose)case 1: myadd2(); break;case 2: myreplace2(); break;cas

30、e 3: mydelete2();break;case 4: display2(); break;case 5: return;default:printf("輸入錯誤,請重新輸入:n"); while(1);void myadd2()/錄入物業(yè)信息 /struct wuye *p; struct yezhu *t; int x;p=(struct wuye *)malloc(sizeof(struct wuye); printf("請 錄 入 物 業(yè) 信 息 : n"); printf("id:");scanf("%s&q

31、uot;,p->id); t=find1(p->id); if(t!=null)printf("上一次繳費年份: "); scanf("%d",&p->last_year); printf("月 份 : "); scanf("%d",&p->last_month); printf("繳費金額: ");elsescanf("%f",&p->money); x=p->money/(0.4*t->area); p-&

32、gt;to_time=(int)x; myadd4(p);save2(p);printf("錄入成功 !n");printf("無此業(yè)主 id!n"); return;struct wuye *myadd4(struct wuye *p)/添加物業(yè)信息結點 /struct wuye *t; if(phead=null)elsephead=p;p->link=null;t=phead;while(t->link!=null) t=t->link;t->link=p;p->link=null;return phead;struc

33、t wuye *find2(char *id)/通過姓名查找繳費信息 /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("請輸入要查找的業(yè)主id :"); scanf("%s",a);p=find2(a); if(p!=null)elseprintf("業(yè)主已經(jīng)存繳 !n");printf(&qu

34、ot;業(yè)主尚沒存繳信息 !n"); return;display(p);void myreplace2()/char id20; int x;struct wuye *k; struct yezhu *t;printf("請輸入要修改的業(yè)主id:");scanf("%s",id); if(k!=null)printf("您要修改的信息為: n"); printf("請輸入新的信息: n"); printf("id:");scanf("%s",k->id);pr

35、intf("上一次繳費年份: "); scanf("%d",&k->last_year); printf("月 份 : "); scanf("%d",&k->last_month); printf("繳費金額: ");scanf("%f",&k->money); t=find1(k->id);x=(int)k->money/(0.4*t->area); k->to_time=(int)x;elsemyadd4(

36、k); save2(k);printf("修改成功 !n");printf("無此業(yè)主 id!n"); return;void mydelete2()/struct wuye *p,*pp; char id100; pp=phead;printf("請輸入要刪除人的id:"); scanf("%s",id);p=find2(id); if(p!=null)if(p=phead)elseelsephead=p->link; free(p);while(pp->link!=p) pp=pp->link

37、;pp->link=p->link; free(p);printf("無此業(yè)主 id!n"); return;save2(p);printf("刪除成功 !n");void display2()struct wuye *p; p=phead; while(p!=null)printf("id:%sn",p->id);printf("最后一次繳費日期:%d年%d月n",p->last_year,p->last_month);printf("繳 費 金 額 :%f 元 n&quo

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

39、用有效期: %d個月n",p->to_time);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("wu

40、ye.dat","wb"); p=phead;while(p!=null)fwrite(p,sizeof(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("請輸入當前年份: ");scanf("%d",&year);printf("請輸入當前月份: "); scanf("%d",&month); while(k!=null)if(year>k->last_year)l=find1(k->id);l->lost=(float)(month+12-k->to_time-k->la

溫馨提示

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

評論

0/150

提交評論