圖書管理系統(tǒng)課程設(shè)計報告_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  圖書管理系統(tǒng)課程設(shè)計報告</p><p><b>  摘要:</b></p><p>  圖書館管理信息系統(tǒng)是典型的計算機信息管理系統(tǒng),在C-Free 5.0編程環(huán)境下實現(xiàn)的。本系統(tǒng)提供7個功能模塊,分別是管理員登錄系統(tǒng)模、菜單選擇模塊、圖書信息錄入功能模塊、圖書信息瀏覽功能模塊,圖書信息查詢功能模塊、圖書信息刪除功能模塊、以及圖書信息修改功能模

2、塊。這7個模塊里又有許多子模塊,通過這些模塊之間的相互連接與配合,完成操作員發(fā)出的各種指令。</p><p>  圖書館管理系統(tǒng)是一個供內(nèi)部人員使用的系統(tǒng)。而圖書館的工作人員也分為兩類,一類是操作人員,主要負責圖書的借閱和歸還的工作;一類是管理員,除了操作人員的所有功能外,還能夠?qū)斜?、書籍信息、讀者信息等進行管理。</p><p>  論文將全面介紹所設(shè)計的圖書館管理系統(tǒng)的系統(tǒng)功能和

3、業(yè)務(wù)流程,并對系統(tǒng)進行詳細的數(shù)據(jù)分析和設(shè)計,最終使用C語言完成系統(tǒng)開發(fā)。</p><p>  關(guān)鍵詞:圖書館管理系統(tǒng),C語言</p><p><b>  目錄</b></p><p>  第一章 課題分析1</p><p>  1.1 需求分析1</p><p>  1.2 功能分析2<

4、;/p><p>  1.3 設(shè)計思路2</p><p>  1.4 開發(fā)環(huán)境4</p><p>  第二章 總體設(shè)計5</p><p>  2.1 總體工作原理5</p><p>  2.2 系統(tǒng)框圖5</p><p>  第三章 詳細設(shè)計10</p><p> 

5、 3.1 管理員登錄模塊11</p><p>  3.2 菜單選擇模塊15</p><p>  3.3 圖書信息錄入模塊15</p><p>  3.4 圖書信息瀏覽模塊17</p><p>  3.5 圖書信息查詢模塊21</p><p>  3.6 圖書信息刪除模塊24</p><p

6、>  3.7 圖書信息修改模塊27</p><p>  3.8 主程序27</p><p>  第四章 程序調(diào)試及運行結(jié)果35</p><p>  4.1程序調(diào)試35</p><p>  4.2 運行結(jié)果35</p><p><b>  設(shè)計總結(jié)37</b></p>

7、<p><b>  參考文獻38</b></p><p><b>  課題分析</b></p><p><b>  1.1 需求分析</b></p><p>  圖書館管理系統(tǒng)是一個高度集成的圖書信息處理系統(tǒng),通過將圖書館的各種功能進行整合,從而達到顯示檢索信息,提高工作效率,降低管理成

8、本等目的。一個典型的圖書管理系統(tǒng)應(yīng)該能夠管理所有的圖書種類,圖書信息以及提供各種圖書信息的檢索查詢功能。通過該系統(tǒng)的自動化管理,能夠大大減少圖書館管理人員,還能減少管理人員的工作任務(wù),從而降低管理開銷和成本。</p><p>  管理員可以方便進行圖書信息管理。包括圖書信息以及圖書分類的添加,修改,刪除。</p><p><b>  1.2 功能分析</b></

9、p><p>  根據(jù)以上需求分析,我所設(shè)計的圖書館管理系統(tǒng)有7個功能模塊,分別是管理員登錄系統(tǒng)模塊、菜單選擇模塊、圖書信息錄入功能模塊、圖書信息瀏覽功能模塊,圖書信息查詢功能模塊、圖書信息刪除功能模塊、以及圖書信息修改功能模塊。</p><p>  管理員登錄系統(tǒng)模塊:該模塊主要負責管理員選擇是否登陸以及輸入賬號和密碼。</p><p>  菜單選擇模塊:該模塊主要負責

10、提示選擇需要進行的操作。</p><p>  圖書信息錄入功能模塊:該模塊主要負責錄入圖書信息,如圖書分類號、圖書名稱、作者、出版社等信息。</p><p>  圖書信息瀏覽功能模塊:該模塊主要負責瀏覽錄入的信息。</p><p>  圖書信息查詢功能模塊:該模塊主要負責通過分類號查詢圖書信息。</p><p>  圖書信息刪除功能模塊:該模

