




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
四川師范大學(xué)成都學(xué)院高級語言程序課程設(shè)計(jì)基于C語言的圖書管理系統(tǒng)程序設(shè)計(jì)TOC\o"1-5"\h\z學(xué)生姓名 XXX學(xué)號 XXXX所在學(xué)院 通信工程學(xué)院專業(yè)名稱 通信工程 班級 XXXXXX指導(dǎo)教師成績四川師范大學(xué)成都學(xué)院二O一四年十二月基于C語言的圖書管理系統(tǒng)程序設(shè)計(jì)內(nèi)容摘要:圖書管理系統(tǒng)是圖書館的重要組成部分,圖書是我們最好的獲取信息的方式,但由于圖書館圖書收藏量大大增加,使傳統(tǒng)的圖書管理員的工作日益繁重起來,迫使人們起用新的管理方法來管理圖書。基于c語言的設(shè)計(jì)和開發(fā)圖書館管理系統(tǒng)的實(shí)踐,闡述了圖書管理軟件中所應(yīng)具有的功能、設(shè)計(jì)、實(shí)現(xiàn)。介紹了圖書管理系統(tǒng)的設(shè)計(jì)和系統(tǒng)功能的實(shí)現(xiàn)過程。該系統(tǒng)可以運(yùn)用于高校的圖書管理,由圖書編目,圖書流通,標(biāo)準(zhǔn)管理,資料管理,系統(tǒng)維護(hù)等多個(gè)子系統(tǒng)組成,實(shí)現(xiàn)對新進(jìn)圖書基本信息的輸入、圖書基本信息的查詢、對撤消圖書信息的刪除、為借書人辦理注冊、辦理借書手續(xù)、辦理還書手續(xù)等。實(shí)現(xiàn)了圖書資料的計(jì)算機(jī)網(wǎng)絡(luò)管理。關(guān)鍵詞:圖書管理c語言程序設(shè)計(jì)BasedontheClanguagelibrarymanagementsystemprogramdesignAbstract:Librarymanagementsystemisanimportantpartofthelibrary,thebookisourbestwaytogetinformation,butduetothelargeincreaseincollectionoflibrarybooks,sothatthetraditionallibrarian'sworkincreasinglyheavyup,forcingpeoplehirednewmanagementwaystomanagebooksKeywords:LibrarymanagementClanguageProgramdesign目錄基于C語言的圖書管理系統(tǒng)程序設(shè)計(jì)前百圖書館管理信息系統(tǒng)是對學(xué)校圖書進(jìn)行全面信息管理的系統(tǒng)。該管理系統(tǒng)可以有效地管理學(xué)校圖書資源,記錄學(xué)校與讀者之間的使用書籍情況。此外,根據(jù)讀者的要求,實(shí)現(xiàn)書籍基本信息的輸入,查詢等幾個(gè)方面的功能。本系統(tǒng)可以作為獨(dú)立的系統(tǒng)使用,它包括借閱信息管理、書籍信息管理、讀者信息管理、系統(tǒng)管理四個(gè)主要的功能模塊。該管理系統(tǒng)力求給讀者方便快捷的途徑去及時(shí)了解書籍信息。針對各個(gè)模塊不同的數(shù)據(jù)表實(shí)現(xiàn)添加記錄、修改記錄、刪除記錄、以及查詢顯示記錄等功能,所有的操作方便而快捷,并全面實(shí)現(xiàn)了圖書館管理的各項(xiàng)功能。1緒論選題背景和選題意義選題背景隨著社會(huì)的發(fā)展及知識(shí)經(jīng)濟(jì)時(shí)代的到來,信息管理系統(tǒng)在各行各業(yè)發(fā)揮著越來越重要的作用。而在高校的圖書管理中,避免了手工操作而帶來的一些不必要的問題。選題意義圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對信息管理的主要方式是基于文本,表格等紙介質(zhì)的手工處理,數(shù)據(jù)處理工作量大,容易出錯(cuò)。由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng)規(guī)范的信息管理手段。盡管有的圖書館有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是管理信息系統(tǒng)的開發(fā)的基于環(huán)境。圖書管理系統(tǒng)簡介圖書管理系統(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)過程。該系統(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(MachineReadableCatalogue)數(shù)據(jù)、升級輔助編目庫、征訂圖書等。此外,隨著工Internet應(yīng)用的發(fā)展,一個(gè)完善的系統(tǒng)還應(yīng)提供無縫接入Internet的功能,通過IE瀏覽器讓讀者使用借閱資料查詢、更換密碼、預(yù)約、資料檢索等功能。有些系統(tǒng)還能提供讀者自助服務(wù),可以開放一些客戶機(jī)讓讀者自行管理密碼、查詢自己的借閱史、預(yù)約資料、檢索資料等。圖書管理系統(tǒng)需求分析為滿足圖書管理現(xiàn)代化的需求,國內(nèi)軟件商已開發(fā)出很多商品化圖書管理軟件,但他們大多是面向大型專業(yè)圖書館而開發(fā)的,專業(yè)性強(qiáng),操作和使用比較復(fù)雜,難以掌握。而國內(nèi)很多中小型圖書館由于管理人員不多且大多數(shù)不是圖書管理業(yè)務(wù)的專業(yè)人員、業(yè)務(wù)分工也不是很詳細(xì)、明確,這樣的軟件對于他們而言太復(fù)雜,所以應(yīng)用效果并不是很好。目前在大的圖書館己經(jīng)有一整套比較完善的信息管理系統(tǒng),而在一般小型圖書館中大部分工作還是進(jìn)行手工管理,工作效率低,并不能即時(shí)了解圖書館各類圖書的庫存,讀者比較需求的圖書難以在短時(shí)間內(nèi)找到,圖書的入庫和更新比較麻煩等等,不便于動(dòng)態(tài)及時(shí)調(diào)整圖書結(jié)構(gòu)。同時(shí)由于不可避免的人為因素,造成數(shù)據(jù)的遺漏、誤報(bào)等。為了更好的適應(yīng)當(dāng)前中小型圖書館的讀者借閱需求,緩解手工管理存在的各種弊端,因此開發(fā)了面向中小型圖書館的圖書管理系統(tǒng),為用戶提供全方位的信息服務(wù)。通過對中小型圖書館的調(diào)查、分析發(fā)現(xiàn),用戶的需求可分為4個(gè)方面:第一是圖書館的工作人員通過計(jì)算機(jī)來管理各類圖書,分類編號、調(diào)整圖書結(jié)構(gòu)、增加圖書庫存,適應(yīng)讀者的需求。第二是讀者能通過計(jì)算機(jī)來查詢?yōu)g覽圖書館中的圖書,來確定自己需要的書籍,為借閱做好準(zhǔn)備。第三是工作人員對讀者的借書情況能夠作好全面掌握,能及時(shí)得到每個(gè)讀者的當(dāng)前借閱狀態(tài)和歷史借閱記錄。第四也是圖書館的核心工作,對圖書的借閱管理。在軟、硬件方面對系統(tǒng)的需求是軟件要易學(xué),容易掌握,可以很簡單方便地管理各種圖書信息。硬件的配置要求不能太高,這樣可以適應(yīng)中小型圖書館的經(jīng)濟(jì)條件??傊?,中小型圖書館管理信息系統(tǒng)旨在提供一個(gè)可以操作的,方便查詢的,易于修改的輔助管理系統(tǒng)。同時(shí)提供了系統(tǒng)智能輔助與用戶自主選擇的兩種方式,提高查詢效率。2系統(tǒng)分析題目分析本課程設(shè)計(jì)任務(wù)的目的是要求學(xué)生按照分析、設(shè)計(jì)、編碼、調(diào)試和測試的軟件開發(fā)過程獨(dú)立完成管理系統(tǒng)設(shè)計(jì),以及C語言算法的掌握,并能最終實(shí)現(xiàn)本系統(tǒng)的功能要求,通過這個(gè)程序可以學(xué)習(xí)到以前調(diào)試短程序沒有的的經(jīng)驗(yàn)。要求為各項(xiàng)操作功能設(shè)計(jì)一個(gè)菜單。應(yīng)用程序運(yùn)行后,先顯示這個(gè)菜單,然后用戶通過菜單項(xiàng)選擇希望進(jìn)行的操作項(xiàng)目;要求以上功能分別用函數(shù)實(shí)現(xiàn)。系統(tǒng)分析圖書館管理系統(tǒng)包括:錄入:新進(jìn)圖書及基本信息輸入刪除:舊圖書及基本信息刪除查詢:查詢要借閱的圖書信息修改:修改已有的圖書信息借書:實(shí)現(xiàn)用戶辦理借書手續(xù)還書:實(shí)現(xiàn)用戶.辦理還書手續(xù)系統(tǒng)以菜單方式工作,界面友好,易于操作。系統(tǒng)的程序設(shè)計(jì)環(huán)境;:本系統(tǒng)使用VisualC++作為程序開發(fā)工具。VisualC++口是基于對象的快速應(yīng)用程序開發(fā)工具,是當(dāng)今最強(qiáng)大、最靈活的應(yīng)用程序開發(fā)工具之一,具有良好的可視化應(yīng)用程序開發(fā)環(huán)境和強(qiáng)大的可擴(kuò)展數(shù)據(jù)庫功能。利用VisualC++提供的可視化組件庫進(jìn)行編程,可以快速、高效地開發(fā)出基于Windows環(huán)境的各類應(yīng)用程序。VisualC++語言的特點(diǎn)是面向?qū)ο笤O(shè)計(jì)的程序語言,VisualC++的基礎(chǔ)編程語言是具有面向?qū)ο筇匦缘恼Z言,具有代碼穩(wěn)定、可讀性好、編譯速度快等優(yōu)點(diǎn),并將面向?qū)ο蟮母拍钜浦驳搅薈語言中,使這種基礎(chǔ)語言有了新的發(fā)展空間。與其它編程軟件相比,特別是在數(shù)據(jù)庫和網(wǎng)絡(luò)應(yīng)用方面,VisualC++具有簡便易用、靈活高效的特點(diǎn)。開發(fā)軟件通常要經(jīng)過修改⑵源代碼、編譯、測試、再修改、再編譯、再測試等操作,這些操作形成了一個(gè)開發(fā)循環(huán),所以快速的編譯器可以大大地降低開發(fā)周期。VisualC++正是建立在這種高效編譯器的基礎(chǔ)之上,是針對Windows的最快的高級語言代碼編譯器,因此生成的代碼十分精練高效,使VisualC++程序的運(yùn)行速度更快。這也是本人使用VisualC++作為程序設(shè)計(jì)開發(fā)語言的重要原因。3管理系統(tǒng)的總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)總體設(shè)計(jì)總體設(shè)計(jì)目標(biāo):使用者可以利用本系統(tǒng)進(jìn)行對圖書館借閱的各項(xiàng)運(yùn)算操作,如根據(jù)用戶的需求自動(dòng)的進(jìn)行添加圖書,刪除圖書,借書還書。查找所要的圖書,查閱圖書的詳細(xì)資料,查閱讀者的詳細(xì)資料。最后清晰完整的結(jié)果于屏幕中。大大方便使用者對圖書借閱的操作,不僅節(jié)省時(shí)間,而且提高準(zhǔn)確性,可以達(dá)到事半功倍的效果。總體設(shè)計(jì)策略:本系統(tǒng)采用的是⑶自頂向下、層次化的模塊結(jié)構(gòu)。對高層模塊,采用以事務(wù)為中心的設(shè)計(jì)策略,把一個(gè)大的模塊逐步分解成較小的相對簡單的模塊。對低層模塊,采用以變換為中心的設(shè)計(jì)策略。為了提高每個(gè)模塊的內(nèi)聚性、降低模塊間的耦合性,將每個(gè)模塊設(shè)計(jì)成具有單一功能的模塊(即功能內(nèi)聚),使模塊間的聯(lián)系完全是通過主模塊的控制和調(diào)用來實(shí)現(xiàn)(即⑷非直接耦合)。結(jié)合上述分析該系統(tǒng)應(yīng)包括以下模塊:信息輸入、信息刪除,信息查詢,信息顯示,信息修改,圖書借出、圖書歸還。結(jié)構(gòu)圖如圖3-1:圖書館管理系統(tǒng)信 信信圖3信結(jié)吉構(gòu)框圖顯圖圖息書數(shù)據(jù):息號、書名球作三者、,出版文社、存數(shù)、總數(shù)書書詳輸設(shè)計(jì)刪查修信借歸?主函數(shù) 除詢改息出還主函數(shù)要求設(shè)計(jì)比較簡潔,只提供設(shè)⑸輸入,處理和輸出部分的函數(shù)調(diào)用。其中各功能模塊用菜單方式選擇。流程圖如下圖3-2:printf(〃\t\t\t1注冊新書\t\t\t2借閱圖書\n〃);printf(〃\t\t\t3查詢圖書信息\t\t\t4修改圖書信息\n〃);printf(〃\t\t\t5歸還圖書\t\t\t6刪除圖書\n〃);printf(〃\t\t\t7顯示圖書\t\t\t8退出系統(tǒng)\n〃);printf(〃請按數(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();break;case'7':book_show();break;case'8':exit(0);}gotomenu;)?輸入模塊分析:該模塊的功能是假如用戶需要新加入新的圖書信息,通過⑹鍵盤輸入將新信息逐條加在原來輸入文件上但不能覆蓋原有信息。流程圖如下圖3-3:圖3-3輸入模塊流程圖程序:voidbook_add(void){intn;system("cls");page_title(〃注冊新書”);for(n=0;n<100;n++)if(books[n].id==0)break;printf(〃序號:“);scanf("%d”,&books[n].id);printf(〃書名:");scanf("%s”,&books[n].name);printf(〃作者:”);scanf("%s”,&books[n].author);printf(〃出版社:“);scanf("%s”,&books[n].publish);printf(〃數(shù)量:”);scanf("%d”,&books[n].total);books[n].store=books[n].total;return_confirm();}?刪除模塊分析:該模塊用于顯示所有圖書信息,由于記錄[7較多,故而采取分屏顯示。顯示完所有紀(jì)錄后,用戶需輸入圖書編號進(jìn)而查找圖書信息。流程圖如下圖3-4:圖3-4刪除模塊流程圖程序:intbook_del(void)(intn,num,i;system(〃cls〃);page_title(〃刪除圖書〃);printf(〃請輸入所要?jiǎng)h除的書的編號:〃);scanf(〃%d〃,&num);for(n=0;n<100;n++)(if(books[n].id==num)for(i=n;i<100;i++){books[i].id=books[i+1].id;strcpy(books[i].name,books[i+1].name);strcpy(books[i].publish,books[i+1].publish);printf(〃該書已刪除.\n〃);returnn;)
輸入要查詢的書名printf(〃沒有找到相關(guān)記錄\n");return-1;)?查詢模塊圖3-5查詢模塊流程圖程序:intbook_search(void){intn,i=1;charnam[30];system(〃cls〃);printf(〃請輸入書名:");scanf(〃%s〃,&nam);for(n=0;n<100;n++){if((strcmp(books[n].name,nam)==0)){printf(〃序號:%d\t〃,books[n].id);printf(〃書名:%s\t〃,books[n].name);printf(〃作者:%s\t〃,books[n].author);printf(〃出版社:%s\t〃,books[n].publish);printf(〃存數(shù):%d\t〃,books[n].store);printf(〃總數(shù):%d\n〃,books[n].total);i=0;))if(i==1)printf(〃\n沒有找到相關(guān)記錄.\n〃);return-1;}?修改模塊分析:該模塊功能應(yīng)體現(xiàn)為用戶修改圖書信息,若有記錄則修改信息。流程圖如下圖3-6:圖3-6修改模塊流程圖程序:intbook_change(void)(intn,i;system("cls");page_title(〃修改圖書信息”);printf(〃請輸入要修改的圖書編號:〃);scanf("%d",&i);for(n=0;n<100;n++){if(books[n].id==i){printf(〃修改書名:〃);scanf(〃%s〃,books[n].name);printf(〃修改作者:〃);scanf(〃%s〃,books[n].author);printf(〃修改出版社名:〃);scanf(〃%s〃,books[n].publish);printf(〃修改總數(shù):〃);scanf(〃%d〃,&books[n].total);printf(〃修改圖書信息成功.\n〃);books[n].store=books[n].total;returnn;}}printf(〃\n沒有找到相關(guān)記錄.\n〃);return-1;)顯示模塊分析:該模塊功能應(yīng)體現(xiàn)為顯示全部的圖書信息。流程圖如下圖3-7:圖3-7顯示模塊流程圖程序:intbook_show(void){intn,i=1;system("cls");for(n=0;n<100;n++)(if(strlen(books[n].name)!=0)(printf(〃序號:%d\t”,books[n].id);printf(〃書名:%s\t”,books[n].name);printf(〃作者:%s\t”,books[n].author);printf(〃出版社:%s\t”,books[n].publish);printf(〃存數(shù):%d\t”,books[n].store);printf(〃總數(shù):%d\n”,books[n].total);i=0;)}if(i==1)printf("\n沒有找到相關(guān)記錄.\n");return-1;)借出模塊分析:該模塊功能應(yīng)體現(xiàn)為用戶輸入圖書序號,若有書則要求輸入賬號流程圖如下圖3-8:圖3-8借書模塊流程圖程序:voidbook_out(void){intn,s,l,d;system("cls");page_title(〃借閱圖書”);if((n=search_book())!=-1&&books[n].store>0){printf(〃請輸入借書證序號:〃);scanf("%d",&s);printf(〃請輸入可借天數(shù):〃);scanf(〃%d〃,&d);for(l=0;l<10;l++){if(books[n].usr[l]==0){books[n].usr[l]=s;books[n].days[l]=d;break;}}books[n].store--;}if(n!=-1&&books[n].store==0)printf(〃此書已經(jīng)全部借出.\n〃);return_confirm();}歸還模塊分析:該模塊功能應(yīng)體現(xiàn)為方便用戶歸還圖書流程圖如下圖3-9:
圖3-9歸還圖書模塊程序:voidbook_in(void){intn,s,l;page_title(〃歸還圖書〃);if((n=search_book())!=-1&&books[n].store<books[n].total){printf(〃借閱者圖書證列表:\n〃);for(l=0;l<10;l++)if(books[n].usr[l]!=0)printf(〃[%d]-%d^\n",books[n].usr[l],books[n].days[l]);printf(〃請輸入借書證序號:〃);scanf(〃%d〃,&s);for(l=0;l<10;l++){if(books[n].usr[l]==s){books[n].usr[l]=0;books[n].days[l]=0;break;}}books[n].store++;}if(n!=-1&&books[n].store==books[n].total)printf(〃全部入藏.\口〃);return_confirm();}?公共函數(shù)定義結(jié)構(gòu)體:structBOOK{intid,usr[10],total,store,days[10],zt;charname[31],author[21];}books[100];voidpage_title(char*menu_item){printf('\t\t\t************歡迎使用圖書館管理系統(tǒng)**********\n\n-%s-\n\n〃,menu_item);}voidreturn_confirm(void){printf(〃\n按任意鍵返回 \n〃);getch();)4調(diào)試與測試第一,用一組簡單的數(shù)據(jù)對程序進(jìn)行調(diào)試,是否各函數(shù)有出錯(cuò)現(xiàn)象。然后用復(fù)雜數(shù)據(jù)對程序進(jìn)行調(diào)試。直到確定程序?qū)φ?shù)據(jù)沒有錯(cuò)誤為止。第二,當(dāng)數(shù)據(jù)測試時(shí),程序錯(cuò)誤,要首先找到出錯(cuò)的函數(shù),對函數(shù)中各個(gè)變量進(jìn)行觀察,有時(shí)變量很多,循環(huán)多重不要急,對各個(gè)數(shù)據(jù)的觀察,對程序的調(diào)試有很大的幫助。你也可以先對幾個(gè)變量熟悉后,在多重循環(huán)里,確定正確的數(shù)據(jù),將其跳過調(diào)試,對有疑問的數(shù)據(jù)循環(huán)進(jìn)行仔細(xì)觀察。雖然這是比較省力氣的活,但對復(fù)雜的數(shù)據(jù)錯(cuò)誤并不是很有效,所以仔細(xì)觀察每個(gè)數(shù)據(jù)的變化對調(diào)試的成功與否有決定性作用。第三,測試時(shí),根本的錯(cuò)誤并不一定在運(yùn)行錯(cuò)誤的函數(shù)內(nèi),或許在前面的函數(shù)內(nèi)已經(jīng)奠定了這些錯(cuò)誤數(shù)據(jù)的基礎(chǔ),需要反過頭來,對所有的的函數(shù)進(jìn)行一項(xiàng)項(xiàng)的調(diào)試!從程序運(yùn)行的第一個(gè)函數(shù)開始調(diào)試。按照程序運(yùn)行的步驟下去。一個(gè)個(gè)的確定函數(shù)的正確性,每確定一個(gè)函數(shù),在以后的調(diào)試中可以減少對該函數(shù)的調(diào)試次數(shù),或者直接跳到下一個(gè)函數(shù)。所謂的各個(gè)擊破便是如此。對頭文件中的各個(gè)函數(shù)的返回值和它所要傳入的參變量及其功能更是需要注意。第四,調(diào)試時(shí),需要對錯(cuò)誤縮小范圍,從整個(gè)程序到指定函數(shù),再到指定區(qū)域,再到指定行,在對程序縮小范圍或?qū)幾g沒通過的程序縮小錯(cuò)誤范圍時(shí)可以用〃/**/〃來進(jìn)行調(diào)試,確定正常范圍,縮小錯(cuò)誤范圍。5編碼實(shí)現(xiàn)?主界面截圖圖5-1主界面注冊新書界面截圖圖5-2新書注冊顯示界面截圖圖5-3圖書顯示借閱界面截圖圖5-4圖書借閱歸還界面截圖圖5-5圖書歸還查詢界面截圖圖5-6圖書查詢修改界面截圖圖5-7修改圖書刪除界面截圖圖5-8刪除界面6結(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ù)庫進(jìn)行聯(lián)系,要求具有操作簡單和功能強(qiáng)大的數(shù)據(jù)庫訪問能力。界面盡量美觀友好、多彩多姿,完全的圖形化設(shè)計(jì),操作者易于上手,同時(shí)多種媒體技術(shù)的集成利用,可以方便的完成用戶樂于接受的各種界面設(shè)計(jì)。本系統(tǒng)雖具備了基本的功能,但由于時(shí)間關(guān)系,還有很多功能待實(shí)現(xiàn),在此基礎(chǔ)上結(jié)合實(shí)際應(yīng)用中所出現(xiàn)的問題,要改善圖書的入庫和刪除功能,使工作人員在主界面上就能進(jìn)行其操作;在過期天數(shù)中應(yīng)該增加罰款的功能;如果作為校園的圖書管理系統(tǒng),應(yīng)區(qū)分出不同身分的人(如教師和學(xué)生)的借閱權(quán)限等。通過這次編程我深深的感受到對代碼的變量命名,代碼內(nèi)注釋格式,甚至嵌套中行縮進(jìn)的長度和函數(shù)間的空行數(shù)字都有明確規(guī)定,良好的編寫習(xí)慣,不但有助于代碼的移植和糾錯(cuò),也有助于不同人員之間的協(xié)作。我們還要有模塊化思維能力,模塊化思維就是編程任何一個(gè)功能模塊或函數(shù)的時(shí)候,要多想一些,不要局限在完成當(dāng)前任務(wù)的簡單思路上,想想看該模塊是否可以脫離這個(gè)系統(tǒng)存在,是否可以通過簡單的修改參數(shù)的方式在其他系統(tǒng)和應(yīng)用環(huán)境下直接引用,這樣就能極大避免重復(fù)性的開發(fā)工作。善于總結(jié),也是學(xué)習(xí)能力的一種體現(xiàn),每次完成一個(gè)編程任務(wù),完成一段代碼,都應(yīng)當(dāng)有目的的跟蹤該程序的應(yīng)用狀況,隨時(shí)總結(jié),找到自己的不足,這樣所編寫的程序才能逐步提高。附錄程序源代碼#include<>#include<>#include<>#include<>structBOOK{intid,usr[10],total,store,days[10];charname[30],author[20],publish[40];}books[100];voidpage_title(char*menu_item){printf('\t\t\t************歡迎使用圖書館管理系統(tǒng)**********\n\n-%s-\n\n〃,menu_item);}voidreturn_confirm(void){printf(〃\n按任意鍵返回 \n〃);getch();}intsearch_book(void){intn,i;printf(〃請輸入圖書序號:〃);scanf("%d",&i);for(n=0;n<100;n++){if(books[n].id==i){printf(〃序號:%d\n〃,books[n].id);printf(〃書名:%s\n〃,books[n].name);printf(〃作者:%s\n〃,books[n].author);printf(〃出版社:%s\n〃,books[n].publish);printf(〃存數(shù):%d\n〃,books[n].store);printf(〃總數(shù):%d\n〃,books[n].total);returnn;}}printf(〃\n沒有找到相關(guān)記錄.\n〃);return_1;}intbook_search(void){intn,i=1;charnam[30];system(〃cls〃);printf(〃請輸入書名:〃);scanf(〃%s〃,&nam);printf(〃查詢結(jié)果如下:\n〃);for(n=0;n<100;n++){if((strcmp(books[n].name,nam)==0)){printf(〃序號:%d\t〃,books[n].id);printf(〃書名:%s\t〃,books[n].name);printf(〃作者:%s\t〃,books[n].author);printf(〃出版社:%s\t〃,books[n].publish);printf(〃存數(shù):%d\t〃,books[n].store);printf(〃總數(shù):%d\n”,books[n].total);i=0;))if(i==1)printf("\n沒有找到相關(guān)記錄.\n");return_1;}intbook_change(void)(intn,i;system("cls");page_title(〃修改圖書信息”);printf(〃請輸入要修改的圖書序號:〃);scanf("%d",&i);for(n=0;n<100;n++)(if(books[n].id==i)(printf(〃修改書名:〃);scanf(〃%s〃,books[n].name);printf(〃修改作者:〃);scanf(〃%s〃,books[n].author);printf(〃修改出版社名:〃);scanf(〃%s〃,books[n].publish);printf(〃修改總數(shù):〃);scanf(〃%d〃,&books[n].total);printf(〃修改圖書信息成功.\n〃);books[n].store=books[n].total;returnn;}}printf(〃\n沒有找到相關(guān)記錄.\n〃);return-1;)intbook_show(void){intn,i=1;system("cls");for(n=0;n<100;n++)(if(strlen(books[n].name)!=0)(printf(〃序號:%d\t”,books[n].id);printf(〃書名:%s\t”,books[n].name);printf(〃作者:%s\t”,books[n].author);printf(〃出版社:%s\t”,books[n].publish);printf(〃存數(shù):%d\t”,books[n].store);printf(〃總數(shù):%d\n”,books[n].total);i=0;)}if(i==1)printf("\n沒有找到相關(guān)記錄.\n");return-1;)voidbook_out(void){intn,s,l,d;system("cls");page_title(〃借閱圖書”);if((n=search_book())!=-1&&books[n].store>0){printf(〃請輸入借書證序號:〃);scanf("%d",&s);printf(〃請輸入可借天數(shù):〃);scanf(〃%d〃,&d);for(l=0;l<10;l++){if(books[n].usr[l]==0){books[n].usr[l]=s;books[n].days[l]=d;break;}}books[n].store--;}if(n!=-1&&books[n].store==0)printf(〃此書已經(jīng)全部借出.\n");return_confirm();}voidbook_in(void){intn,s,l;system("cls");page_title(〃歸還圖書”);if((n=search_book())!=-1&&books[n].store<books[n].total){printf(〃借閱者圖書證列表:\n");for(l=0;l<10;l++)if(books[n].usr[l]!=0)printf("[%d]-%d^\n",books[n].usr[l],books[n].days[l]);printf(〃請輸入借書證序號:〃);scanf("%d",&s);for(l=0;l<10;l++){if(books[n].usr[l]==s){books[n].usr[l]=0;books[n].days[l]=0;break;}}books[n].store++;}if(n!=-1&&books[n].store==books[n].total)printf(〃全部入藏.\口〃);return_confirm();}voidbook_add(void){intn;system(〃cls〃);page_title(〃注冊新書”);for(n=0;n<100;n++)if(books[n].id==0)break;printf(〃序號:“);scanf("%d”,&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年江蘇省安全員《A證》考試題庫
- 農(nóng)田交易合同范例
- 印刷裝加工合同范本
- 2025年河南省建筑安全員A證考試題庫及答案
- 2025山西省安全員C證考試(專職安全員)題庫及答案
- 傳媒公司錄用合同范本
- 住宅樓外立面亮化施工方案
- 三年級口算題目大全集1000道
- 公司房屋拍賣合同范本
- 加油站服務(wù)合同范本
- Unit5 What day is it today?(教學(xué)設(shè)計(jì))-2023-2024學(xué)年教科版(廣州)英語四年級下冊
- 影視制作項(xiàng)目委托制作協(xié)議
- 植物角創(chuàng)設(shè)培訓(xùn)
- 法院生活費(fèi)申請書
- 人教版小學(xué)數(shù)學(xué)一年級下冊教案
- 《住院患者身體約束的護(hù)理》團(tuán)體標(biāo)準(zhǔn)解讀課件
- 新版人音版小學(xué)音樂一年級下冊全冊教案
- 2024年黑龍江建筑職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫全面
- MOOC 跨文化交際通識(shí)通論-揚(yáng)州大學(xué) 中國大學(xué)慕課答案
- 高空作業(yè)安全經(jīng)驗(yàn)分享PPT課件
- 廣東某鐵路站前工程施工防洪度汛施工方案(附示意圖)
評論
0/150
提交評論