基于C語言的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于C語言的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于C語言的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于C語言的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于C語言的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、. . . . 畢業(yè)論文題目:基于C語言的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)英文題目:DesignandImplementationof Books ManagementSystemBased on C Language院 系:專 業(yè):電子信息科學(xué)與技術(shù)班 級(jí):2007級(jí)2班 姓 名:學(xué) 號(hào):指導(dǎo)教師:日期:2011年6月中文摘要人類已經(jīng)跨入了新世紀(jì),正在進(jìn)入信息化時(shí)代。信息化浪潮、網(wǎng)絡(luò)革命在給社會(huì)帶來沖擊的同時(shí),也使圖書館業(yè)務(wù)受到了強(qiáng)烈的沖擊,圖書館傳統(tǒng)的管理和服務(wù)方式已不能適應(yīng)讀者對(duì)日益增長(zhǎng)的文獻(xiàn)信息的需求。隨著館藏量的不斷增加,圖書資料的錄入和查詢的難度也就相應(yīng)增加,數(shù)據(jù)處理手工操作,工作量大,出

2、錯(cuò)率高,出錯(cuò)后不易更改的手工方式,已經(jīng)不能滿足要求。 基于此問題,建立一個(gè)規(guī)化,系統(tǒng)化,程序化的圖書管理系統(tǒng)迫不急待。為方便對(duì)圖書館書籍、讀者資料、借還書等進(jìn)行高效的管理,特編寫程序以提高圖書館的管理效率。使用程序之后,工作人員可以查詢某位讀者、某種圖書的借閱情況,還可以對(duì)當(dāng)前圖書借閱情況進(jìn)行一些統(tǒng)計(jì),以便全面掌握?qǐng)D書的流通情況等等。關(guān)鍵詞:C語言;圖書管理;數(shù)據(jù)處理;信息技術(shù)ABSTRACTMankind has entered the new century, which is entering the information age. Wave of information techno

3、logy, the network revolution has brought about the impact, but also make the library service has been badly hit,and library management and services of traditional methods can not meet the growing literature on the information the reader needs. With the continuous increase in the collections, books,

4、data entry and also a corresponding increase in the difficulty of queries, data processing manual operation, heavy workload, error rate, error is not easy to change after the manual mode can no longer meet the requirements. Based on this problem, the establishment of a standardized, systematic, proc

5、ess-oriented library management system can not wait. For the convenience of library books, readers information, such as borrowing and returning books for efficient management, especially the preparation of the management procedures to enhance the efficiency of the library. After using the program, s

6、taff can search for certain readers, borrow some books, can also borrow books on the current situation of some statistics in order to fully grasp the flow of books. KEY WORDS:C language, Library Management, Data Processing, Information Technology28 / 33目 錄1緒論.11.1選題背景和選題意義11.1.1選題背景11.1.2選題意義11.2圖書管

7、理系統(tǒng)簡(jiǎn)介11.3圖書管理系統(tǒng)需求分析12系統(tǒng)分析.32.1題目分析32.2系統(tǒng)分析33管理系統(tǒng)的總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)43.1總體設(shè)計(jì)43.2詳細(xì)設(shè)計(jì)44調(diào)試與測(cè)試145編碼實(shí)現(xiàn)15結(jié)論19致20參考文獻(xiàn)21附錄221 緒論1.1選題背景和選題意義1.1.1選題背景隨著社會(huì)的發(fā)展與知識(shí)經(jīng)濟(jì)時(shí)代的到來,信息管理系統(tǒng)在各行各業(yè)發(fā)揮著越來越重要的作用。而在高校的圖書管理中,避免了手工操作而帶來的一些不必要的問題。1.1.2選題意義圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前

8、對(duì)信息管理的主要方式是基于文本,表格等紙介質(zhì)的手工處理,數(shù)據(jù)處理工作量大,容易出錯(cuò)。由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng)規(guī)的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基于環(huán)境。1.2圖書管理系統(tǒng)簡(jiǎn)介圖書管理系統(tǒng)是圖書館的重要組成部分,圖書是我們最好的獲取信息的方式,但由于圖書館圖書收藏量大大增加,使傳統(tǒng)的圖書管理員的工作日益繁重起來,迫使人們起用新的管理方法來管理圖書。本文通過設(shè)計(jì)和開發(fā)圖書館管理系統(tǒng)的實(shí)踐,闡述了圖書管理軟件中所應(yīng)具有的功能、設(shè)計(jì)、實(shí)現(xiàn)。介紹了圖書管理系統(tǒng)的設(shè)計(jì)和系統(tǒng)功能的實(shí)現(xiàn)過

