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

下載本文檔

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

文檔簡介

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

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

3、 </p><p><b>  摘要:</b></p><p>  本文完成了綜合練習中第20題物業(yè)管理系統(tǒng)的編程,程序用于小區(qū)的管理,管理的項目包括小區(qū)住戶管理、物業(yè)收費項目管理、物業(yè)收費管理,并用文件存儲相關信息。文中給出了需求分析、功能模塊圖、數(shù)據(jù)結構、詳細設計、程序運行結果、總結和致謝。</p><p><b

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

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

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

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

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

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

10、;/p><p><b>  結點結構:</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;/*保潔費*/</p><p>  int baf;/*保安費*/</p><p>  int

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

13、p><p><b>  內容及格式:</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.詳細設計</b></p><p>  3.1數(shù)據(jù)讀入模塊:</p>&l

16、t;p>  小區(qū)住戶信息采用結構體形式,把一個住戶的信息作為結構體成員,若要存放若干個住戶信息就要用到結構體數(shù)組,一條記錄對應一戶住戶的信息,既符合習慣也方便信息管理。</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 計算模塊</b></p><p>  主函數(shù)中已讀入原始數(shù)據(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)在,請輸入相關信息:\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("保潔費:");</p><p>  scanf("%d"

23、;,&s[M-n-1+i].bjf);</p><p>  printf("保安費:");</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、錄的哪部分信息(保安費、保潔費、停車費、已交),然后根據(jù)用戶的選擇修改相應信息并形成新的報表。</p><p><b>  3.5刪除模塊</b></p><p>  用戶輸入要刪除的房號或姓名,根據(jù)房號或戶主姓名查找工資記錄并刪除,刪除位置后面的記錄往前移動。</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請輸入刪除選項:");</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任務結束后的返回菜單</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. 程序運行結果</b></p><p>  4.1主函數(shù)界面(也稱主界面)</p><p><b>  主界面如圖所示。

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

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

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

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

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

48、?。?)程序設計思路一定要清晰,主函數(shù)盡量簡潔,這樣在調試過程中若出現(xiàn)錯誤,只要沿著主函數(shù)的思路逐個排查即可。一個條理清楚的框架結構有利于編譯過程中查找并解決問題。</p><p> ?。?)編譯、調試時最好分模塊進行。我第一次調試時是在整個程序編輯完后一次性編譯,一下子出現(xiàn)了很多處錯誤。在老師及同學們的指導下,我新建了一個工作區(qū)并從主函數(shù)開始分模塊進行編譯調試,一個函數(shù)確認沒有錯誤后在加入下一個函數(shù),這樣分步進

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

溫馨提示

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

評論

0/150

提交評論