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

下載本文檔

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

文檔簡介

1、<p><b>  本科生課程論文封面</b></p><p>  課程名稱 計(jì)算機(jī)高級語言課程設(shè)計(jì)(C)</p><p>  教師姓名 </p><p>  本科生姓名 </p><p>  本科生學(xué)號

2、 </p><p>  本科生專業(yè) 網(wǎng)絡(luò)工程 </p><p>  所在院系 計(jì)算機(jī)學(xué)院 </p><p>  類別: 工科 </p><p>  日期: 16/1/2013

3、 </p><p><b>  摘要:</b></p><p>  本文完成了綜合練習(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é)和致謝。</p><p><b

4、>  目 錄</b></p><p><b>  課程設(shè)計(jì)評語2</b></p><p><b>  作者簡介及摘要3</b></p><p><b>  目 錄4</b></p><p>  1.課程論文題目5</p><p>

5、;<b>  2.總體設(shè)計(jì)6</b></p><p><b>  3.詳細(xì)設(shè)計(jì)8</b></p><p>  4.程序運(yùn)行結(jié)果12</p><p>  5.編程中遇到的困難及解決方法16</p><p>  6.總結(jié)心得及良好建議17</p><p><b&g

6、t;  7.致謝18</b></p><p><b>  8.參考文獻(xiàn)19</b></p><p>  1.課程論文題目:物業(yè)管理系統(tǒng)</p><p><b>  1.1問題描述</b></p><p>  物業(yè)管理系統(tǒng)問題的描述是:用于小區(qū)的物業(yè)管理,管理的項(xiàng)目包括小區(qū)住戶管理、物

7、業(yè)收費(fèi)項(xiàng)目管理、物業(yè)收費(fèi)管理。要求用文件存儲(chǔ)相關(guān)信息。</p><p><b>  1.2基本要求</b></p><p>  可隨時(shí)瀏覽、錄入和更改小區(qū)住戶、收費(fèi)項(xiàng)目等數(shù)據(jù)。</p><p>  隨時(shí)可增、刪、改、查收費(fèi)項(xiàng)目及其標(biāo)準(zhǔn)。</p><p>  生成小區(qū)住戶收費(fèi)報(bào)表(包括全部、已交、欠交)。</p>

8、;<p><b>  1.3需求分析</b></p><p>  住戶信息、物業(yè)收費(fèi)信息用一個(gè)文件存儲(chǔ),因而要提供文件的輸入/輸出操作;另外,還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。</p><p><b>  2.總體設(shè)計(jì):</b></p><p><b>  2.1總體思路</b>&l

9、t;/p><p>  整個(gè)管理系統(tǒng)設(shè)計(jì)為住戶信息、物業(yè)收費(fèi)信息的瀏覽、增加、更改、刪除等模塊。</p><p><b>  2.2功能模塊圖</b></p><p><b>  2.3數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p>  根據(jù)問題描述,將住戶信息、物業(yè)收費(fèi)信息放在一個(gè)resident結(jié)構(gòu)體內(nèi)。<

10、;/p><p><b>  結(jié)點(diǎn)結(jié)構(gòu):</b></p><p><b>  定義如下:</b></p><p>  #define N 50 </p><p><b>  int M;</b></p><p>  struct resident</p&

11、gt;<p><b>  {</b></p><p>  int fh;/*房號*/</p><p>  char name[10];/*戶主姓名*/</p><p>  int bjf;/*保潔費(fèi)*/</p><p>  int baf;/*保安費(fèi)*/</p><p>  int

12、tcf;/*停車費(fèi)*/</p><p>  int yj;/*已交*/</p><p>  int zj;/*總計(jì)*/</p><p>  int qj;/*欠交*/</p><p>  }s[N];/*s[N]中每個(gè)數(shù)組元素對應(yīng)一個(gè)住戶*/</p><p>  將住戶信息儲(chǔ)存在ZHSFBB.txt文本文件中</

13、p><p><b>  內(nèi)容及格式:</b></p><p>  101 wang 86 50 80 120</p><p>  102 zhang 77 50 0 127</p><p>  201 zhao 80 50 60 150</p><p>  202 shang 70 55 10 100

14、 </p><p>  301 zhou 88 66 55 130</p><p>  302 mei 56 89 13 90</p><p>  401 sun 46 66 79 80</p><p>  402 tian 50 80 40 140</p><p>  501 fang 60 70 30 120<

15、;/p><p>  502 chen 90 60 40 88</p><p>  601 bian 40 40 40 110</p><p>  602 wu 80 80 40 80</p><p><b>  3.詳細(xì)設(shè)計(jì)</b></p><p>  3.1數(shù)據(jù)讀入模塊:</p>&l