9、程。該系統(tǒng)可以運(yùn)用于高校的圖書管理,由圖書借閱,圖書歸還,圖書查詢,圖書信息修改,等多個(gè)模塊組成,實(shí)現(xiàn)了圖書資料的計(jì)算機(jī)網(wǎng)絡(luò)管理。一般通用的圖書館管理系統(tǒng)通常包括系統(tǒng)管理、讀者管理、編目、圖書流通、統(tǒng)計(jì)、查詢等功能。比較先進(jìn)的系統(tǒng)能夠在一個(gè)界面下實(shí)現(xiàn)圖書、音像、期刊的管理,設(shè)置假期、設(shè)置暫離鎖、暫停某些讀者的借閱權(quán)、導(dǎo)入導(dǎo)出讀者資料、交換MARC(Machine Readable Catalogue)數(shù)據(jù)、升級(jí)輔助編目庫(kù)、征訂圖書等。此外,隨著工Internet應(yīng)用的發(fā)展,一個(gè)完善的系統(tǒng)還應(yīng)提供無縫接入Internet的功能,通過IE瀏覽器讓讀者使用借閱資料查詢、更換密碼、預(yù)約、資料檢索等功能

10、。有些系統(tǒng)還能提供讀者自助服務(wù),可以開放一些客戶機(jī)讓讀者自行管理密碼、查詢自己的借閱史、預(yù)約資料、檢索資料等。1.3圖書管理系統(tǒng)需求分析為滿足圖書管理現(xiàn)代化的需求,國(guó)軟件商已開發(fā)出很多商品化圖書管理軟件,但他們大多是面向大型專業(yè)圖書館而開發(fā)的,專業(yè)性強(qiáng),操作和使用比較復(fù)雜,難以掌握。而國(guó)很多中小型圖書館由于管理人員不多且大多數(shù)不是圖書管理業(yè)務(wù)的專業(yè)人員、業(yè)務(wù)分工也不是很詳細(xì)、明確,這樣的軟件對(duì)于他們而言太復(fù)雜,所以應(yīng)用效果并不是很好。目前在大的圖書館己經(jīng)有一整套比較完善的信息管理系統(tǒng),而在一般小型圖書館部分工作還是進(jìn)行手工管理,工作效率低,并不能即時(shí)了解圖書館各類圖書的庫(kù)存,讀者比較需求的圖書

11、難以在短時(shí)間找到,圖書的入庫(kù)和更新比較麻煩等等,不便于動(dòng)態(tài)與時(shí)調(diào)整圖書結(jié)構(gòu)。同時(shí)由于不可避免的人為因素,造成數(shù)據(jù)的遺漏、誤報(bào)等。為了更好的適應(yīng)當(dāng)前中小型圖書館的讀者借閱需求,緩解手工管理存在的各種弊端,因此開發(fā)了面向中小型圖書館的圖書管理系統(tǒng),為用戶提供全方位的信息服務(wù)。通過對(duì)中小型圖書館的調(diào)查、分析發(fā)現(xiàn),用戶的需求可分為4個(gè)方面:第一是圖書館的工作人員通過計(jì)算機(jī)來管理各類圖書,分類編號(hào)、調(diào)整圖書結(jié)構(gòu)、增加圖書庫(kù)存,適應(yīng)讀者的需求。第二是讀者能通過計(jì)算機(jī)來查詢?yōu)g覽圖書館中的圖書,來確定自己需要的書籍,為借閱做好準(zhǔn)備。第三是工作人員對(duì)讀者的借書情況能夠作好全面掌握,能與時(shí)得到每個(gè)讀者的當(dāng)前借閱狀

