物業管理系統C語言程序實習報告_第1頁
物業管理系統C語言程序實習報告_第2頁
物業管理系統C語言程序實習報告_第3頁
物業管理系統C語言程序實習報告_第4頁
物業管理系統C語言程序實習報告_第5頁
已閱讀5頁,還剩13頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

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

2、費名單信息瀏覽信息修改信息刪除信息錄入業主信息管理物業信息系統收費信息管理統計查詢系統主函數4、數據結構可以把住戶信息、物業收費信息分別放在兩個結構體內。住戶信息結構體:struct yezhu /業主結構體/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;物業收費信息結構體:struct wuye /物業信息結構體/char ID100; int last_year;

3、 int last_month; float money;int to_time;struct wuye *link; ;5、源代碼程序: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<malloc.h>#include<conio.h> /函數聲明/ int mainmenu(); /主菜單void xinximenu(); /物業信息菜單void tongjimenu();/統計查詢菜單void mychaozhao(); /欠費名單void ye

4、zhumenu();/業主菜單void wuyemenu();/物業菜單void myAdd1();/錄入業主信息void myAdd2(); /錄入物業信息void myDelete1();/刪除業主信息void myDelete2();/刪除物業信息void myReplace1();/修改業主信息void myReplace2();/修改物業信息void Display1();/瀏覽業主信息void Display2();/瀏覽物業信息void myfind();/查詢繳費void Display(struct wuye *p);void Read1();void Read2();voi

5、d save1(struct yezhu *p);/保存業主信息至文件void save2(struct wuye *p);/保存物業信息至文件struct yezhu *find1(char *id); /查找業主信息struct wuye *find2(char *id);/查找物業信息struct yezhu *myAdd3(struct yezhu *p);/添加業主信息struct wuye *myAdd4(struct wuye *p);struct yezhu /業主結構體/char id100;char name20; int age; int family_num; int

6、floor_num; char room_num100;float lost; int area; char rz_time20; struct yezhu *next;struct wuye /物業信息結構體/char ID100; int last_year; int last_month; float money;int to_time;struct wuye *link; ;struct yezhu *phead; /業主頭結點struct wuye *pHead; /物業頭結點int mainmenu()/主菜單/ int n; printf("*歡迎進入小區物業管理系統*

7、n");printf("-n"); printf("* * * * * * * * * * * * * * * 請選擇(13)* * * * * * * * * * * * * * *n");printf("* *n"); printf("* *n");printf("* 物業信息系統; *n"); printf("* *n");printf("* 統計查詢系統; *n");printf("* *n");printf(&quo

8、t;* 退出程序。 *n");printf("* *n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n"); printf("請您輸入選項:");scanf("%d",&n);return n; void xinximenu()/物業信息菜單顯示/ int choose; do printf("*物業信息系統*n"); printf("-n

9、"); printf("* * * * * * * * * * * * * * * 請選擇(13)* * * * * * * * * * * * * * *n"); printf("* *n");printf("* *n");printf("* 小區業主信息管理; *n"); printf("* *n"); printf("* 物業費用信息管理; *n"); printf("* *n");printf("* 返回主菜單。 *n"

10、;); printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n"); printf("請您輸入選項:"); scanf("%d",&choose); switch(choose) case 1:yezhumenu();break;case 2:wuyemenu();break; case 3:return;default:printf("輸入錯誤,請重新輸入:n"); while(1);vo