16、t;p>  小區(qū)住戶信息采用結(jié)構(gòu)體形式,把一個(gè)住戶的信息作為結(jié)構(gòu)體成員,若要存放若干個(gè)住戶信息就要用到結(jié)構(gòu)體數(shù)組,一條記錄對應(yīng)一戶住戶的信息,既符合習(xí)慣也方便信息管理。</p><p>  代碼:/************************數(shù)據(jù)讀入模塊***********************/</p><p>  void Re_file()</p><

17、;p><b>  {</b></p><p><b>  FILE *fp;</b></p><p><b>  M=0;</b></p><p>  fp=fopen("ZHSFBB.txt","r");</p><p>  wh

18、ile(fscanf(fp,"%d%s%d%d%d%d",&s[M].fh,s[M].name,&s[M].bjf,&s[M].baf,&s[M].tcf,&s[M].yj)!=EOF)M++;</p><p>  fclose(fp);</p><p><b>  }</b></p><

19、p><b>  3.2 計(jì)算模塊</b></p><p>  主函數(shù)中已讀入原始數(shù)據(jù),計(jì)算:總計(jì)=保潔費(fèi)+保安費(fèi)+停車費(fèi),欠交=總計(jì)-已交。</p><p><b>  3.3增加模塊</b></p><p>  該模塊的功能是增加新的小區(qū)住戶記錄,用戶從鍵盤輸入并逐條寫到原來的輸入文件中。</p>&