12、態(tài)和歷史借閱記錄。第四也是圖書館的核心工作,對(duì)圖書的借閱管理。在軟、硬件方面對(duì)系統(tǒng)的需軟件要易學(xué),容易掌握,可以很簡(jiǎn)單方便地管理各種圖書信息。硬件的配置要求不能太高,這樣可以適應(yīng)中小型圖書館的經(jīng)濟(jì)條件??傊?,中小型圖書館管理信息系統(tǒng)旨在提供一個(gè)可以操作的,方便查詢的,易于修改的輔助管理系統(tǒng)。同時(shí)提供了系統(tǒng)智能輔助與用戶自主選擇的兩種方式,提高查詢效率。2 系統(tǒng)分析2.1題目分析本課程設(shè)計(jì)任務(wù)的目的是要求學(xué)生按照分析、設(shè)計(jì)、編碼、調(diào)試和測(cè)試的軟件開發(fā)過程獨(dú)立完成管理系統(tǒng)設(shè)計(jì),以與C語言算法的掌握,并能最終實(shí)現(xiàn)本系統(tǒng)的功能要求,通過這個(gè)程序可以學(xué)習(xí)到以前調(diào)試短程序沒有的的經(jīng)驗(yàn)。要求為各項(xiàng)操作功能設(shè)

13、計(jì)一個(gè)菜單。應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目;要求以上功能分別用函數(shù)實(shí)現(xiàn)。2.2系統(tǒng)分析圖書館管理系統(tǒng)包括:l 錄入:新進(jìn)圖書與基本信息輸入l 刪除:舊圖書與基本信息刪除l 查詢:查詢要借閱的圖書信息l 修改:修改已有的圖書信息l 借書:實(shí)現(xiàn)用戶辦理借書手續(xù)l 還書:實(shí)現(xiàn)用戶.辦理還書手續(xù)系統(tǒng)以菜單方式工作,界面友好,易于操作。系統(tǒng)的程序設(shè)計(jì)環(huán)境;:本系統(tǒng)使用Visual C+ 作為程序開發(fā)工具。Visual C+是基于對(duì)象的快速應(yīng)用程序開發(fā)工具,是當(dāng)今最強(qiáng)大、最靈活的應(yīng)用程序開發(fā)工具之一,具有良好的可視化應(yīng)用程序開發(fā)環(huán)境和強(qiáng)大的可擴(kuò)展數(shù)據(jù)庫(kù)功能。利用V

14、isual C+提供的可視化組件庫(kù)進(jìn)行編程,可以快速、高效地開發(fā)出基于Windows環(huán)境的各類應(yīng)用程序。Visual C+語言的特點(diǎn)是面向?qū)ο笤O(shè)計(jì)的程序語言,Visual C+的基礎(chǔ)編程語言是具有面向?qū)ο筇匦缘恼Z言,具有代碼穩(wěn)定、可讀性好、編譯速度快等優(yōu)點(diǎn),并將面向?qū)ο蟮母拍钜浦驳搅薈語言中,使這種基礎(chǔ)語言有了新的發(fā)展空間。與其它編程軟件相比,特別是在數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)應(yīng)用方面,Visual C+具有簡(jiǎn)便易用、靈活高效的特點(diǎn)。開發(fā)軟件通常要經(jīng)過修改源代碼、編譯、測(cè)試、再修改、再編譯、再測(cè)試等操作,這些操作形成了一個(gè)開發(fā)循環(huán),所以快速的編譯器可以大降低開發(fā)周期。Visual C+正是建立在這種高效編譯

15、器的基礎(chǔ)之上,是針對(duì)Windows的最快的高級(jí)語言代碼編譯器,因此生成的代碼十分精練高效,使Visual C+程序的運(yùn)行速度更快。這也是本人使用Visual C+作為程序設(shè)計(jì)開發(fā)語言的重要原因。3 管理系統(tǒng)的總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)3.1總體設(shè)計(jì)總體設(shè)計(jì)目標(biāo):使用者可以利用本系統(tǒng)進(jìn)行對(duì)圖書館借閱的各項(xiàng)運(yùn)算操作,如根據(jù)用戶的需求自動(dòng)的進(jìn)行添加圖書,刪除圖書,借書還書。查找所要的圖書,查閱圖書的詳細(xì)資料,查閱讀者的詳細(xì)資料。最后清晰完整的結(jié)果于屏幕中。大大方便使用者對(duì)圖書借閱的操作,不僅節(jié)省時(shí)間,而且提高準(zhǔn)確性,可以達(dá)到事半功倍的效果。總體設(shè)計(jì)策略:本系統(tǒng)采用的是自頂向下、層次化的模塊結(jié)構(gòu)。對(duì)高層模塊,

