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

下載本文檔

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

文檔簡介

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

2、以把住戶信息、物業(yè)收費信息分別放在兩個結構體內(nèi)住戶信息結構體:struct yezhu / 業(yè)主結構體 /char id100;char n ame20;int age;int family_ num;int floor_ num;char room_ nu m100;float lost;int area;char rz_time20;struct yezhu *n ext;物業(yè)收費信息結構體:struct wuye /物業(yè)信息結構體/char ID100;in t last_year;in t last_mo nth;float mon ey;int to_time;struct wuye

3、 *li nk;5、源代碼程序:#in clude<stdio.h>#in clude<stdlib.h>#i ncludevstri ng.h>#in clude<malloc.h>#in clude<c oni o.h> /函數(shù)聲明/int mainmenu(); / 主菜單void xin xime nu(); /物業(yè)信息菜單void ton gjime nu ();/統(tǒng)計查詢菜單void mychaozhao(); /欠費名單void yezhume nu();業(yè)主菜單void wuyeme nu();物業(yè)菜單void myAdd1

4、(); 錄入業(yè)主信息void myAdd2(); /錄入物業(yè)信息void myDelete1();/刪除業(yè)主信息void myDelete2();/刪除物業(yè)信息void myReplace1();/修改業(yè)主信息void myReplace2();/修改物業(yè)信息void Display1();瀏覽業(yè)主信息void Display2();瀏覽物業(yè)信息void myfi nd();查詢繳費void Display(struct wuye *p);void Read1();void Read2();void save1(struct yezhu *p);/保存業(yè)主信息至文件void save2(str

5、uct wuye *p);/保存物業(yè)信息至文件struct yezhu *fin d1(char *id); /查找業(yè)主信息struct wuye *fin d2(char *id);/查找物業(yè)信息'struct yezhu *myAdd3(struct yezhu *p);添加業(yè)主信息struct wuye *myAdd4(struct wuye *p);struct yezhu / 業(yè)主結構體 /char id100;char n ame20;int age;int family_ num;int floor_ num;char room_ nu m100;float lost;i

6、nt area;char rz_time20;struct yezhu *n ext;struct wuye /物業(yè)信息結構體/char ID100;in t last_year;in t last_mo nth;float mon ey;int to_time;struct wuye *li nk;struct yezhu *phead; /業(yè)主頭結點struct wuye *pHead; /物業(yè)頭結點int mainmenu()主菜單 /int n;printf(" *歡迎進入小區(qū)物業(yè)管理系統(tǒng)*printf("n");pr in tf("* * *

7、* * * * * * * * * * * *=請選擇=(1 3)* * * * *n")prin tf("* *n"); prin tf("* *n");prin tf("*1.物業(yè)信息系統(tǒng);*n");prin tf("* *n");prin tf("*2.統(tǒng)計查詢系統(tǒng);*n");prin tf("* *n");prin tf("*3.退出程序。*n");prin tf("* *n");prin tf("* * *

8、 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * :*n");printf("請您輸入選項血:");scan f("%d",&n);return n;void xinximenu()物業(yè)信息菜單顯示/int choose;do *n");printf("n");prin tf("* * * * * * * * * * * * * * *=請選擇=(1 3) * * * * * * * * * * * * * *n")

9、prin tf("* *n");prin tf("* *n");prin tf("*1.小區(qū)業(yè)主信息管理;*n");prin tf("* *n");prin tf("*2物業(yè)費用信息管理;*n");prin tf("* *n");prin tf("*3.返回主菜單。*n");prin tf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n&q

