2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  《C語言程序》課程設計</p><p><b>  報告書</b></p><p>  設計題目: 圖書管理 </p><p>  專業(yè): 電子信息工程 </p><p><b>  目 錄</b></p><p> 

2、 摘 要 ―――――――――――――――――-02</p><p>  第一章 緒論 ――――――――――――――-04</p><p>  第二章 問題定義(或系統(tǒng)分析) ―――――----05</p><p>  第三章 總體設計與詳細設計 ―――――――--06</p><p>  第四章 編碼實現(xiàn)―――――――-――--―---07&

3、lt;/p><p>  第五章 調(diào)試與測試 ―――――――――――-11</p><p>  第六章 總結(jié)與心得 ―――――――――――-12</p><p><b>  附錄:</b></p><p>  1源代碼――――――――――――――――--12</p><p>  2參考資料―――――――

4、――――――――--32</p><p><b>  摘 要</b></p><p>  當今計算機應用在生活中可以說是無處不在,因此作為二十一世紀的大學生來說掌握程序開發(fā)技術是十分重要的.而C語言又是最常見的,功能最強大的一種語言.因此,做好C語言課程設計是非常必要的.課程設計是培養(yǎng)學生綜合運用所學知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對

5、我們的實際工作能力的具體訓練和考察過程。從拿到題目到完成整個編輯的幾個星期里,不僅鞏固了以前學過的知識,還可以學到很多新的東西。</p><p>  我做的圖書資料管理系統(tǒng),雖然是一個小程序,但對我這樣一初學者來說確實是一個很大的困難,以至于好幾節(jié)課程設計下來還是沒什么太大的進展。在圖書管理系統(tǒng)中,要為每一個借閱者建立一個帳戶,并給借閱者發(fā)放借閱卡,帳戶中存儲借閱者的個人信息,借閱信息,以及預定信息。持有借閱卡的

6、借閱者可以借閱書刊,反還書刊,查詢書刊信息,預定書刊并取消預定,但這些操作都是通過圖書管理員進行的,即借閱者不直接與系統(tǒng)交互,而是圖書管理員充當借閱者的代理與系統(tǒng)交互。在借閱書刊時,需要輸入所借閱的書刊的名字,書刊的ISBN/ISSN號,然后輸入借閱者的圖書卡號和借閱者名,完成后提交所添表格,系統(tǒng)驗證借閱者是否有效,若有效,借閱請求被接受,系統(tǒng)查詢數(shù)據(jù)庫系統(tǒng),看借閱者所借閱書刊是否存在,若存在,則借閱者可以借閱書刊,建立并在系統(tǒng)中存儲借

7、閱記錄。借閱者還書后,刪除關于所還書刊的借閱記錄。如果借閱者所借閱的書刊已被借出,借閱者還可以預定該書,一旦借閱者預定的書刊可以獲得,就將書刊直接寄給預定人。</p><p>  這個程序主要考察了學生對結(jié)構(gòu)體,指針,文件的操作,以及C語言算法的掌握,所以完成此道題目要求較強的設計能力,尤其是一種大局意識。如何調(diào)試程序也非常重要,通過這個程序可以學到以前調(diào)試短程序沒有的的經(jīng)驗。</p><p&

8、gt;<b>  【關鍵字】</b></p><p>  1圖書管理 2圖書查找 3圖書借還 4圖書的新增與修改</p><p><b>  第一章 緒論</b></p><p><b>  1.1選題背景</b></p><p>  隨著社

9、會的發(fā)展及知識經(jīng)濟時代的到來,管理信息系統(tǒng)在各行各業(yè)發(fā)揮著越來越重要的作用。但在高校的圖書管理中,避免了手工操作而帶來的一些不必要的問題。</p><p><b>  1.2系統(tǒng)目標</b></p><p>  本系統(tǒng)的目標是將高校圖書管理工作實現(xiàn)計算機管理,從而大幅度提高工效率,提高實施管理的準確性、科學性;使擔負管理的工作人員從繁雜的手工勞作中解脫出來,更好實施針