16、采用以事務(wù)為中心的設(shè)計(jì)策略,把一個(gè)大的模塊逐步分解成較小的相對(duì)簡(jiǎn)單的模塊。對(duì)低層模塊,采用以變換為中心的設(shè)計(jì)策略。為了提高每個(gè)模塊的聚性、降低模塊間的耦合性,將每個(gè)模塊設(shè)計(jì)成具有單一功能的模塊(即功能聚),使模塊間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實(shí)現(xiàn)(即非直接耦合)。結(jié)合上述分析該系統(tǒng)應(yīng)包括以下模塊:信息輸入、信息刪除,信息查詢,信息顯示,信息修改,圖書借出、圖書歸還。結(jié)構(gòu)圖如圖1:圖書館管理系統(tǒng)圖書歸還圖書借出顯示信息信息修改信息查詢信息刪除信息輸入圖 1 結(jié)構(gòu)框圖圖書數(shù)據(jù):序號(hào)、書名、作者、存數(shù)、總數(shù)。3.2詳細(xì)設(shè)計(jì) 主函數(shù)主函數(shù)要求設(shè)計(jì)比較簡(jiǎn)潔,只提供設(shè)輸入,處理和輸出部分的函數(shù)調(diào)用

17、。其中各功能模塊用菜單方式選擇。流程圖如下圖2:顯示一系列功能選項(xiàng)輸入n,判斷n是否1-8根據(jù)輸入的值調(diào)用各功能模塊的函數(shù)圖2 主函數(shù)流程圖程序: void main(void) menu: page_title("操作選單"); printf("請(qǐng)用數(shù)字鍵選擇操作nn"); printf("ttt1 注冊(cè)新書ttt2 借閱圖書 n"); printf("ttt3 查詢圖書信息ttt4 修改圖書信息n"); printf("ttt5 歸還圖書ttt6 刪除圖書n"); printf("

18、ttt7 顯示圖書ttt8 退出系統(tǒng)n"); printf("請(qǐng)按數(shù)字鍵:n"); switch(getch() case '1' : book_add(); break; case '2' : book_out(); break; case '3' : book_search(); break; case '4' : book_change(); break;case '5' : book_in(); break; case '6' : book_del(); bre

19、ak;case '7' : book_show(); break;case '8' : exit(0); goto menu; 輸入模塊分析:該模塊的功能是假如用戶需要新加入新的圖書信息,通過鍵盤輸入將新信息逐條加在原來輸入文件上但不能覆蓋原有信息。 流程圖如下圖3:圖 3 輸入模塊流程圖程序:void book_add(void) int n; system("cls");page_title("注冊(cè)新書");for(n=0;n<100;n+) if(booksn.id=0) break; printf("

20、;序號(hào):");scanf("%d",&booksn.id); printf("書名:"); scanf("%s",&); printf(""); scanf("%s",&booksn.author); printf(":"); scanf("%s",&booksn.publish); printf("數(shù)量:"); scanf("%d",&book

21、sn.total); booksn.store=booksn.total; return_confirm(); 刪除模塊分析:該模塊用于顯示所有圖書信息,由于記錄較多,故而采取分屏顯示。顯示完所有紀(jì)錄后,用戶需輸入圖書編號(hào)進(jìn)而查找圖書信息。流程圖如下圖4:輸入要?jiǎng)h除的圖書序號(hào)是否有該書書沒有找到相關(guān)信息該書已刪除返回主菜單 圖 4 刪除模塊流程圖程序:int book_del(void) int n,num,i; system("cls"); page_title("刪除圖書"); printf("請(qǐng)輸入所要?jiǎng)h除的書的編號(hào):"); s