11、id tongjimenu()/統計查詢菜單顯示/int choose; do printf("*統計查詢系統*n");printf("-n"); printf("* * * * * * * * * * * * * * * 請選擇(13)* * * * * * * * * * * * * * *n");printf("* *n"); printf("* *n");printf("* 查詢繳費信息; *n");printf("* *n");printf(&q

12、uot;* 欠費名單一覽表; *n"); printf("* *n"); printf("* 返回主菜單。 *n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n"); printf("請您輸入選項:");scanf("%d",&choose);switch(choose) case 1 : myfind();break;case 2 : mychao

13、zhao();break;case 3 : return;default: printf("輸入錯誤,請重新輸入!nn"); while(1); void yezhumenu()/業主菜單函數int choose;do printf("*業主信息編輯系統*-n"); printf("-n");printf("* * * * * * * * * * * * * * * *請選擇(15)* * * * * * * * * * * * * * *n");printf("* *n"); printf(&

14、quot;* *n");printf("* 業主信息錄入; *n"); printf("* *n");printf("* 業主信息修改; *n"); printf("* *n"); printf("* 業主信息刪除; *n");printf("* *n");printf("* 業主信息瀏覽; *n");printf("* *n"); printf("* 返回上級菜單。 *n");printf("*

15、 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *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;d

16、efault: printf("輸入錯誤,請重新輸入:n"); while(1); void myAdd1()/錄入業主信息/ struct yezhu *p;p=(struct yezhu *)malloc(sizeof(struct yezhu);printf("請錄入業主信息:n"); printf("ID:");scanf("%s",p->id);printf("姓名:");scanf("%s",p->name);printf("年齡:"

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

18、>area); printf("入住時間:");scanf("%s",p->rz_time);myAdd3(p); save1(p);printf("錄入成功!n"); struct yezhu *myAdd3(struct yezhu *p)/添加業主信息結點/ struct yezhu *t;if(phead=NULL) phead=p; p->next=NULL; else t=phead; while(t->next!=NULL) t=t->next; t->next=p; p->ne

19、xt=NULL; return phead; void myReplace1()/修改業主信息 struct yezhu *k; char id100; printf("請輸入要修改的業主ID:"); scanf("%s",id); k=find1(id); if(k!=NULL) printf("請輸入要修改的業主信息:n"); printf("ID:"); scanf("%s",k->id); printf("姓名:"); scanf("%s",

20、k->name); printf("年齡:"); scanf("%d",&k->age); printf("家庭成員數:"); scanf("%d",&k->family_num); printf("所在樓號:"); scanf("%d",&k->floor_num); printf("單元房間號:"); scanf("%s",k->room_num); printf("住

21、宅面積:"); scanf("%d",&k->area); printf("入住時間:"); scanf("%s",k->rz_time); save1(k); printf("修改成功!n");else printf("無此業主ID!n"); return; struct yezhu *find1(char *id)/通過ID查找業主信息/ struct yezhu *p; p=phead; while(p!=NULL) if(strcmp(p->id,id

22、)=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("家庭成員數:%dn",p->family_num);printf("所在樓號:%dn&q

23、uot;,p->floor_num); printf("單元房間號:%sn",p->room_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

24、:"); scanf("%s",id);p=find1(id);k=find2(id);if(p!=NULL)if(p=phead) phead=p->next;free(p); else while(pp->next!=p) pp=pp->next;pp->next=p->next;free(p);else printf("無此業主ID!n");return; printf("刪除業主信息成功!n"); save1(p); if(k!=NULL) if(k=pHead) pHead=k->

25、;link; free(k); else while(kk->link!=k) kk=kk->link; kk->link=k->link; free(k); else printf("無此業主ID!n"); return; printf("刪除物業信息成功!n");save2(k); void save1(struct yezhu *p) FILE *fp; fp=fopen("yezhu.dat","wb");p=phead;while(p!=NULL) fwrite(p,sizeof(

26、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),1,fp) myAdd3(p); fclose(fp);void wuyemenu() int choose=0;do printf

27、("*物業費用管理系統*n");printf("-n");printf("* * * * * * * * * * * * * * * 請選擇(15)* * * * * * * * * * * * *n"); printf("* * n");printf("* *n");printf("* 物業信息錄入; *n"); printf("* *n");printf("* 物業信息修改; *n");printf("* *n"

28、);printf("* 物業信息刪除; *n");printf("* *n"); printf("* 物業信息瀏覽; *n");printf("* *n");printf("* 返回上級菜單。 *n");printf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n");printf("請輸入選項:"); scanf("%d",&

29、;choose);switch(choose) case 1: myAdd2();break;case 2: myReplace2();break;case 3: myDelete2();break;case 4: Display2();break;case 5: return;default:printf("輸入錯誤,請重新輸入:n"); while(1); void myAdd2()/錄入物業信息/ struct wuye *p;struct yezhu *t;int x;p=(struct wuye *)malloc(sizeof(struct wuye); prin

30、tf("請錄入物業信息:n");printf("ID:");scanf("%s",p->ID);t=find1(p->ID);if(t!=NULL)printf("上一次繳費年份:");scanf("%d",&p->last_year);printf("月份:");scanf("%d",&p->last_month);printf("繳費金額:");scanf("%f",&am

31、p;p->money);x=p->money/(0.4*t->area);p->to_time=(int)x;myAdd4(p);save2(p);printf("錄入成功!n");else printf("無此業主ID!n");return; struct wuye *myAdd4(struct wuye *p)/添加物業信息結點/ struct wuye *t;if(pHead=NULL) pHead=p; p->link=NULL; else t=pHead;while(t->link!=NULL) t=t-&g

32、t;link;t->link=p;p->link=NULL;return pHead; struct 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("請輸入要查找的業主id:");scanf("%s",a);p=find2(a);if(p

33、!=NULL)printf("業主已經存繳!n");else printf("業主尚沒存繳信息!n");return; Display(p);void myReplace2()/ char id20;int x;struct wuye *k;struct yezhu *t;printf("請輸入要修改的業主ID:");scanf("%s",id);if(k!=NULL)printf("您要修改的信息為:n");printf("請輸入新的信息:n");printf("

34、ID:");scanf("%s",k->ID);printf("上一次繳費年份:");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)

35、;k->to_time=(int)x;myAdd4(k);save2(k);printf("修改成功!n");else printf("無此業主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) pHead=p->link;free(p); else while(pp

36、->link!=p) pp=pp->link;pp->link=p->link; free(p); else printf("無此業主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)

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

38、>money);printf("費用有效期:%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(&q

溫馨提示

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

評論

0/150

提交評論