10、對圖書借閱管理在手工操作遇到的問題。</p><p><b>  1.3系統(tǒng)目的</b></p><p>  通過本項課程設計,可以培養(yǎng)獨立思考、 綜合運用所學有關相應知識的能力,能更好的鞏固《C語言程序設計》課程學習的內(nèi)容,掌握工程軟件設計的基本方法,強化上機動手編程能力,闖過理論與實踐相結(jié)合的難關!更加了解了c語言的好處和其可用性!同時增加了同學之間的團隊合作精神

11、!更加也體會到以后在工作中團隊合作的重要性和必要性!</p><p>  通過C語言課程設計,使學生了解高級程序設計語言的結(jié)構(gòu),掌握基本的程序設計過程和技巧,掌握基本的分析問題和利用計算機求解問題的能力,具備初步的高級語言程序設計能力。為后續(xù)各門計算機課程的學習和畢業(yè)設計打下堅實基礎。</p><p>  第二章 問題定義(或系統(tǒng)分析)</p><p>  2.1題

12、目分析 一、目的要求</p><p>  本課程設計任務的目的是要求學生按照分析、設計、編碼、調(diào)試和測試的軟件開發(fā)過程獨立完成管理系統(tǒng)設計,以及C語言算法的掌握,并能最終實現(xiàn)本系統(tǒng)的功能要求,通過這個程序可以學習到以前調(diào)試短程序沒有的的經(jīng)驗。</p><p><b>  【題目要求】</b></p><p> ?。?)為各項操作功能設計一個菜

13、單。應用程序運行后,先顯示這個菜單,然后用戶通過菜單項選擇希望進行的操作項目;</p><p>  (2)要求以上功能分別用函數(shù)實現(xiàn)。并要求用C語言的文件操作語句將以上所有結(jié)果保存在文件XX.out。</p><p><b>  【輸入/輸出要求】</b></p><p> ?。?)應用程序運行后,先顯示一個菜單,然后用戶根據(jù)需要選擇相應的操作

14、項目。進入每個操作后,根據(jù)程序的提示輸入相應的信息;</p><p>  (2)要求用戶輸入數(shù)據(jù)時,要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。菜單中的每一個選項都對應一個子程序,子程序的算法幾乎囊獲了所有C語言學過的技巧。</p><p>  目前社會管理系統(tǒng)發(fā)展飛快,教務管理信息系統(tǒng)也是有了很大的發(fā)展。本系統(tǒng)完全獨立開發(fā),力求使系統(tǒng)功能簡明,但功能全易操作。它適應

15、了時代發(fā)展,適應了我國教育深化改革、全面實施素質(zhì)教育的需要;從技術角度分析,這項開發(fā)工作所涉及的專業(yè)技術如下:操作系統(tǒng)采用Windows 2000以上的版本;在數(shù)據(jù)管理系統(tǒng)上,我們可采用了Microsoft Office Access,開發(fā)工具選用Microsoft Visual Basic .NET2003;從經(jīng)濟角度分析, 采用計算機管理不但可以提高工作效率,而且還可以節(jié)省人力、物力、財力,降低了人工處理產(chǎn)生的錯誤</p>

16、;<p>  第三章 總體設計與詳細設計</p><p>  圖書數(shù)據(jù):書號,書名,作者,出版時間,價格,冊數(shù),頁數(shù)</p><p>  借書人信息:姓名,單位,所借書目,借閱時間等</p><p>  1.借書模塊:輸入書名</p><p><b>  編號</b></p><p>

17、;  借書證號(如書庫中有書并且冊數(shù)大于0,則進行借書,借書日期由系統(tǒng)時間提供)</p><p>  2.還書模塊:登記借書證號</p><p><b>  進行還書操作</b></p><p><b>  同時提供有無超時</b></p><p><b>  有則給予罰款處理。</

18、b></p><p>  3.圖書管理:對書庫中書進行管理</p><p><b>  新書入庫</b></p><p><b>  舊書刪除</b></p><p>  對庫存量進行統(tǒng)計和查詢</p><p>  4.查詢模塊:對書庫中書進行查詢</p>