22、canf("%d",&num); for(n=0;n<100;n+) if(booksn.id=num) for(i=n;i<100;i+) booksi.id=booksi+1.id; strcpy(,booksi+1.name); strcpy(booksi.publish,booksi+1.publish); printf("該書已刪除.n"); return n; printf("沒有找到相關(guān)記錄n"); return -1; 查詢模塊分析:改模塊功能應(yīng)體現(xiàn)為用戶輸入圖書書名,若有書則

23、查詢出來。流程圖如下圖5:顯示主菜單,輸入數(shù)字輸入要查詢的書名是否有該書沒有找到相關(guān)記錄顯示找到的圖書信息圖5 查詢模塊流程圖返回主菜單程序: int book_search(void) int n,i=1; char nam30; system("cls"); printf("請(qǐng)輸入書名:"); scanf("%s",&nam); for(n=0;n<100;n+) if(strcmp(,nam)=0) printf("序號(hào):%dt",booksn.id); printf(&q

24、uot;書名:%st",); printf("%st",booksn.author); printf(":%st",booksn.publish); printf("存數(shù):%dt",booksn.store); printf("總數(shù):%dn",booksn.total);i=0; if(i=1) printf("n沒有找到相關(guān)記錄.n"); return -1; 修改模塊分析:該模塊功能應(yīng)體現(xiàn)為用戶修改圖書信息,若有記錄則修改信息。流程圖如下圖6:輸入需要修改圖書

25、的編號(hào)是否有該書記錄返回主菜單沒有找到相關(guān)記錄依次輸入修改后的數(shù)據(jù)圖6 修改模塊流程圖程序: int book_change(void) int n,i; system("cls"); page_title("修改圖書信息"); printf("請(qǐng)輸入要修改的圖書編號(hào):"); scanf("%d",&i); for(n=0;n<100;n+) if(booksn.id=i) printf("修改書名:"); scanf("%s",); pr

26、intf("修改 ");scanf("%s",booksn.author); printf("修改名:"); scanf("%s",booksn.publish); printf("修改總數(shù):"); scanf("%d",&booksn.total);printf("修改圖書信息成功.n"); booksn.store=booksn.total; return n; printf("n沒有找到相關(guān)記錄.n"); return -

27、1; 顯示模塊分析:該模塊功能應(yīng)體現(xiàn)為顯示全部的圖書信息。流程圖如下圖7:顯示主菜單,輸入數(shù)字是否有圖書顯示所有圖書信息圖7 顯示模塊流程圖沒有找到相關(guān)記錄程序: int book_show(void)int n,i=1;system("cls"); for(n=0;n<100;n+) if(strlen()!=0) printf("序號(hào):%dt",booksn.id); printf("書名:%st",); printf("%st",booksn.author);

28、 printf(":%st",booksn.publish); printf("存數(shù):%dt",booksn.store); printf("總數(shù):%dn",booksn.total); i=0; if(i=1) printf("n沒有找到相關(guān)記錄.n"); return -1; 借出模塊分析:該模塊功能應(yīng)體現(xiàn)為用戶輸入圖書序號(hào),若有書則要求輸入賬號(hào)。流程圖如下圖8:圖8 借書模塊流程圖程序:void book_out(void) int n,s,l,d;system("cls"); page_

29、title("借閱圖書"); if(n=search_book()!=-1&&booksn.store>0) printf("請(qǐng)輸入借書證序號(hào):"); scanf("%d",&s); printf("請(qǐng)輸入可借天數(shù):"); scanf("%d",&d); for(l=0;l<10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&

30、;&booksn.store=0) printf("此書已經(jīng)全部借出.n"); return_confirm(); 歸還模塊分析:該模塊功能應(yīng)體現(xiàn)為方便用戶歸還圖書流程圖如下圖9:輸入要?dú)w還的圖書序號(hào)是否有該書書沒有找到相關(guān)信息顯示記錄,輸入相關(guān)信息返回主菜單 圖9 歸還圖書模塊程序:void book_in(void) int n,s,l; page_title("歸還圖書"); if(n=search_book()!=-1&&booksn.store<booksn.total) printf("借閱者圖書證列表

31、:n"); for(l=0;l<10;l+) if (booksn.usrl!=0) printf("%d- %d天n",booksn.usrl,booksn.daysl); printf("請(qǐng)輸入借書證序號(hào):"); scanf("%d",&s); for(l=0;l<10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store+; if(n!=-1&&booksn.store=booksn.tota

32、l) printf("全部入藏.n"); return_confirm(); 公共函數(shù)定義結(jié)構(gòu)體: struct BOOK int id,usr10,total,store,days10,zt; char name31,author21; books100;void page_title(char *menu_item) printf("ttt*歡迎使用圖書館管理系統(tǒng)*nn- %s -nn",menu_item); void return_confirm(void) printf("n按任意鍵返回n");getch(); 4 調(diào)試與測(cè)