11、塊主要負責通過分類號刪除圖書信息。</p><p>  圖書信息修改功能模塊:該模塊主要負責通過分類號修改圖書信息。</p><p>  退出系統(tǒng)時,圖書信息自動保存到bookinf.txt文件中。</p><p><b>  1.3 設(shè)計思路</b></p><p>  圖書管理系統(tǒng)是一個內(nèi)部人員使用的系統(tǒng),只有圖書管

12、理員才能使用,進行圖書的錄入,瀏覽,查詢,刪除等操作。所以應(yīng)該把圖書信息用結(jié)構(gòu)體形式輸入,在程序中需實現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,最后在退出系統(tǒng)子程序中調(diào)用保存文件程序,實現(xiàn)錄入信息的存儲。需要建立相應(yīng)的模塊來實現(xiàn);另外還需提供鍵盤式選擇菜單實現(xiàn)功能,在運行時達到所要目的。</p><p><b>  1.4 開發(fā)環(huán)境</b></p><p>

13、  C-Free是一款C/C++集成開發(fā)環(huán)境(IDE)。目前有兩個版本,收費的C-Free 5.0 專業(yè)版和免費的C-Free 4.0 標準版。</p><p>  C-Free中集成了C/C++代碼解析器,能夠?qū)崟r解析代碼,并且在編寫的過程中給出智能的提示。C-Free提供了對目前業(yè)界主流C/C++編譯器的支持,你可以在C-Free中輕松切換編譯器??啥ㄖ频目旖萱I、外部工具以及外部幫助文檔,使你在編寫代碼時得心

14、應(yīng)手。完善的工程/工程組管理使你能夠方便的管理自己的代碼。</p><p>  C語言,是一種通用的、過程式的編程語言,廣泛用于系統(tǒng)與應(yīng)用軟件的開發(fā)。具有高效、靈活、功能豐富、表達力強和較高的移植性等特點,在程序員中備受青睞。最近25年是使用最為廣泛的編程語言。</p><p>  C語言是一種計算機程序設(shè)計語言。它既具有高級語言的特點,又具有匯編語言的特點。它可以作為工作系統(tǒng)設(shè)計語言,編

15、寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計語言,編寫不依賴計算機硬件的應(yīng)用程序。</p><p><b>  總體設(shè)計</b></p><p>  2.1 總體工作原理</p><p>  根據(jù)題目要求,可以將系統(tǒng)分為六個模塊:</p><p>  管理員登錄系統(tǒng)模塊。</p><p><b&g

16、t;  菜單選擇模塊。</b></p><p>  圖書信息錄入功能模塊。</p><p><b>  圖書信息瀏覽功能。</b></p><p><b>  圖書信息查詢功能。</b></p><p>  圖書信息的刪除和修改。</p><p>  各個模塊獨立

17、完成功能,在主程序里面用switch語句完成整個系統(tǒng)功能。</p><p><b>  2.2 系統(tǒng)框圖</b></p><p><b>  詳細設(shè)計</b></p><p>  3.1 管理員登錄模塊</p><p>  void index()</p><p><b

18、>  {</b></p><p>  char name[20];</p><p>  char password[20];</p><p>  //name[20]="elvira";</p><p>  //password[20]="gssb122213";</p>

19、;<p><b>  FILE *fp;</b></p><p>  book a={"\0","\0","\0","\0","\0","\0",0.0,0};</p><p>  if(access("bookinf.txt

20、",0)) //如果文件不存在,則初始化文件格式</p><p><b>  {</b></p><p>  if((fp=fopen("bookinf.txt","w"))==NULL)</p><p><b>  {</b></p

21、><p>  printf("file creat failure!");</p><p><b>  exit(0);</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  else

22、 //如果文件存在,則打開文件追加信息</p><p><b>  {</b></p><p>  if((fp=fopen("bookinf.txt","a+"))==NULL)</p><p><b>  {&

23、lt;/b></p><p>  printf("file open error!");</p><p><b>  exit(0); </b></p><p><b>  }</b></p><p><b>  }</b></p>&l

24、t;p>  printf("\n\n\t請輸入管理員帳號:"); </p><p>  scanf("%s",name); </p><p>  printf("\n\n\t請輸入密碼:"); </p><p>  scanf(&quo

25、t;%s",password); </p><p><b>  do</b></p><p><b>  {</b></p><p>  if((strcmp(name0,name)==0)&& (strcmp(passwo

26、rd0,password)==0))</p><p><b>  {</b></p><p>  //menu();</p><p><b>  break ;</b></p><p><b>  }</b></p><p><b>  el

27、se</b></p><p><b>  {</b></p><p>  printf("輸入帳號或密碼錯誤,請重新輸入!");</p><p>  printf("\n\n\t請輸入管理員帳號:"); </p><p

28、>  scanf("%s",name); </p><p>  printf("\n\n\t請輸入密碼:"); </p><p>  scanf("%s",password); </p><p><b>  }</b></p><p>  f

29、close(fp);</p><p>  }while(1);</p><p><b>  }</b></p><p><b>  流程圖:</b></p><p>  3.2 菜單選擇模塊</p><p>  void menu()</p><p>

