C語(yǔ)言課程設(shè)計(jì)報(bào)告--物業(yè)管理系統(tǒng)_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告--物業(yè)管理系統(tǒng)_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告--物業(yè)管理系統(tǒng)_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告--物業(yè)管理系統(tǒng)_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)報(bào)告--物業(yè)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩13頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、中 國(guó) 地 質(zhì) 大 學(xué)本科生課程論文封面課程名稱 計(jì)算機(jī)高級(jí)語(yǔ)言課程設(shè)計(jì)(C)教師姓名 本科生姓名 本科生學(xué)號(hào) 本科生專業(yè) 網(wǎng)絡(luò)工程 所在院系 計(jì)算機(jī)學(xué)院 類別: 工科 日期: 16/1/2013 課程設(shè)計(jì)評(píng)語(yǔ)對(duì)課程論文的評(píng)語(yǔ):平時(shí)成績(jī):課程論文成績(jī):總 成 績(jī):評(píng)閱人簽名:注:1、無評(píng)閱人簽名成績(jī)無效;2、必須用鋼筆或圓珠筆批閱,用鉛筆閱卷無效;3、如有平時(shí)成績(jī),必須在上面評(píng)分表中標(biāo)出,并計(jì)算入總成績(jī)。摘要:本文完成了綜合練習(xí)中第20題物業(yè)管理系統(tǒng)的編程,程序用于小區(qū)的管理,管理的項(xiàng)目包括小區(qū)住戶管理、物業(yè)收費(fèi)項(xiàng)目管理、物業(yè)收費(fèi)管理,并用文件存儲(chǔ)相關(guān)信息。文中給出了需求分析、功能模塊圖、數(shù)據(jù)

2、結(jié)構(gòu)、詳細(xì)設(shè)計(jì)、程序運(yùn)行結(jié)果、總結(jié)和致謝。目 錄課程設(shè)計(jì)評(píng)語(yǔ)2作者簡(jiǎn)介及摘要3目 錄41課程論文題目52總體設(shè)計(jì)63詳細(xì)設(shè)計(jì)84程序運(yùn)行結(jié)果125編程中遇到的困難及解決方法166總結(jié)心得及良好建議177致謝188參考文獻(xiàn)191.課程論文題目:物業(yè)管理系統(tǒng)1.1問題描述物業(yè)管理系統(tǒng)問題的描述是:用于小區(qū)的物業(yè)管理,管理的項(xiàng)目包括小區(qū)住戶管理、物業(yè)收費(fèi)項(xiàng)目管理、物業(yè)收費(fèi)管理。要求用文件存儲(chǔ)相關(guān)信息。1.2基本要求(1) 可隨時(shí)瀏覽、錄入和更改小區(qū)住戶、收費(fèi)項(xiàng)目等數(shù)據(jù)。(2) 隨時(shí)可增、刪、改、查收費(fèi)項(xiàng)目及其標(biāo)準(zhǔn)。(3) 生成小區(qū)住戶收費(fèi)報(bào)表(包括全部、已交、欠交)。1.3需求分析住戶信息、物業(yè)收費(fèi)

3、信息用一個(gè)文件存儲(chǔ),因而要提供文件的輸入/輸出操作;另外,還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。2.總體設(shè)計(jì):2.1總體思路整個(gè)管理系統(tǒng)設(shè)計(jì)為住戶信息、物業(yè)收費(fèi)信息的瀏覽、增加、更改、刪除等模塊。2.2功能模塊圖物業(yè)管理系統(tǒng)更改刪除增加瀏覽計(jì)算圖2-2功能模塊圖2.3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)根據(jù)問題描述,將住戶信息、物業(yè)收費(fèi)信息放在一個(gè)resident結(jié)構(gòu)體內(nèi)。結(jié)點(diǎn)結(jié)構(gòu):fh name bjf baf tcf yj zj qj定義如下:#define N 50 int M;struct residentint fh;/*房號(hào)*/char name10;/*戶主姓名*/int bjf;/*保潔費(fèi)*/int

4、baf;/*保安費(fèi)*/int tcf;/*停車費(fèi)*/int yj;/*已交*/int zj;/*總計(jì)*/int qj;/*欠交*/sN;/*sN中每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)住戶*/將住戶信息儲(chǔ)存在ZHSFBB.txt文本文件中內(nèi)容及格式:101 wang 86 50 80 120102 zhang 77 50 0 127201 zhao 80 50 60 150202 shang 70 55 10 100 301 zhou 88 66 55 130302 mei 56 89 13 90401 sun 46 66 79 80402 tian 50 80 40 140501 fang 60 70 30