33、試第一,用一組簡(jiǎn)單的數(shù)據(jù)對(duì)程序進(jìn)行調(diào)試,是否各函數(shù)有出錯(cuò)現(xiàn)象。然后用復(fù)雜數(shù)據(jù)對(duì)程序進(jìn)行調(diào)試。直到確定程序?qū)φ?shù)據(jù)沒有錯(cuò)誤為止。第二,當(dāng)數(shù)據(jù)測(cè)試時(shí),程序錯(cuò)誤,要首先找到出錯(cuò)的函數(shù),對(duì)函數(shù)中各個(gè)變量進(jìn)行觀察,有時(shí)變量很多,循環(huán)多重不要急,對(duì)各個(gè)數(shù)據(jù)的觀察,對(duì)程序的調(diào)試有很大的幫助。你也可以先對(duì)幾個(gè)變量熟悉后,在多重循環(huán)里,確定正確的數(shù)據(jù),將其跳過調(diào)試,對(duì)有疑問的數(shù)據(jù)循環(huán)進(jìn)行仔細(xì)觀察。雖然這是比較省力氣的活,但對(duì)復(fù)雜的數(shù)據(jù)錯(cuò)誤并不是很有效,所以仔細(xì)觀察每個(gè)數(shù)據(jù)的變化對(duì)調(diào)試的成功與否有決定性作用。第三,測(cè)試時(shí),根本的錯(cuò)誤并不一定在運(yùn)行錯(cuò)誤的函數(shù),或許在前面的函數(shù)已經(jīng)奠定了這些錯(cuò)誤數(shù)據(jù)的基礎(chǔ),需要反過

34、頭來,對(duì)所有的的函數(shù)進(jìn)行一項(xiàng)項(xiàng)的調(diào)試!從程序運(yùn)行的第一個(gè)函數(shù)開始調(diào)試。按照程序運(yùn)行的步驟下去。一個(gè)個(gè)的確定函數(shù)的正確性,每確定一個(gè)函數(shù),在以后的調(diào)試中可以減少對(duì)該函數(shù)的調(diào)試次數(shù),或者直接跳到下一個(gè)函數(shù)。所謂的各個(gè)擊破便是如此。對(duì)頭文件中的各個(gè)函數(shù)的返回值和它所要傳入的參變量與其功能更是需要注意。第四,調(diào)試時(shí),需要對(duì)錯(cuò)誤縮小圍,從整個(gè)程序到指定函數(shù),再到指定區(qū)域,再到指定行,在對(duì)程序縮小圍或?qū)幾g沒通過的程序縮小錯(cuò)誤圍時(shí)可以用"/* */"來進(jìn)行調(diào)試,確定正常圍,縮小錯(cuò)誤圍。5 編碼實(shí)現(xiàn) 主界面截圖圖10 主界面 注冊(cè)新書界面截圖圖11 新書注冊(cè)借閱界面截圖圖12 圖書借閱

35、歸還界面截圖圖13 圖書歸還 查詢界面截圖圖 14 圖書查詢 修改界面截圖圖15 修改圖書 刪除界面截圖圖 16 刪除界面結(jié) 論經(jīng)過以上各章節(jié)的介紹,已經(jīng)完成了圖書館管理系統(tǒng)的開發(fā),圖書館系統(tǒng)是一套實(shí)用性非常強(qiáng)的系統(tǒng),從小學(xué)、中學(xué)直到大學(xué),很多人一直與圖書館打交道,圖書館的發(fā)展從手工管理、手工管理和計(jì)算機(jī)管理并行,直到現(xiàn)在的完全計(jì)算機(jī)管理。圖書館管理系統(tǒng)不僅需要靈活的交互功能,還需要經(jīng)常與數(shù)據(jù)庫(kù)進(jìn)行聯(lián)系,要求具有操作簡(jiǎn)單和功能強(qiáng)大的數(shù)據(jù)庫(kù)訪問能力。界面盡量美觀友好、多彩多姿,完全的圖形化設(shè)計(jì),操作者易于上手,同時(shí)多種媒體技術(shù)的集成利用,可以方便的完成用戶樂于接受的各種界面設(shè)計(jì)。本系統(tǒng)雖具備了基