19、<p><b>  根據(jù)書名進行查詢</b></p><p><b>  根據(jù)書號進行查詢</b></p><p><b>  根據(jù)出版社進行查詢</b></p><p><b>  對借閱書進行查詢</b></p><p>  對一段時間或某

20、書進行查詢和統(tǒng)計</p><p><b>  第四章 編碼實現(xiàn)</b></p><p>  增加圖書功能,id自動排號 </p><p>  根據(jù)圖書類型和圖書狀態(tài),顯示用戶信息</p><p>  int add_books(Book* head, Book* book_for_add){  &

21、#160; Book* p = head;    if (!p)        return -1;    while (p->_next)    {        p = p->_nex

22、t;    };    p->_next = book_for_add;    book_for_add->_id = p->_id+1;    book_for_add->_prev = p;    book_for_add->_next = NU

23、LL;    book_for_add->_count = 0;    book_for_add->_status = 0;    return 0;};查找書名稱,返回查找到的數(shù)量,書名可能有重復的,一本書可能也有很多本,但是ID卻是唯一的 int search_books_by_name(Book* book_head,

24、 char* name){    int count = 0;    Book* p = book_hea</p><p>  Book* borrow_books(Book* book_head, int id){    Book* p = book_head;    while

25、(p)    {        if (p->_id == id)            break;        p = p->_nex

26、t;    }    if (!p)/* 不存在 */        return NULL; 還書,正常歸還就返回該書的指針,否則就返回NULL</p><p>  還書要登記 Book* return_books(Book* book_head, int id){&

27、#160;   Book* p = book_head;    while (p)    {        if (p->_id == id && p->_status != 0)      &

28、#160; {            p->_status = 0; </p><p><b>  第五章 調(diào)試與測試</b></p><p><b>  運行的結(jié)果說明:</b></p><p>  在V

29、isual C++ 6.0</p><p>  在此環(huán)境下運行比較好,其界面十分友好并且能正常運行。</p><p><b>  第六章 總結(jié)與心得</b></p><p>  首先我覺得,用到的程序段不必太高級,因為天下事皆有高低之分,決定優(yōu)劣的不是集體中的某部分的強弱,起決定作用的是組合內(nèi)各元素的和諧,要能在一個集體中各盡其用,每個人都能發(fā)

30、揮自己的長處,避免自己的短處,那么這個集體的組合能量是最優(yōu)的。選擇什么等級的C語言就是關鍵,最后我決定運用文件,我的理解是;必須建立一個文件,它能夠保存新的錄入文擋,又能在提示語的要求下讀出文檔。</p><p>  然而,這只是萬里長征的第一步,后面的路還很長,困難還有很多,可是我能成功的編譯一個程序,能夠在思路卡殼的情況下,繼續(xù)前進,我在此很感謝給予我耐心解答的老師和同學,是他們?yōu)槲倚〕绦虻某晒ζ鸬搅岁P鍵性的

31、作用,那么多個日夜,如此多的困難,同學們勤懇塌實,從開始到結(jié)束,始終熱情高漲,我感謝這種氛圍,感謝學校提供的良好條件。</p><p>  在課程設計過程中,我學到了很多人生哲理,懂得怎么樣去制定計劃,怎么樣去實踐計劃,并掌握了在執(zhí)行過程中</p><p><b>  附錄 </b></p><p><b>  源代碼</b&

32、gt;</p><p>  漢字菜單的編寫可參照以下代碼:</p><p>  #include "stdio.h"</p><p><b>  . main()</b></p><p>  { char c;</p><p><b>  int i;</b&

33、gt;</p><p><b>  do</b></p><p><b>  {</b></p><p><b>  clrscr();</b></p><p>  for(i=0;i<80;i++)</p><p>  printf("

34、*");</p><p>  printf("\t 1: add books\n");</p><p>  printf("\t 2: list books\n");</p><p>  printf("\t 3: sreach books\n");</p><p>  p

35、rintf("\t 4: borrow books\n");</p><p>  printf("\t 5: return books\n");</p><p>  printf(“\t6: exit\n”)</p><p>  printf("\t請選擇輸入選項[1\\2\\3\\4\\5\\6]:\n"

36、);</p><p><b>  do</b></p><p><b>  {</b></p><p>  c=getchar();</p><p>  }while(c!='1'&&c!='2'&&c!='3'&

37、;&c!='4'&&c!='5'&&!=’6’);</p><p>  getchar();</p><p><b>  switch(c)</b></p><p>  { case '1': input(); break;</p><

38、p>  case '2': del(); break;</p><p>  case '3': find(); break;</p><p>  case '4': arrange(); break;</p><p>  case ‘5’: right(); break;</p><

39、;p>  case '6': exit(0);</p><p><b>  }</b></p><p>  printf(" 按任意鍵返回主菜單:\n");</p><p>  getchar();</p><p><b>  clrscr();</b>&l

40、t;/p><p>  }while(1);</p><p><b>  }</b></p><p>  #include <stdio.h>#include <stdlib.h>#include <string.h>#define BORROWED     1#d

41、efine NOBORROW     0/* 定義圖書結(jié)構(gòu) */struct Book{    int   _id;           </p><p>  // 編號,唯一  &#

42、160; char _name[32];   </p><p>  // 圖書的名稱,不唯一    int   _type;        </p><p>  // 圖書的類型,不唯一    int

43、0;  _status;       </p><p>  // 圖書的狀態(tài),借出/沒有借出    int   _count;       </p><p>  // 圖書借出的次數(shù)

44、60;   struct Book* _next;</p><p>  // 下一本書    struct Book* _prev;</p><p>  // 上一本書};/* 定義圖書類型 */typedef struct Book Book;/* 操作的目錄提示 */char book_menu[][32] ={&#

45、160;   "add books",    "list books",    "search books",    "borrow books",    "return books",&#

46、160;   "exit",    "",};/* 操作的目錄提示1 */char book_menu_sub[][32] ={    "search books by name",    "search books by type",

47、    "",};/* 添加圖書類型,用戶信息顯示 */char book_types[][32] ={    "type0",    "type1",    "type2",    &qu

48、ot;",};/* 添加圖書狀態(tài),用戶信息顯示 */char book_status[][32] ={    "noborrow",    "borrowed",    </p><p>  /* 已經(jīng)被借走 */    

49、;    return NULL;    p->_status = 1;</p><p>  /* 借書登記 */    p->_count++;    </p><p>  /* 被借閱次數(shù)+1 */    r

50、eturn p;}/* 查找書名稱,返回查找到的數(shù)量,書名可能有重復的,一本書可能也有很多本,但是ID卻是唯一的 */int search_books_by_name(Book* book_head, char* name){    int count = 0;    Book* p = book_head;    while (p

51、)    {        if (strcmp(p->_name, name) == 0)        {            print_

52、book(p);            ++count;        }        p = p->_next;    } &#

53、160;  return count;}/* 查找書類型,返回查找到的數(shù)量,一個類型會有很多書 */int search_books_by_type(Book* book_head, int type){    int count = 0;    Book* p = book_head;    while </p&g

54、t;<p>  /* 還書登記 */            break;        }        p = p->_next;  

55、60; }    return p;}/* 打印操作選項 */void print_menu(char menus[][32]){    int no = 0;    printf("\nPLEASE SELECT ID LIKE 1 or 2 ..\n");    while

56、(strlen(menus[no]))    {        printf("%d   \t%s\n", no+1, menus[no]);        ++no;    } 

57、   printf("OPTION(");    while (no)    {        printf("/%d", no--);    }    printf("

58、):");}/* 主函數(shù) */int main(void){    char key = 0;    char ss[128];    int loop = 1;    Book firs</p><p><b>  } </b></p&g

59、t;<p><b>  參考資料</b></p><p>  《C程序設計語言》 機械工業(yè)出版社</p><p>  《程序設計實踐》 機械工業(yè)出版社</p><p>  《C程序設計》 清華大學出版社</p><p>  《C專家編程》 人

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論