20、lt;p>  代碼:/************************增加模塊***********************/</p><p>  void Append()</p><p>  { int n,i;</p><p>  printf("可輸入增加的住戶數(shù):");</p><p>  scanf(&q

21、uot;%d",&n);M=n+N;</p><p>  printf("現(xiàn)在,請輸入相關(guān)信息:\n");</p><p>  for(i=1;i<=n;i++)</p><p>  { printf("房號:");</p><p>  scanf("%d",

22、&s[M-n-1+i].fh);</p><p>  printf("戶主姓名:");</p><p>  scanf("%s",s[M-n-1+i].name);</p><p>  printf("保潔費(fèi):");</p><p>  scanf("%d"

23、;,&s[M-n-1+i].bjf);</p><p>  printf("保安費(fèi):");</p><p>  scanf("%d",&s[M-n-1+i].baf);</p><p>  printf("已交:");</p><p>  scanf("%d

24、",&s[M-n-1+i].yj);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  3.4修改模塊:</b></p><p>  該模塊的功能是根據(jù)房號或戶主姓名找到要修改的記錄,并提示用戶修改該記

25、錄的哪部分信息(保安費(fèi)、保潔費(fèi)、停車費(fèi)、已交),然后根據(jù)用戶的選擇修改相應(yīng)信息并形成新的報(bào)表。</p><p><b>  3.5刪除模塊</b></p><p>  用戶輸入要?jiǎng)h除的房號或姓名,根據(jù)房號或戶主姓名查找工資記錄并刪除,刪除位置后面的記錄往前移動(dòng)。</p><p>  代碼:/************************刪除模

26、塊***********************/</p><p>  void Delete()</p><p>  {int i,j=-1,d;char m[20];</p><p>  printf("刪除模塊:");</p><p>  printf("\n\n\n");</p>

27、<p>  printf(" *******************************\n");</p><p>  printf(" * *\n");</p><p>  printf(" *

28、 *\n");</p><p>  printf(" * *\n");</p><p>  printf(" * 1:房號 2:戶主姓名 *\n"); </p><p>  printf("

29、 * *\n");</p><p>  printf(" * *\n");</p><p>  printf(" * *\n");<

30、/p><p>  printf(" *******************************\n");</p><p>  printf("\n\n請輸入刪除選項(xiàng):");</p><p>  scanf("%d",&i);</p><p><b>  

31、if (i==1)</b></p><p>  {printf("請輸入房號:");</p><p>  scanf("%d",&d);</p><p>  for(i=0;i<N;i++)</p><p>  if(d=s[i].fh)</p><p>

32、;<b>  j=i;</b></p><p><b>  }</b></p><p>  else if(i==2)</p><p>  {printf("請輸入戶主姓名:");</p><p>  scanf("%s",&m);</p>

33、<p>  for(i=0;i<N;i++)</p><p>  if(strcmp(m,s[i].name)==0)</p><p><b>  j=i;</b></p><p><b>  }</b></p><p><b>  if(j!=-1)</b>

34、;</p><p><b>  { M=M-1;</b></p><p>  for(i=j;i<-N&&j!=-1;i++)</p><p>  s[i]=s[i+1];} else if(j==-1)</p><p>  printf("沒有找到!\n");</

35、p><p><b>  }</b></p><p>  3.6任務(wù)結(jié)束后的返回菜單</p><p>  void Menu()</p><p>  {int sele;</p><p><b>  sele=1;</b></p><p>  while(s

36、ele)</p><p>  { system("cls");</p><p>  printf("\n\n");</p><p>  printf(" *************************************\n");</p><p>  printf(&q

37、uot; * *\n");</p><p>  printf(" * 1:瀏覽 2:增加 *\n");</p><p>  printf(" * 3:更改 4:刪除 *\n")

38、;</p><p>  printf(" * 5:退出 *\n");</p><p>  printf(" * *\n");</p><p>  printf(" *******

39、******************************\n");</p><p>  printf("\n\n請選擇功能序號:");</p><p>  scanf("%d",&sele);</p><p>  switch(sele)</p><p>  { case 1:Ca

40、lculate();Display();Menu();break;</p><p>  case 2:Append();Display();Menu();break;</p><p>  case 3:Modify();Display();Menu();break;</p><p>  case 4:Delete();Display();Menu();break;&

41、lt;/p><p>  case 5:exit(0);break;</p><p><b>  }</b></p><p>  printf("\n\n按任意鍵繼續(xù)\n");</p><p><b>  getch();</b></p><p><b&g

42、t;  }</b></p><p>  Wr_file();</p><p><b>  }</b></p><p><b>  4. 程序運(yùn)行結(jié)果</b></p><p>  4.1主函數(shù)界面(也稱主界面)</p><p><b>  主界面如圖所示。

43、</b></p><p><b>  4.2瀏覽模塊</b></p><p>  在主界面中輸入“1”,然后按Enter鍵,進(jìn)入瀏覽模塊,如圖所示。</p><p><b>  4.3增加模塊</b></p><p>  在主界面中輸入“2”,然后按Enter鍵,進(jìn)入增加模塊,如圖所示。

44、</p><p><b>  4.4更改模塊</b></p><p>  在主界面中輸入“3”,然后按“Enter”鍵,進(jìn)入更改模塊,如圖所示。</p><p><b>  4.5刪除模塊</b></p><p>  在主界面中輸入“4”,然后按“Enter”鍵,進(jìn)入刪除模塊,如圖所示。</p

45、><p>  5.編程中遇到的困難及解決方法</p><p> ?。?)課程設(shè)計(jì)剛開始的時(shí)候,C語言的教學(xué)尚未結(jié)束,“用戶自己建立數(shù)據(jù)類型”(包括結(jié)構(gòu)體、鏈表、共用體、枚舉類型、聲明新類型等內(nèi)容)及“對文件的輸入輸出”兩大章重要內(nèi)容還未進(jìn)行學(xué)習(xí),這樣的條件下很難進(jìn)行程序的編輯。在這種情況下,我采取“磨刀不誤砍柴工”的策略,先深入研讀并理解了《C程序設(shè)計(jì)(第四版)》一書中這兩張的內(nèi)容,并將相應(yīng)的

46、一些簡單程序上機(jī)調(diào)試,做到基本熟練掌握這些內(nèi)容后,才著手此程序的編譯工作。</p><p>  (2)作為第一個(gè)剛C語言不到半年的“入門級”新手,第一次面對此種較大型的程序案例,剛開始著實(shí)不知道從何下手,所以我決定先練習(xí)《基于PBL的C語言課程設(shè)計(jì)及學(xué)習(xí)指導(dǎo)》一書上的實(shí)例,通過“庖丁解?!保议_始懂得不管一個(gè)程序多么復(fù)雜,其實(shí)它都是由最基本的函數(shù)組成,只要我們弄清結(jié)構(gòu)、一切都會(huì)迎刃而解。</p>&

47、lt;p> ?。?)初讀題目時(shí)無法抽象出問題模型,而“舉一反三”中的實(shí)例與本課題有很多相似之處,通過“舉一反三”,我總結(jié)出了此題目的設(shè)計(jì)思路、功能模塊、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)等。</p><p>  6.總結(jié)心得及良好建議</p><p>  這次課程設(shè)計(jì)共八次,時(shí)間不長,卻感受很深。無論是在學(xué)習(xí)知識還是在解決問題的能力上,都有深刻的認(rèn)識,總結(jié)如下:</p><p> 

48、?。?)程序設(shè)計(jì)思路一定要清晰,主函數(shù)盡量簡潔,這樣在調(diào)試過程中若出現(xiàn)錯(cuò)誤,只要沿著主函數(shù)的思路逐個(gè)排查即可。一個(gè)條理清楚的框架結(jié)構(gòu)有利于編譯過程中查找并解決問題。</p><p> ?。?)編譯、調(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)

49、行使每處錯(cuò)誤便于查找和更改。</p><p>  (3) 細(xì)節(jié)處一定要注意,我剛剛編程時(shí)很容易丟落“;”“}”等符號,而這會(huì)對程序的編譯造成極大的不便。一個(gè)優(yōu)秀的程序員應(yīng)時(shí)刻注意細(xì)節(jié),養(yǎng)成細(xì)心的良好品質(zhì)。</p><p><b>  7.致謝</b></p><p>  在課程設(shè)計(jì)過程中經(jīng)常遇到諸多問題,多虧有劉老師指導(dǎo)和班上同學(xué)的耐心幫助,才

溫馨提示

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

最新文檔

評論

0/150

提交評論