36、本的功能,但由于時(shí)間關(guān)系,還有很多功能待實(shí)現(xiàn),在此基礎(chǔ)上結(jié)合實(shí)際應(yīng)用中所出現(xiàn)的問題,要改善圖書的入庫(kù)和刪除功能,使工作人員在主界面上就能進(jìn)行其操作;在過期天數(shù)中應(yīng)該增加罰款的功能;如果作為校園的圖書管理系統(tǒng),應(yīng)區(qū)分出不同身分的人(如教師和學(xué)生)的借閱權(quán)限等。通過這次編程我深深的感受到對(duì)代碼的變量命名,代碼注釋格式,甚至嵌套中行縮進(jìn)的長(zhǎng)度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯(cuò),也有助于不同人員之間的協(xié)作。我們還要有模塊化思維能力,模塊化思維就是編程任何一個(gè)功能模塊或函數(shù)的時(shí)候,要多想一些,不要局限在完成當(dāng)前任務(wù)的簡(jiǎn)單思路上,想想看該模塊是否可以脫離這個(gè)系統(tǒng)存在

37、,是否可以通過簡(jiǎn)單的修改參數(shù)的方式在其他系統(tǒng)和應(yīng)用環(huán)境下直接引用,這樣就能極大避免重復(fù)性的開發(fā)工作。善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個(gè)編程任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況,隨時(shí)總結(jié),找到自己的不足,這樣所編寫的程序才能逐步提高。致 經(jīng)過幾個(gè)月的忙碌,本次畢業(yè)論文設(shè)計(jì)已經(jīng)接近尾聲。作為一個(gè)應(yīng)屆畢業(yè)生,由于經(jīng)驗(yàn)的匱乏,難免有許多考慮不到的地方,如果沒有導(dǎo)師的督促和指導(dǎo),以與同學(xué)和朋友的支持,想要完成這個(gè)畢業(yè)論文設(shè)計(jì)是難以想像的。在論文的寫作過程中,得到了 老師的親切關(guān)懷和耐心的指導(dǎo)。老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和科學(xué)的工作方法給了我極大的幫助和影響。從課題的選擇得到畢業(yè)論文

38、設(shè)計(jì)最終完成,老師都始終給予我細(xì)心的指導(dǎo)。在此謹(jǐn)向 致以誠(chéng)摯的意和崇高的敬意。同時(shí),也要感各位老師,同學(xué)和朋友們給我極大的支持,對(duì)我的論文提出了寶貴的意見與建議。感所有幫助我的老師、同學(xué)和朋友們,在此向他們表達(dá)我的感激之情。參考文獻(xiàn)1 譚浩強(qiáng). C程序設(shè)計(jì). :清華大學(xué),2007.91-3102 剛. C語言程序設(shè)計(jì).:清華大學(xué).,2010.58-673 虹主編.C語言程序設(shè)計(jì).:大學(xué).,2010.34-764 高維春主編.C語言程序設(shè)計(jì)項(xiàng)目教程.:人民郵電,2010.54-675 海新,燕主編. C語言程序設(shè)計(jì)實(shí)用教程.:機(jī)械工業(yè),2007.161-1746 澤中,紅艷主編. C語言程序設(shè)計(jì)