5、120502 chen 90 60 40 88601 bian 40 40 40 110602 wu 80 80 40 803.詳細(xì)設(shè)計(jì)3.1數(shù)據(jù)讀入模塊: 小區(qū)住戶信息采用結(jié)構(gòu)體形式,把一個(gè)住戶的信息作為結(jié)構(gòu)體成員,若要存放若干個(gè)住戶信息就要用到結(jié)構(gòu)體數(shù)組,一條記錄對(duì)應(yīng)一戶住戶的信息,既符合習(xí)慣也方便信息管理。代碼:/*數(shù)據(jù)讀入模塊*/ void Re_file() FILE *fp;M=0;fp=fopen(ZHSFBB.txt,r);while(fscanf(fp,%d%s%d%d%d%d,&sM.fh,sM.name,&sM.bjf,&sM.baf,&sM.tcf,&sM.yj)!=E

6、OF)M+;fclose(fp); 3.2 計(jì)算模塊主函數(shù)中已讀入原始數(shù)據(jù),計(jì)算:總計(jì)=保潔費(fèi)+保安費(fèi)+停車費(fèi),欠交=總計(jì)-已交。開始定義循環(huán)計(jì)數(shù)器ii小于或等于總住戶數(shù)? 計(jì)算 總計(jì)=保潔費(fèi)+保安費(fèi)+停車費(fèi)計(jì)算 欠交=總計(jì)-已交i=i+結(jié)束圖3-2計(jì)算模塊流程圖3.3增加模塊該模塊的功能是增加新的小區(qū)住戶記錄,用戶從鍵盤輸入并逐條寫到原來的輸入文件中。代碼:/*增加模塊*/void Append() int n,i; printf(可輸入增加的住戶數(shù):); scanf(%d,&n);M=n+N; printf(現(xiàn)在,請(qǐng)輸入相關(guān)信息:n); for(i=1;i=n;i+) printf(房號(hào):

7、); scanf(%d,&sM-n-1+i.fh);printf(戶主姓名:);scanf(%s,sM-n-1+);printf(保潔費(fèi):);scanf(%d,&sM-n-1+i.bjf);printf(保安費(fèi):);scanf(%d,&sM-n-1+i.baf);printf(已交:);scanf(%d,&sM-n-1+i.yj); 3.4修改模塊:該模塊的功能是根據(jù)房號(hào)或戶主姓名找到要修改的記錄,并提示用戶修改該記錄的哪部分信息(保安費(fèi)、保潔費(fèi)、停車費(fèi)、已交),然后根據(jù)用戶的選擇修改相應(yīng)信息并形成新的報(bào)表。開始1 選擇刪除選項(xiàng) 2輸入房號(hào)d定義數(shù)組下標(biāo)i=0iN時(shí),查找是否有無

8、d=si.fh 有輸入戶主姓名m定義數(shù)組下標(biāo)i=0iN時(shí),利用字符串有 比較函數(shù)判斷有無 無strcmp(m,)=0 輸出“沒有找到”輸出“沒有找到”輸入要修改信息1 2 3 4修改已交修改停車費(fèi)修改保安費(fèi)修改保潔費(fèi)結(jié)束圖3-4修改模塊流程圖3.5刪除模塊用戶輸入要?jiǎng)h除的房號(hào)或姓名,根據(jù)房號(hào)或戶主姓名查找工資記錄并刪除,刪除位置后面的記錄往前移動(dòng)。開始1 選擇刪除選項(xiàng) 2輸入戶主姓名m定義數(shù)組下標(biāo)i=0iN時(shí),利用字符串有 比較函數(shù)判斷有無 無strcmp(m,)=0 刪除si 輸出:“沒有找到”輸入房號(hào)d定義數(shù)組下標(biāo)i=0iN時(shí),查找是否有有 d=si.fh 無刪

9、除si 輸出:“沒有找到”結(jié)束圖3-5刪除模塊流程圖代碼:/*刪除模塊*/void Delete()int i,j=-1,d;char m20;printf(刪除模塊:);printf(nnn);printf( *n);printf( * *n);printf( * *n);printf( * *n);printf( * 1:房號(hào) 2:戶主姓名 *n); printf( * *n);printf( * *n);printf( * *n);printf( *n);printf(nn請(qǐng)輸入刪除選項(xiàng):);scanf(%d,&i);if (i=1)printf(請(qǐng)輸入房號(hào):);scanf(%d,&d)

10、;for(i=0;iN;i+)if(d=si.fh)j=i;else if(i=2)printf(請(qǐng)輸入戶主姓名:);scanf(%s,&m);for(i=0;iN;i+)if(strcmp(m,)=0) j=i;if(j!=-1) M=M-1;for(i=j;i-N&j!=-1;i+)si=si+1; else if(j=-1)printf(沒有找到!n);3.6任務(wù)結(jié)束后的返回菜單void Menu()int sele;sele=1; while(sele) system(cls); printf(nn); printf( *n); printf( * *n); printf