30、<b>  {</b></p><p>  printf("\t====================歡迎進入圖書館系統(tǒng)!=============================\n\n");</p><p>  printf("\t\t*****************1.錄入圖書信息********************\n&q

31、uot;);</p><p>  printf("\t\t*****************2.瀏覽圖書信息********************\n");</p><p>  printf("\t\t*****************3.查找圖書信息********************\n");</p><p>  p

32、rintf("\t\t*****************4.刪除圖書信息********************\n");</p><p>  printf("\t\t*****************5.修改圖書信息********************\n");</p><p>  printf("\t\t**************

33、******6.退出*************************\n");</p><p>  printf("\t\t*********選擇那一項,請按1、2、3、4、5、6**********\n");</p><p><b>  }</b></p><p><b>  流程圖:</b&g

34、t;</p><p>  3.3 圖書信息錄入模塊</p><p>  void insert()</p><p><b>  {</b></p><p>  book temp;</p><p>  book a={"\0","\0","\0&q

35、uot;,"\0","\0","\0",0.0,0};</p><p>  printf("請輸入圖書信息\n");</p><p>  printf("圖書分類號 書名作者 出版社 出版時間 狀態(tài) 價格 數(shù)量\n");</p><p> 

36、 scanf("%s%s%s%s%s%s%lf%d",temp.num,temp.name,temp.author,temp.press,temp.time,temp.status,&temp.price,&temp.count);</p><p>  data.push_back(temp);</p><p>  printf("插入圖書信息

37、成功!\n"); </p><p><b>  }</b></p><p>  void browse()</p><p><b>  {</b></p><p>  printf("圖書分類號 書名作者 出版社出版時間 狀態(tài) 價格 數(shù)量\n");&l

38、t;/p><p>  for(int i = 0;i< data.size();i++)</p><p><b>  {</b></p><p>  book a = data.at(i);</p><p>  printf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n

39、",a.num,a.name,a.author,a.press,a.time,a.status,a.price,a.count);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  流程圖:</b></p><p&

40、gt;  3.4 圖書信息瀏覽模塊</p><p>  void browse()</p><p><b>  {</b></p><p>  printf("圖書分類號 書名作者 出版社出版時間 狀態(tài) 價格 數(shù)量\n");</p><p>  for(int i = 0;i<

41、 data.size();i++)</p><p><b>  {</b></p><p>  book a = data.at(i);</p><p>  printf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n",a.num,a.name,a.author,a.press,a.t

42、ime,a.status,a.price,a.count);</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  流程圖:</b></p><p>  3.5 圖書信息查詢模塊</p><p>  

43、void find()</p><p><b>  {</b></p><p>  char num[15];</p><p>  printf("請輸入所要查找圖書的分類號:");</p><p>  scanf("%s",num);</p><p>  

44、printf("圖書分類號 書名作者 出版社出版時間 狀態(tài) 價格 數(shù)量\n");</p><p>  for(int i = 0;i<data.size();i++)</p><p>  if (strcmp(data.at(i).num,num)==0) </p><p>  printf("%-14s%-10

45、s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n",data.at(i).num,data.at(i).name,data.at(i).author,data.at(i).press,data.at(i).time,data.at(i).status,data.at(i).price,data.at(i).count);</p><p><b>  }</b><

46、/p><p><b>  流程圖:</b></p><p>  3.6 圖書信息刪除模塊</p><p>  void deleter()</p><p><b>  {</b></p><p>  char num[15];</p><p>  vect

47、or<book>::iterator iter;</p><p>  printf("請輸入所要刪除圖書的中圖分類號:");</p><p>  scanf("%s",num);</p><p><b>  int k;</b></p><p>  for(int i

48、=0 ;i<data.size();i++)</p><p>  if (strcmp(data.at(i).num,num)==0) {</p><p>  for(iter = data.begin(),k = 0;k < i; k++,iter++);</p><p>  data.erase(iter);</p><p&g

49、t;<b>  }</b></p><p><b>  }</b></p><p><b>  流程圖</b></p><p>  3.7 圖書信息修改模塊</p><p>  void modify()</p><p><b>  {<

50、;/b></p><p>  printf("請輸入所要修改圖書的分類號:");</p><p>  char num[15];</p><p>  scanf("%s",num);</p><p>  for (int i = 0;i<data.size();i++) {</p>

51、;<p>  if (strcmp(data.at(i).num,num)==0) {</p><p>  printf("請輸入圖書信息,即將記錄修改為:\n");</p><p>  printf("圖書分類號書名作者出版社出版時間狀態(tài)價格數(shù)量\n");</p><p>  scanf(&quo

52、t;%s %s %s %s %s %s %lf %d",data.at(i).num,data.at(i).name,data.at(i).author,data.at(i).press,data.at(i).time,data.at(i).status,&data.at(i).price,&data.at(i).count);</p><p><b>  }</b>

53、;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  流程圖:</b></p><p><b>  3.8 主程序</b></p><p>  int main()</

54、p><p><b>  {</b></p><p><b>  ini();</b></p><p>  int choice0,choice;</p><p><b>  menu0();</b></p><p>  printf("請選擇服務(wù)

55、項目:");</p><p>  scanf("%d",&choice0);</p><p>  switch(choice0)</p><p><b>  {</b></p><p>  case 1: index();</p><p><b> 

56、 do</b></p><p><b>  {</b></p><p><b>  menu();</b></p><p>  printf("請選擇服務(wù)項目:");</p><p>  scanf("%d",&choice);</p

57、><p>  switch(choice)</p><p><b>  {</b></p><p>  case 1:insert();break;</p><p>  //save();break;</p><p>  case 2:browse();break;</p><p&

58、gt;  case 3:find();break;</p><p>  case 4:deleter();</p><p>  browse();break;</p><p>  case 5:modify();break;</p><p>  case 6:leave();break;</p><p>  defau

59、lt:printf("輸入數(shù)據(jù)錯誤,請從新輸入!");</p><p><b>  }</b></p><p>  }while(1);</p><p>  case 2: leave();</p><p>  default:printf("輸入數(shù)據(jù)錯誤,請從新輸入!");<

60、;/p><p><b>  }</b></p><p><b>  return 0;</b></p><p><b>  }</b></p><p><b>  程序調(diào)試及運行結(jié)果</b></p><p>  4.1程序調(diào)試:(1).

61、程序沒錯,能運行,但是修改或刪除過后,錄入信息不會發(fā)生變化,在朋友的幫助下,知道是remove("bookinf.txt");rename("f.txt","bookinf.txt")這兩個函數(shù)有問題,不過改了很多都沒辦法,最后沒用這兩個函數(shù)。</p><p> ?。?).在完善程序時出現(xiàn)幾個小錯誤,通過追蹤等手段修改成功。</p><

62、;p><b>  4.2 運行結(jié)果</b></p><p><b> ?。?)</b></p><p>  設(shè)計總結(jié):這次的課程設(shè)計主要使用C語言知識來設(shè)計一個圖書管理系統(tǒng),而對于這個知識我們曾經(jīng)都開了課程,并且進行了系統(tǒng)的學(xué)習(xí)。我曾經(jīng)自認為C語言還學(xué)得不錯,因為書上的東西差不多都弄懂了,然而這次課程設(shè)計我卻發(fā)現(xiàn)書上的東西我?guī)缀跬貌畈欢嗔?/p>

63、,一個很簡單的語句都不知道怎么去寫,甚至連怎樣新建工程和文件都忘了。我恍然間發(fā)覺自己做的很差,對于已經(jīng)學(xué)的東西沒有很好地進行運用,以至于很多已經(jīng)學(xué)了的東西都已經(jīng)忘記了。雖然如此,但我通過參考網(wǎng)站上的程序,以及一些朋友的幫助,我基本完成了程序,雖然不完美,但是我還是很高興。 </p><p>  通過這兩個星期的課程設(shè)計,是我對所學(xué)知識有了更深一步的理解與掌握,理論與實踐也能更好地結(jié)合在一起,這一過程中我遇到了很多

溫馨提示

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

評論

0/150

提交評論