39、.:清華大學(xué),2008.98-1017 路俊維,馬雪松主編. C語言程序設(shè)計(jì).:中國(guó)鐵道工業(yè),2009.78-988 王敬華等主編. C語言程序設(shè)計(jì)教程.:清華大學(xué),2005.45-649 明慧. Visual C+開發(fā)圖書管理系統(tǒng).:師大學(xué),2005.32-4010朔鷹等. C語言程序設(shè)計(jì)基礎(chǔ)教程.:兵器工業(yè),1994.78-9711譚浩強(qiáng).C程序設(shè)計(jì)題解與上機(jī)指導(dǎo).:清華大學(xué),2005.130-15512嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語言版).:清華大學(xué),2007.59-10713C編寫組編.常用C語言用法速查手冊(cè).:龍門書局,1995.34-4514俐,瑩編著.C語言高級(jí)程序設(shè)計(jì).:清華大

40、學(xué),2006.67-7815Stephen G Kochan.Programming in ANSI C.Hagden Book Indianapolis:Indina,U.S.A,1994.129-201附錄程序源代碼#include <stdio.h>#include <stdlib.h>#include <conio.h>#include <string.h>struct BOOK int id,usr10,total,store,days10; char name30,author20,publish40; books100;void p

41、age_title(char *menu_item) printf("ttt*歡迎使用圖書館管理系統(tǒng)*nn- %s -nn",menu_item); void return_confirm(void) printf("n按任意鍵返回n"); getch(); int search_book(void) int n,i; printf("請(qǐng)輸入圖書序號(hào):"); scanf("%d",&i); for(n=0;n<100;n+) if(booksn.id=i) printf("序號(hào):%dn&qu

42、ot;,booksn.id); printf("書名:%sn",); printf("%sn",booksn.author); printf(":%sn",booksn.publish); printf("存數(shù):%dn",booksn.store); printf("總數(shù):%dn",booksn.total); return n; printf("n沒有找到相關(guān)記錄.n"); return -1; int book_search(void) int n,

43、i=1; char nam30; system("cls"); printf("請(qǐng)輸入書名:"); scanf("%s",&nam); printf("查詢結(jié)果如下:n"); for(n=0;n<100;n+) if(strcmp(,nam)=0) printf("序號(hào):%dt",booksn.id); printf("書名:%st",); printf("%st",booksn.author);

44、printf(":%st",booksn.publish); printf("存數(shù):%dt",booksn.store); printf("總數(shù):%dn",booksn.total);i=0; if(i=1) printf("n沒有找到相關(guān)記錄.n"); return -1; int book_change(void) int n,i; system("cls"); page_title("修改圖書信息"); printf("請(qǐng)輸入要修改的圖書序號(hào):");

45、 scanf("%d",&i); for(n=0;n<100;n+) if(booksn.id=i) printf("修改書名:"); scanf("%s",); printf("修改 "); scanf("%s",booksn.author); printf("修改名:"); scanf("%s",booksn.publish); printf("修改總數(shù):"); scanf("%d&qu

46、ot;,&booksn.total); printf("修改圖書信息成功.n"); booksn.store=booksn.total; return n; printf("n沒有找到相關(guān)記錄.n"); return -1; int book_show(void)int n,i=1;system("cls"); for(n=0;n<100;n+) if(strlen()!=0) printf("序號(hào):%dt",booksn.id); printf("書名:%st&quo

47、t;,); printf("%st",booksn.author); printf(":%st",booksn.publish); printf("存數(shù):%dt",booksn.store); printf("總數(shù):%dn",booksn.total); i=0; if(i=1) printf("n沒有找到相關(guān)記錄.n"); return -1;void book_out(void) int n,s,l,d;system("cls"); page_tit

48、le("借閱圖書"); if(n=search_book()!=-1&&booksn.store>0) printf("請(qǐng)輸入借書證序號(hào):"); scanf("%d",&s); printf("請(qǐng)輸入可借天數(shù):"); scanf("%d",&d); for(l=0;l<10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&&a

49、mp;booksn.store=0) printf("此書已經(jīng)全部借出.n"); return_confirm(); void book_in(void) int n,s,l; system("cls"); page_title("歸還圖書"); if(n=search_book()!=-1&&booksn.store<booksn.total) printf("借閱者圖書證列表:n"); for(l=0;l<10;l+) if (booksn.usrl!=0) printf("%d - %d天n",booksn.usrl,booksn.daysl); printf("請(qǐng)輸入借書證序號(hào):"); scanf("%d",&s); for(l=0;l<10;l+) if(booksn.u

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論