11、( * 1:瀏覽 2:增加 *n); printf( * 3:更改 4:刪除 *n); printf( * 5:退出 *n); printf( * *n); printf( *n); printf(nn請(qǐng)選擇功能序號(hào):); scanf(%d,&sele); switch(sele) case 1:Calculate();Display();Menu();break;case 2:Append();Display();Menu();break;case 3:Modify();Display();Menu();break;case 4:Delete();Display();Menu();break

12、;case 5:exit(0);break; printf(nn按任意鍵繼續(xù)n); getch(); Wr_file();4. 程序運(yùn)行結(jié)果4.1主函數(shù)界面(也稱主界面)主界面如圖所示。圖4-1-1主函數(shù)界面4.2瀏覽模塊在主界面中輸入“1”,然后按Enter鍵,進(jìn)入瀏覽模塊,如圖所示。圖4-2-1瀏覽界面1圖4-2-2瀏覽界面24.3增加模塊在主界面中輸入“2”,然后按Enter鍵,進(jìn)入增加模塊,如圖所示。圖4-3-1增加界面1圖4-3-2增加界面24.4更改模塊在主界面中輸入“3”,然后按“Enter”鍵,進(jìn)入更改模塊,如圖所示。圖4-4-1更改界面1圖4-4-2更改界面24.5刪除模塊在

13、主界面中輸入“4”,然后按“Enter”鍵,進(jìn)入刪除模塊,如圖所示。圖4-5-1刪除界面5編程中遇到的困難及解決方法(1)課程設(shè)計(jì)剛開始的時(shí)候,C語(yǔ)言的教學(xué)尚未結(jié)束,“用戶自己建立數(shù)據(jù)類型”(包括結(jié)構(gòu)體、鏈表、共用體、枚舉類型、聲明新類型等內(nèi)容)及“對(duì)文件的輸入輸出”兩大章重要內(nèi)容還未進(jìn)行學(xué)習(xí),這樣的條件下很難進(jìn)行程序的編輯。在這種情況下,我采取“磨刀不誤砍柴工”的策略,先深入研讀并理解了C程序設(shè)計(jì)(第四版)一書中這兩張的內(nèi)容,并將相應(yīng)的一些簡(jiǎn)單程序上機(jī)調(diào)試,做到基本熟練掌握這些內(nèi)容后,才著手此程序的編譯工作。(2)作為第一個(gè)剛C語(yǔ)言不到半年的“入門級(jí)”新手,第一次面對(duì)此種較大型的程序案例,剛

14、開始著實(shí)不知道從何下手,所以我決定先練習(xí)基于PBL的C語(yǔ)言課程設(shè)計(jì)及學(xué)習(xí)指導(dǎo)一書上的實(shí)例,通過“庖丁解?!?,我開始懂得不管一個(gè)程序多么復(fù)雜,其實(shí)它都是由最基本的函數(shù)組成,只要我們弄清結(jié)構(gòu)、一切都會(huì)迎刃而解。(3)初讀題目時(shí)無法抽象出問題模型,而“舉一反三”中的實(shí)例與本課題有很多相似之處,通過“舉一反三”,我總結(jié)出了此題目的設(shè)計(jì)思路、功能模塊、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)等。6總結(jié)心得及良好建議這次課程設(shè)計(jì)共八次,時(shí)間不長(zhǎng),卻感受很深。無論是在學(xué)習(xí)知識(shí)還是在解決問題的能力上,都有深刻的認(rèn)識(shí),總結(jié)如下:(1)程序設(shè)計(jì)思路一定要清晰,主函數(shù)盡量簡(jiǎn)潔,這樣在調(diào)試過程中若出現(xiàn)錯(cuò)誤,只要沿著主函數(shù)的思路逐個(gè)排查即可。一個(gè)條理清楚的框架結(jié)構(gòu)有利于編譯過程中查找并解決問題。(2)編譯、調(diào)試時(shí)最好分模塊進(jìn)行。我第一次調(diào)試時(shí)是在整個(gè)程序編輯完后一次性編譯,一下子出現(xiàn)了很多處錯(cuò)誤。在老師及同學(xué)們的指導(dǎo)下,我新建了一個(gè)工作區(qū)并從主函數(shù)開始分模塊進(jìn)行編譯調(diào)試,一個(gè)函數(shù)確認(rèn)沒有錯(cuò)誤后在加入下一個(gè)函數(shù),這樣分步進(jìn)行使每處錯(cuò)誤便于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論