10、uot;); printf("請您輸入選項血:");sea nf("%d",&choose);switch(choose)case 1:yezhume nu();break;case 2:wuyeme nu();break;case 3:retur n;default:pri ntf("輸入錯誤,請重新輸入:n"); while(1);void tongjimenu()/統(tǒng)計查詢菜單顯示/int choose;do printf('*統(tǒng)計查詢*n");*printf("n");pr in

11、tf("* * * * * * * * * * * * * * *=請選擇=(1 3)* * * * * * *n")printf("* *n");printf("* *n");prin tf("*1查詢繳費信息;*n");prin tf("* *n");prin tf("*2欠費名單一覽表;*n");printf("* *n");prin tf("*3.返回主菜單。*n");prin tf("* * * * * * * *

12、* * * * * * * * * * * * * * * * * * * * * * * * * *n");printf("請您輸入選項血:");sea nf("%d",&choose);switch(choose)case 1 : myfin d();break;case 2 : mychaozhao();break;case 3 : retur n;default: printf("輸入錯誤,請重新輸入!nn"); while(1);void yezhume nu()業(yè)主菜單函數(shù)int choose;do pr

13、intf("*業(yè)主信息編輯系統(tǒng)-n");*printf("n");pr in tf("* * * * * * * * * * * * * * * *=請選擇=(1 5)* * * * * * *n")printf("* *n");printf("* *n");prin tf("*1.業(yè)主信息錄入;*n");printf("* *n");prin tf("*2.業(yè)主信息修改;*n");printf("* *n");pr

14、in tf("*3.業(yè)主信息刪除;*n");printf("* *n");prin tf("*4業(yè)主信息瀏覽;*n");printf("* *n");prin tf("*5返回上級菜單。*n");prin tf("* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *n")printf("請輸入選項血:");sea nf("%d",&ch

15、oose);getchar();switch(choose)case 1 :myAdd1();break;case 2 :myReplace1();break;case 3 :myDelete1();break;case 4 :Display1();break;case 5 : retur n;n");default: prin tf(" 輸入錯誤,請重新輸入: while(1);void myAdd1()錄入業(yè)主信息/struct yezhu *p;p=(struct yezhu *)malloc(sizeof(struct yezhu);printf("請錄入

16、業(yè)主信息:n");prin tf("ID:");scan f("%s",p->id);printf("姓名:");scan f("%s",p->n ame);printf("年齡:");scan f("%d",&p->age);printf("家庭成員數(shù):");scan f("%d",&p->family_num);printf("所在樓號:");scan f(&qu

17、ot;%d",&p->floor_num);printf("單元房間號:");scan f("%s",p->room _nu m);printf("住宅面積:");scan f("%d",&p->area);printf("入住時間:");scan f("%s",p->rz_time);myAdd3(p);save1(p);printf("錄入成功!n");添加業(yè)主信息結點/struct yezhu *my

18、Add3(struct yezhu *p)struct yezhu *t;if(phead=NULL)phead=p;p-> next=NULL;elset=phead;while(t-> next!=NULL)t=t- >n ext;t->n ext=p;p-> next=NULL;retur n phead;void myReplace1()修改業(yè)主信息struct yezhu *k;char id100;printf("請輸入要修改的業(yè)主ID:");scan f("%s",id);k=fi nd1(id);if(k!=

19、NULL)n");printf("請輸入要修改的業(yè)主信息:prin tf("ID:");sca nf("%s",k->id);printf("姓名:");sca nf("%s",k- >n ame);printf("年齡:");sca nf("%d",&k->age);printf("家庭成員數(shù):");sca nf("%d",&k->family_num); printf(&q

20、uot;所在樓號:");sca nf("%d",&k->floor_num); printf("單元房間號:");sca nf("%s",k->room _nu m); printf("住宅面積:");sca nf("%d",&k->area);printf("入住時間:");sea nf("%s",k->rz_time);savel(k);printf("修改成功!n");elsepr

21、intf("無此業(yè)主 ID!n");return;struct yezhu *find1(char *id)通過 ID 查找業(yè)主信息 /struct yezhu *p;p=phead;while(p!=NULL)if(strcmp(p->id,id)=O)return p;p=p->n ext;return NULL;void Display1()struct yezhu *p;p=phead;while(p!=NULL)prin tf("nn");prin tf("ID:%sn",p->id);printf(&qu

22、ot;姓名:%sn",p->name);printf("年齡:%dn",p->age);printf("家庭成員數(shù):%dn",p->family_num); printf("所在樓號:%dn",p->floor_num);printf("單元房間號:sn",p->room_num);printf("住宅面積:%dn",p->area);printf("入住時間:%sn",p->rz_time);prin tf("n

23、n");p=p->n ext;void myDelete1()struct yezhu *p,*pp;struct wuye *k,*kk;char id100;pp=phead;kk=pHead;printf("請輸入要刪除人的ID:");scan f("%s",id);p=fi nd1(id);k=fi nd2(id);if(p!=NULL)if(p=phead)phead=p->n ext; free(p);elsewhile(pp->n ext!=p)pp=pp->n ext; pp->n ext=p-&g

24、t;n ext; free(p);elseprintf("無此業(yè)主 ID!n"); return;printf(”刪除業(yè)主信息成功!n");save1(p);if(k!=NULL)if(k=pHead)pHead=k->li nk; free(k);elsewhile(kk->li nk!=k) kk=kk->li nk;kk->li nk=k->li nk;free(k);elseprintf("無此業(yè)主 ID!n");return;printf("刪除物業(yè)信息成功!n");save2(k);

25、void save1(struct yezhu *p)FILE *fp;fp=fope n("yezhu.dat","wb");p=phead;while(p!=NULL)fwrite(p,sizeof(struct yezhu),1,fp);p=p->n ext;fclose(fp);void Read1()FILE *fp;struct yezhu *p;fp=fope n("yezhu.dat","rb");while(1)p=(struct yezhu *)malloc(sizeof(struct y

26、ezhu);if(feof(fp)break;if(fread(p,sizeof(struct yezhu),1,fp)myAdd3(p);fclose(fp);void wuyeme nu()int choose=0;do printf("*物業(yè)費用管理系統(tǒng)*n");printf("n");prints* * * * * * * * * * * * * * *=請選擇=(1 5)* * *n");prin tf("* * n");prin tf("* *n");prin tf("*1.物業(yè)信息

27、錄入;*n");prin tf("* *n");prin tf("*2.物業(yè)信息修改;*n");prin tf("* *n");prin tf("*3.物業(yè)信息刪除;*n");prin tf("* *n");prin tf("*4物業(yè)信息瀏覽;*n");prin tf("* *n");prin tf("*5返回上級菜單。*n");prin tf("* * * * * * * * * * * * * * * * * *

28、 * * * * * * * * * * * * * * *n");printf("請輸入選項:");scan f("%d",&choose);switch(choose)case 1: myAdd2();break;case 2: myReplace2();break;case 3: myDelete2();break;case 4: Display2();break;case 5: retur n;default:pri ntf("輸入錯誤,請重新輸入:n"); while(1);void myAdd2() 錄入

29、物業(yè)信息/struct wuye *p;struct yezhu *t;int x;p=(struct wuye *)malloc(sizeof(struct wuye);printf(”請錄入物業(yè)信息:n");prin tf("ID:");scan f("%s",p->ID);t=fi nd1(p->ID);if(t!=NULL)printf("上一次繳費年份:");sca nf("%d",&p->last_year);printf("月份:");sca n

30、f("%d",&p->last_mo nth);printf("繳費金額:");sca nf("%f",&p-> mon ey);x=p-> mon ey/(0.4*t->area);p->to_time=(i nt)x;myAdd4(p);save2(p);printf("錄入成功!n");elseprintf("無此業(yè)主 ID!n"); return;添加物業(yè)信息結點/struct wuye *myAdd4(struct wuye *p) str

31、uct wuye *t;if(pHead=NULL)pHead=p;p->li nk=NULL;elset=pHead;while(t->li nk!=NULL)t=t->li nk;t->li nk=p;p->li nk=NULL;retur n pHead;struct wuye *find2(char *id)通過姓名查找繳費信息/struct wuye *p;p=pHead;while(p!=NULL)if(strcmp(p->ID,id)=O)return p;p=p->li nk;return NULL;void myfin d()stru

32、ct wuye *p;char a100;scan f("%s",a);p=fi nd2(a);if(p!=NULL)printf("業(yè)主已經(jīng)存繳!n");elseprintf("業(yè)主尚沒存繳信息!n"); return;Display(p);void myReplace2()char id20;int x;struct wuye *k;struct yezhu *t;printf("請輸入要修改的業(yè)主ID:");scan f("%s",id);if(k!=NULL)printf("您

33、要修改的信息為:n");printf("請輸入新的信息:n");prin tf("ID:");sca nf("%s",k->ID);printf("上一次繳費年份:");sca nf("%d",&k->last_year);printf("月份:");sca nf("%d",&k->last_mo nth);printf("繳費金額:");sca nf("%f",&

34、k->mo ney);t=fi nd1(k->ID);x=(i nt)k-> mon ey/(0.4*t->area);k->to_time=(i nt)x;myAdd4(k);save2(k);printf("修改成功!n");elsereturn;void myDelete2()struct wuye *p,*pp;char id100;pp=pHead;printf("請輸入要刪除人的ID:");scan f("%s",id);p=fi nd2(id);if(p!=NULL)if(p=pHead)p

35、Head=p->li nk; free(p);elsewhile(pp->li nk!=p)pp=pp->li nk; pp->li nk=p->li nk; free(p);elseprintf("無此業(yè)主 ID!n"); return;save2(p);printf(” 刪除成功!n");void Display2()struct wuye *p; p=pHead;while(p!=NULL) prin tf("ID:%sn",p->ID);n",p->last_year,p->la

36、st_ mon th);printf("繳費金額:%f 元n",p->money);printf("費用有效期:%d 個月 n",p->to_time);prin tf("nnn");p=p->li nk;void Display(struct wuye *p)printf("業(yè)主 ID:%sn",p->ID);printf(" 最后一次繳費日期:%d 年%d 月n",p->last_year,p->last_ mon th);printf("最后一

37、次繳費金額:%fn",p->money);printf("費用有效期:%d 個月 n",p->to_time);void Read2()FILE *fp;struct wuye *p;fp=fope n("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=fope n("wuye.dat","wb&

溫馨提示

  • 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

提交評論