

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 《C語(yǔ)言程序》課程設(shè)計(jì)</p><p><b> 報(bào)告書(shū)</b></p><p> 設(shè)計(jì)題目: 圖書(shū)管理 </p><p> 專業(yè): 電子信息工程 </p><p><b> 目 錄</b></p><p>
2、 摘 要 ―――――――――――――――――-02</p><p> 第一章 緒論 ――――――――――――――-04</p><p> 第二章 問(wèn)題定義(或系統(tǒng)分析) ―――――----05</p><p> 第三章 總體設(shè)計(jì)與詳細(xì)設(shè)計(jì) ―――――――--06</p><p> 第四章 編碼實(shí)現(xiàn)―――――――-――--―---07&
3、lt;/p><p> 第五章 調(diào)試與測(cè)試 ―――――――――――-11</p><p> 第六章 總結(jié)與心得 ―――――――――――-12</p><p><b> 附錄:</b></p><p> 1源代碼――――――――――――――――--12</p><p> 2參考資料―――――――
4、――――――――--32</p><p><b> 摘 要</b></p><p> 當(dāng)今計(jì)算機(jī)應(yīng)用在生活中可以說(shuō)是無(wú)處不在,因此作為二十一世紀(jì)的大學(xué)生來(lái)說(shuō)掌握程序開(kāi)發(fā)技術(shù)是十分重要的.而C語(yǔ)言又是最常見(jiàn)的,功能最強(qiáng)大的一種語(yǔ)言.因此,做好C語(yǔ)言課程設(shè)計(jì)是非常必要的.課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)
5、我們的實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程。從拿到題目到完成整個(gè)編輯的幾個(gè)星期里,不僅鞏固了以前學(xué)過(guò)的知識(shí),還可以學(xué)到很多新的東西。</p><p> 我做的圖書(shū)資料管理系統(tǒng),雖然是一個(gè)小程序,但對(duì)我這樣一初學(xué)者來(lái)說(shuō)確實(shí)是一個(gè)很大的困難,以至于好幾節(jié)課程設(shè)計(jì)下來(lái)還是沒(méi)什么太大的進(jìn)展。在圖書(shū)管理系統(tǒng)中,要為每一個(gè)借閱者建立一個(gè)帳戶,并給借閱者發(fā)放借閱卡,帳戶中存儲(chǔ)借閱者的個(gè)人信息,借閱信息,以及預(yù)定信息。持有借閱卡的
6、借閱者可以借閱書(shū)刊,反還書(shū)刊,查詢書(shū)刊信息,預(yù)定書(shū)刊并取消預(yù)定,但這些操作都是通過(guò)圖書(shū)管理員進(jìn)行的,即借閱者不直接與系統(tǒng)交互,而是圖書(shū)管理員充當(dāng)借閱者的代理與系統(tǒng)交互。在借閱書(shū)刊時(shí),需要輸入所借閱的書(shū)刊的名字,書(shū)刊的ISBN/ISSN號(hào),然后輸入借閱者的圖書(shū)卡號(hào)和借閱者名,完成后提交所添表格,系統(tǒng)驗(yàn)證借閱者是否有效,若有效,借閱請(qǐng)求被接受,系統(tǒng)查詢數(shù)據(jù)庫(kù)系統(tǒng),看借閱者所借閱書(shū)刊是否存在,若存在,則借閱者可以借閱書(shū)刊,建立并在系統(tǒng)中存儲(chǔ)借
7、閱記錄。借閱者還書(shū)后,刪除關(guān)于所還書(shū)刊的借閱記錄。如果借閱者所借閱的書(shū)刊已被借出,借閱者還可以預(yù)定該書(shū),一旦借閱者預(yù)定的書(shū)刊可以獲得,就將書(shū)刊直接寄給預(yù)定人。</p><p> 這個(gè)程序主要考察了學(xué)生對(duì)結(jié)構(gòu)體,指針,文件的操作,以及C語(yǔ)言算法的掌握,所以完成此道題目要求較強(qiáng)的設(shè)計(jì)能力,尤其是一種大局意識(shí)。如何調(diào)試程序也非常重要,通過(guò)這個(gè)程序可以學(xué)到以前調(diào)試短程序沒(méi)有的的經(jīng)驗(yàn)。</p><p&
8、gt;<b> 【關(guān)鍵字】</b></p><p> 1圖書(shū)管理 2圖書(shū)查找 3圖書(shū)借還 4圖書(shū)的新增與修改</p><p><b> 第一章 緒論</b></p><p><b> 1.1選題背景</b></p><p> 隨著社
9、會(huì)的發(fā)展及知識(shí)經(jīng)濟(jì)時(shí)代的到來(lái),管理信息系統(tǒng)在各行各業(yè)發(fā)揮著越來(lái)越重要的作用。但在高校的圖書(shū)管理中,避免了手工操作而帶來(lái)的一些不必要的問(wèn)題。</p><p><b> 1.2系統(tǒng)目標(biāo)</b></p><p> 本系統(tǒng)的目標(biāo)是將高校圖書(shū)管理工作實(shí)現(xiàn)計(jì)算機(jī)管理,從而大幅度提高工效率,提高實(shí)施管理的準(zhǔn)確性、科學(xué)性;使擔(dān)負(fù)管理的工作人員從繁雜的手工勞作中解脫出來(lái),更好實(shí)施針
10、對(duì)圖書(shū)借閱管理在手工操作遇到的問(wèn)題。</p><p><b> 1.3系統(tǒng)目的</b></p><p> 通過(guò)本項(xiàng)課程設(shè)計(jì),可以培養(yǎng)獨(dú)立思考、 綜合運(yùn)用所學(xué)有關(guān)相應(yīng)知識(shí)的能力,能更好的鞏固《C語(yǔ)言程序設(shè)計(jì)》課程學(xué)習(xí)的內(nèi)容,掌握工程軟件設(shè)計(jì)的基本方法,強(qiáng)化上機(jī)動(dòng)手編程能力,闖過(guò)理論與實(shí)踐相結(jié)合的難關(guān)!更加了解了c語(yǔ)言的好處和其可用性!同時(shí)增加了同學(xué)之間的團(tuán)隊(duì)合作精神
11、!更加也體會(huì)到以后在工作中團(tuán)隊(duì)合作的重要性和必要性!</p><p> 通過(guò)C語(yǔ)言課程設(shè)計(jì),使學(xué)生了解高級(jí)程序設(shè)計(jì)語(yǔ)言的結(jié)構(gòu),掌握基本的程序設(shè)計(jì)過(guò)程和技巧,掌握基本的分析問(wèn)題和利用計(jì)算機(jī)求解問(wèn)題的能力,具備初步的高級(jí)語(yǔ)言程序設(shè)計(jì)能力。為后續(xù)各門計(jì)算機(jī)課程的學(xué)習(xí)和畢業(yè)設(shè)計(jì)打下堅(jiān)實(shí)基礎(chǔ)。</p><p> 第二章 問(wèn)題定義(或系統(tǒng)分析)</p><p> 2.1題
12、目分析 一、目的要求</p><p> 本課程設(shè)計(jì)任務(wù)的目的是要求學(xué)生按照分析、設(shè)計(jì)、編碼、調(diào)試和測(cè)試的軟件開(kāi)發(fā)過(guò)程獨(dú)立完成管理系統(tǒng)設(shè)計(jì),以及C語(yǔ)言算法的掌握,并能最終實(shí)現(xiàn)本系統(tǒng)的功能要求,通過(guò)這個(gè)程序可以學(xué)習(xí)到以前調(diào)試短程序沒(méi)有的的經(jīng)驗(yàn)。</p><p><b> 【題目要求】</b></p><p> ?。?)為各項(xiàng)操作功能設(shè)計(jì)一個(gè)菜
13、單。應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過(guò)菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目;</p><p> ?。?)要求以上功能分別用函數(shù)實(shí)現(xiàn)。并要求用C語(yǔ)言的文件操作語(yǔ)句將以上所有結(jié)果保存在文件XX.out。</p><p><b> 【輸入/輸出要求】</b></p><p> ?。?)應(yīng)用程序運(yùn)行后,先顯示一個(gè)菜單,然后用戶根據(jù)需要選擇相應(yīng)的操作
14、項(xiàng)目。進(jìn)入每個(gè)操作后,根據(jù)程序的提示輸入相應(yīng)的信息;</p><p> (2)要求用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。菜單中的每一個(gè)選項(xiàng)都對(duì)應(yīng)一個(gè)子程序,子程序的算法幾乎囊獲了所有C語(yǔ)言學(xué)過(guò)的技巧。</p><p> 目前社會(huì)管理系統(tǒng)發(fā)展飛快,教務(wù)管理信息系統(tǒng)也是有了很大的發(fā)展。本系統(tǒng)完全獨(dú)立開(kāi)發(fā),力求使系統(tǒng)功能簡(jiǎn)明,但功能全易操作。它適應(yīng)
15、了時(shí)代發(fā)展,適應(yīng)了我國(guó)教育深化改革、全面實(shí)施素質(zhì)教育的需要;從技術(shù)角度分析,這項(xiàng)開(kāi)發(fā)工作所涉及的專業(yè)技術(shù)如下:操作系統(tǒng)采用Windows 2000以上的版本;在數(shù)據(jù)管理系統(tǒng)上,我們可采用了Microsoft Office Access,開(kāi)發(fā)工具選用Microsoft Visual Basic .NET2003;從經(jīng)濟(jì)角度分析, 采用計(jì)算機(jī)管理不但可以提高工作效率,而且還可以節(jié)省人力、物力、財(cái)力,降低了人工處理產(chǎn)生的錯(cuò)誤</p>
16、;<p> 第三章 總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)</p><p> 圖書(shū)數(shù)據(jù):書(shū)號(hào),書(shū)名,作者,出版時(shí)間,價(jià)格,冊(cè)數(shù),頁(yè)數(shù)</p><p> 借書(shū)人信息:姓名,單位,所借書(shū)目,借閱時(shí)間等</p><p> 1.借書(shū)模塊:輸入書(shū)名</p><p><b> 編號(hào)</b></p><p>
17、; 借書(shū)證號(hào)(如書(shū)庫(kù)中有書(shū)并且冊(cè)數(shù)大于0,則進(jìn)行借書(shū),借書(shū)日期由系統(tǒng)時(shí)間提供)</p><p> 2.還書(shū)模塊:登記借書(shū)證號(hào)</p><p><b> 進(jìn)行還書(shū)操作</b></p><p><b> 同時(shí)提供有無(wú)超時(shí)</b></p><p><b> 有則給予罰款處理。</
18、b></p><p> 3.圖書(shū)管理:對(duì)書(shū)庫(kù)中書(shū)進(jìn)行管理</p><p><b> 新書(shū)入庫(kù)</b></p><p><b> 舊書(shū)刪除</b></p><p> 對(duì)庫(kù)存量進(jìn)行統(tǒng)計(jì)和查詢</p><p> 4.查詢模塊:對(duì)書(shū)庫(kù)中書(shū)進(jìn)行查詢</p>
19、<p><b> 根據(jù)書(shū)名進(jìn)行查詢</b></p><p><b> 根據(jù)書(shū)號(hào)進(jìn)行查詢</b></p><p><b> 根據(jù)出版社進(jìn)行查詢</b></p><p><b> 對(duì)借閱書(shū)進(jìn)行查詢</b></p><p> 對(duì)一段時(shí)間或某
20、書(shū)進(jìn)行查詢和統(tǒng)計(jì)</p><p><b> 第四章 編碼實(shí)現(xiàn)</b></p><p> 增加圖書(shū)功能,id自動(dòng)排號(hào) </p><p> 根據(jù)圖書(shū)類型和圖書(shū)狀態(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ū)名稱,返回查找到的數(shù)量,書(shū)名可能有重復(fù)的,一本書(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; 還書(shū),正常歸還就返回該書(shū)的指針,否則就返回NULL</p><p> 還書(shū)要登記 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)試與測(cè)試</b></p><p><b> 運(yùn)行的結(jié)果說(shuō)明:</b></p><p> 在V
29、isual C++ 6.0</p><p> 在此環(huán)境下運(yùn)行比較好,其界面十分友好并且能正常運(yùn)行。</p><p><b> 第六章 總結(jié)與心得</b></p><p> 首先我覺(jué)得,用到的程序段不必太高級(jí),因?yàn)樘煜率陆杂懈叩椭?,決定優(yōu)劣的不是集體中的某部分的強(qiáng)弱,起決定作用的是組合內(nèi)各元素的和諧,要能在一個(gè)集體中各盡其用,每個(gè)人都能發(fā)
30、揮自己的長(zhǎng)處,避免自己的短處,那么這個(gè)集體的組合能量是最優(yōu)的。選擇什么等級(jí)的C語(yǔ)言就是關(guān)鍵,最后我決定運(yùn)用文件,我的理解是;必須建立一個(gè)文件,它能夠保存新的錄入文擋,又能在提示語(yǔ)的要求下讀出文檔。</p><p> 然而,這只是萬(wàn)里長(zhǎng)征的第一步,后面的路還很長(zhǎng),困難還有很多,可是我能成功的編譯一個(gè)程序,能夠在思路卡殼的情況下,繼續(xù)前進(jìn),我在此很感謝給予我耐心解答的老師和同學(xué),是他們?yōu)槲倚〕绦虻某晒ζ鸬搅岁P(guān)鍵性的
31、作用,那么多個(gè)日夜,如此多的困難,同學(xué)們勤懇塌實(shí),從開(kāi)始到結(jié)束,始終熱情高漲,我感謝這種氛圍,感謝學(xué)校提供的良好條件。</p><p> 在課程設(shè)計(jì)過(guò)程中,我學(xué)到了很多人生哲理,懂得怎么樣去制定計(jì)劃,怎么樣去實(shí)踐計(jì)劃,并掌握了在執(zhí)行過(guò)程中</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請(qǐng)選擇輸入選項(xiàng)[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/* 定義圖書(shū)結(jié)構(gòu) */struct Book{ int _id; </p><p> // 編號(hào),唯一
42、160; char _name[32]; </p><p> // 圖書(shū)的名稱,不唯一 int _type; </p><p> // 圖書(shū)的類型,不唯一 int
43、0; _status; </p><p> // 圖書(shū)的狀態(tài),借出/沒(méi)有借出 int _count; </p><p> // 圖書(shū)借出的次數(shù)
44、60; struct Book* _next;</p><p> // 下一本書(shū) struct Book* _prev;</p><p> // 上一本書(shū)};/* 定義圖書(shū)類型 */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、 "",};/* 添加圖書(shū)類型,用戶信息顯示 */char book_types[][32] ={ "type0", "type1", "type2", &qu
48、ot;",};/* 添加圖書(shū)狀態(tài),用戶信息顯示 */char book_status[][32] ={ "noborrow", "borrowed", </p><p> /* 已經(jīng)被借走 */
49、; return NULL; p->_status = 1;</p><p> /* 借書(shū)登記 */ p->_count++; </p><p> /* 被借閱次數(shù)+1 */ r
50、eturn p;}/* 查找書(shū)名稱,返回查找到的數(shù)量,書(shū)名可能有重復(fù)的,一本書(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ū)類型,返回查找到的數(shù)量,一個(gè)類型會(huì)有很多書(shū) */int search_books_by_type(Book* book_head, int type){ int count = 0; Book* p = book_head; while </p&g
54、t;<p> /* 還書(shū)登記 */ break; } p = p->_next;
55、60; } return p;}/* 打印操作選項(xiàng) */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程序設(shè)計(jì)語(yǔ)言》 機(jī)械工業(yè)出版社</p><p> 《程序設(shè)計(jì)實(shí)踐》 機(jī)械工業(yè)出版社</p><p> 《C程序設(shè)計(jì)》 清華大學(xué)出版社</p><p> 《C專家編程》 人
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書(shū)管理信息課程設(shè)計(jì)
- 《圖書(shū)管理系統(tǒng)》課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- 課程設(shè)計(jì)---課程設(shè)計(jì)圖書(shū)管理系統(tǒng)
- c課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì) (2)
- java課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- sql課程設(shè)計(jì)---圖書(shū)管理系統(tǒng)
- sql圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- vb圖書(shū)管理系統(tǒng)課程設(shè)計(jì)
- oracle課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)—課程設(shè)計(jì)報(bào)告
- 圖書(shū)管理課程設(shè)計(jì)報(bào)告
- vf課程設(shè)計(jì)--圖書(shū)管理系統(tǒng)
- 圖書(shū)管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 圖書(shū)管理課程設(shè)計(jì)報(bào)告
- 圖書(shū)管理系統(tǒng)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論