已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
工程技術(shù)學(xué)院-課程設(shè)計說明書工程技術(shù)學(xué)院課程設(shè)計說明書學(xué)生姓名:專業(yè):計算機科學(xué)與技術(shù)學(xué)號:指導(dǎo)教師:所屬系(部):信息系工程技術(shù)學(xué)院課程設(shè)計評閱書題目:圖書管理系統(tǒng)課程設(shè)計報告 信息系計算機科學(xué)與技術(shù)專業(yè) 姓名 設(shè)計時間:2015年 月 日2015 年 月 日 評閱意見:成績: 指導(dǎo)教師:(簽字) 職務(wù):201 年月日摘 要隨著計算機技術(shù)的飛速發(fā)展,電子信息化慢慢替代了企業(yè)管理的傳統(tǒng)管理手法,采用管理系統(tǒng)是能夠有效提高管理效率的。圖書館作為一種信息資源的集散地,圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書館都是初步開始使用,甚至尚未使用計算機進(jìn)行信息管理。圖書館若采取手工方式對圖書資料和圖書借閱情況進(jìn)行人工管理,由于資料繁多,手工處理的工作量大,整體管理效率低下,也不方便讀者對圖書資料的查閱。為了提高日常的圖書管理效率,本文針對通常的圖書管理流程,設(shè)計了一個面向?qū)ο髨D書管理系統(tǒng)。本系統(tǒng)中包含六個功能模塊:圖書館基本信息,借書,還書,讀者維護(hù),圖書維護(hù),管理員維護(hù)。關(guān)鍵詞:借書,還書,讀者維護(hù),圖書維護(hù),管理員維護(hù) AbstractWiththerapiddevelopmentofcomputertechnology,electronicinformationtechnologygraduallyreplacedthetraditionalmanagementofenterprisemanagementmethods,managementsystem,caneffectivelyimprovetheefficiencyofmanagement.Libraryasakindofinformationresourcecollectionanddistributioncenter,libraryanduserlendingdataisvarious,containsalotofinformationdatamanagement,today,therearealotoflibrariesarepreliminarystartedusing,hasntevenuseacomputerforinformationmanagement.Iflibrariesadoptmanualapproachtoartificialmanagementbooksandmaterialsandlibrary,becausethematerialisvarious,manualprocessingworkloadisbig,theoverallmanagementefficiencyislow,alsonotconvenienttoreadersofbooksandmaterialsinspection.Inordertoimprovetheefficiencyofbooksmanagement,thispaperusuallybooksmanagementprocesses,anobject-orientedbooksmanagementsystemmanagementsystemisdesigned.Thissystemcontainssixmodules:basicinformation,librarybooks,andbooks,thereadermaintenance,maintenance,administratorstomaintain.Key words: Borrow books, return books, readMaintenance, book maintenance, administrator maintenance摘 要3ABSTRACT4第1章61.1題目背景61.2設(shè)計目的6第2章 解決問題7第3章 圖書管理系統(tǒng)的設(shè)計與實現(xiàn)73.1系統(tǒng)的需求分析73.2系統(tǒng)的設(shè)計83.2.1 系統(tǒng)的總統(tǒng)設(shè)計8(1)總體思想8(2)系統(tǒng)模塊結(jié)構(gòu)圖83.2.2 系統(tǒng)的概要設(shè)計83.3 測試結(jié)果93.3.1系統(tǒng)主界面103.3.2功能菜單103.3.3查詢系統(tǒng)菜單113.3.4借還系統(tǒng)菜單113.4 源代碼12參考文獻(xiàn)23第四章 心得體會23致 謝25 第1章1.1題目背景隨著計算機技術(shù)的飛速發(fā)展,改變了世界,也改變了人類的生活。作為現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展,改變了世界,也改變了人類的生活。新世紀(jì)的大學(xué)生,應(yīng)當(dāng)站在時代發(fā)展的前列,掌握現(xiàn)代科學(xué)技術(shù)知識,調(diào)整自己的知識結(jié)構(gòu)和能力結(jié)構(gòu),以適應(yīng)社會發(fā)展的要求當(dāng)今社會,多元文化快速發(fā)展,人與人的交流也越來越多,社交也越來越廣泛,這時,記住自己認(rèn)識的人是很重要的,因此我們做了這個程序,為了使我們更有效的記錄下自己所認(rèn)識的人,更方便去和更多的人交流而不會記錯。C語言成了在國內(nèi)外使用的一種計算機語言。C語言功能豐富、表達(dá)能力強、使用靈活方便、應(yīng)用面廣、目標(biāo)程序效率高、可移植性好、既具有高級語言的優(yōu)點,又具有低級語言的許多特點,因此特別適合于編寫系統(tǒng)軟件?,F(xiàn)在大多數(shù)的高校都把C語言作為第一門計算機語言進(jìn)行教學(xué),這是可行的,學(xué)生也是能夠?qū)W習(xí)好的。1.2設(shè)計目的這次設(shè)計主要是應(yīng)用了C程序設(shè)計中的一些算法,還有一些函數(shù)的調(diào)用,結(jié)構(gòu)體的應(yīng)用等,根據(jù)他們的基本思想來編寫程序。程序包括的主要內(nèi)容可以對圖書館管理系統(tǒng)進(jìn)行輸入、修改、刪除、借閱、歸還、顯示等操作,設(shè)計一個有關(guān)學(xué)生借閱圖書的管理程序,來方便人們對信息更方便的使用,經(jīng)過這樣一個過程來鞏固和完善自己所學(xué)的知識,同時來培養(yǎng)一下自己的實踐能力。通過本設(shè)計可以加深理解利用程序設(shè)計思想開發(fā)一個系統(tǒng)的整個流程,提高分析問題、解決問題和實際動手的能力。通過本設(shè)計可以加深理解利用程序設(shè)計思想開發(fā)一個系統(tǒng)的整個流程,提高分析問題、解決問題和實際動手的能力為了人們能夠更快的記錄學(xué)生的借書管理,使人們不再因為添加、刪除圖書而苦惱。第2章 解決問題圖書館管理系統(tǒng)用于計算機管理圖書館里的書籍,方便學(xué)生進(jìn)行更方便快捷的結(jié)束程序。在這個程序中可以對圖書館管理系統(tǒng)中的內(nèi)容進(jìn)行輸入、添加記錄、顯示記錄、注冊會員,還可對其中的書籍進(jìn)行刪除等等。使信息管理更具體、更明朗、更電子化,讓人一目了然,給人們帶來無窮的快捷。這次實訓(xùn),使我們對C語言的掌握更加熟練,也解決了一些問題:1、解決手工記錄和減少工作量,以及相關(guān)函數(shù)的使用。2、解決函數(shù)間的鏈接關(guān)系,使函數(shù)的調(diào)用更加方便靈活以及相關(guān)函數(shù)的使用。3、解決對單個函數(shù)如何操作和各種按鍵的功能設(shè)置以及相關(guān)函數(shù)的使用。4、解決對程序顯示窗口的設(shè)置及對各種相關(guān)函數(shù)的使用。5、提高分析問題、解決問題和實際動手的能力。6、需要對圖像和文本的輸出有一個較好的了解。7、能夠熟練運用C言分支語句,并能使各種循環(huán)相互連接,完成對按鍵選擇操作等過程。8、在設(shè)計的過程中,建立清晰的層次結(jié)構(gòu)。9、在編寫程序前先畫出主要的功能結(jié)構(gòu)圖和主要模塊的流程圖。10、對每個功能所運用的數(shù)學(xué)知識有一個較好的認(rèn)識和探索。11、得出最簡潔,最快速的算法。12、要求操作簡單,用戶界面友好。第3章 圖書管理系統(tǒng)的設(shè)計與實現(xiàn)3.1系統(tǒng)的需求分析圖書登記管理系統(tǒng)作為一個應(yīng)用軟件將為學(xué)校的老師和學(xué)生提供一個對學(xué)校圖書館深入了解并借閱、還書的平臺。根據(jù)系統(tǒng)界面的提示信息對圖書館信息進(jìn)行查詢、初始化等操作系統(tǒng)功能需求分析描述如下: (1)系統(tǒng)主菜單:進(jìn)入系統(tǒng)和退出系統(tǒng) (2)功能菜單:顯示可以進(jìn)行的操作(3)查詢主菜單:根據(jù)圖書編號、書名、作者進(jìn)行查詢,并可顯示所有圖書信息(4)借還書主菜單:可以進(jìn)行借書和還書等操作3.2系統(tǒng)的設(shè)計3.2.1 系統(tǒng)的總統(tǒng)設(shè)計 下面從系統(tǒng)的整體流程的功能模塊、系統(tǒng)界面及數(shù)據(jù)結(jié)構(gòu)進(jìn)行總體設(shè)計。 (1)總體思想 本系統(tǒng)主要設(shè)計思想是實現(xiàn)圖書館的功能機管理系統(tǒng)信息的查詢、借書、還書等主要功能。系統(tǒng)的設(shè)計方法是結(jié)構(gòu)化實際方法,系統(tǒng)用C語言進(jìn)行開發(fā)用戶可以清晰的了解圖書館內(nèi)的情況。 (2)系統(tǒng)模塊結(jié)構(gòu)圖 根據(jù)需求分析結(jié)果,圖書管理系統(tǒng)可以分為三大模塊:查詢圖書模塊、借書功能模塊、還書功能模塊。系統(tǒng)模塊結(jié)構(gòu)如圖: 圖書管理系統(tǒng)圖書查詢系統(tǒng)圖書管理主菜單還書功能系統(tǒng)借書功能系統(tǒng)3.2.2 系統(tǒng)的概要設(shè)計 系統(tǒng)主菜單。 顯示系統(tǒng)的主菜單,里面有相應(yīng)的功能代碼,根據(jù)選擇各功能代碼進(jìn)入不同的界面。功能主要包括:退出系統(tǒng)、查詢圖書、借書、還書。 查詢圖書信息 進(jìn)入此菜單功能模塊,輸入您要查詢的圖書的編號、名字、作者等。圖書查詢模塊流程如圖: 否 是 否 是 是 重新輸入否退出系統(tǒng)3.3 測試結(jié)果3.3.1系統(tǒng)主界面3.3.2功能菜單3.3.3查詢系統(tǒng)菜單3.3.4借還系統(tǒng)菜單3.4 源代碼# include # include # include typedef struct linkchar number100;char bookname100;char author100;char publish100;char time100;float price;char status100; struct link *next;link;link *Cbook()int n=0;link *p,*q,*head;FILE *fp;fp=fopen(圖書信息.txt,r+);if(fp=NULL)printf(沒有找到文件,請檢查);p=(link *)malloc(sizeof(link);if(p=NULL)printf(申請內(nèi)存出錯!n);fscanf(fp,%s%s%s%s%s,p-number,p-bookname,p-author,p-publish,p-time);fscanf(fp,%f,&p-price);fscanf(fp,%s,p-status);while(feof(fp)=0)n+;if(n=1)head=p;elseq=p;p=(link *)malloc(sizeof(link);if(p=NULL)printf(申請內(nèi)存出錯!n);fscanf(fp,%s%s%s%s%s,p-number,p-bookname,p-author,p-publish,p-time);fscanf(fp,%f,&p-price);fscanf(fp,%s,p-status);q-next=p;p-next=NULL;fclose(fp);printf(信息已錄入!);return head;void mainmenu()printf(n*n);printf(n* 歡迎使用圖書管理系統(tǒng) *n);printf(n* 1.進(jìn)入系統(tǒng) 0.退出系統(tǒng) *n);printf(n*n);printf(n 請選擇);void menu1()printf(n*n);printf(n* 1.進(jìn)入圖書查詢系統(tǒng) *n);printf(n* 2.進(jìn)入圖書借還系統(tǒng) *n);printf(n* 3.保存所有圖書信息 *n);printf(n* 4.返回上級菜單 *n);printf(n*n);printf(n請選擇);void cxmenu()printf(n*n); printf(n* 1.顯示所有圖書信息 *n); printf(n* 2.按編號查詢圖書 *n); printf(n* 3.按書名查詢圖書 *n); printf(n* 4.按作者查詢圖書 *n); printf(n* 5.返回上級菜單 *n);printf(n*n); printf(n請選擇);void jhmenu()printf(n*n);printf(n* 1.借書 *n);printf(n* 2.還書 *n);printf(n* 3.返回上級菜單 *n);printf(n*n);printf(n請選擇); void print(link *head)link *p;p=head;printf(n);printf(n*n);printf(n編號tt書名tt作者tt出版社tt出版時間tt價格tt狀態(tài)n); while(p!=NULL) printf(n);printf(%st%st%st%st%s,p-number,p-bookname,p-author,p-publish,p-time);printf(tt%.2f,p-price);printf(tt%s,p-status);printf(n);p=p-next;void hold(link *head)link *p;FILE *fp;fp=fopen(圖書信息.txt,w+);if(fp=NULL)printf(文件操作出錯!);exit(1);p=head;for(;p!=NULL;p=p-next) fprintf(fp,%st%st%st%st%s,p-number,p-bookname,p-author,p-publish,p-time);fprintf(fp,tt%.2f,p-price);fprintf(fp,tt%s,p-status);fprintf(fp,n);fclose(fp);printf(信息已保存。);void holdcx(link *t)link *p=NULL;FILE *fp;fp=fopen(查詢.txt,a+);p=t;fprintf(fp,查詢到的信息為:n);fprintf(fp,n);fprintf(fp,n*n);fprintf(fp,n編號tt書名tt作者tt出版社tt出版時間tt價格tt狀態(tài)n);fprintf(fp,n);fprintf(fp,%st%st%st%st%s,p-number,p-bookname,p-author,p-publish,p-time);fprintf(fp,tt%.2f,p-price);fprintf(fp,tt%s,p-status);fprintf(fp,n);fclose(fp);printf(信息已保存!);link *findnumber(link *head)char key100;link *h,*t1=NULL;printf(請輸入圖書的編號:);getchar();gets(key);for(h=head;h!=NULL;h=h-next) if(strcmp(key,h-number)=0) t1=h; break; return t1; link *findboookname(link *head)char key100;link *h,*t2=NULL;printf(請輸入圖書的書名:);getchar();gets(key);for(h=head;h!=NULL;h=h-next) if(strcmp(key,h-bookname)=0) t2=h; break; return t2;link *findauthor(link *head)char key100;link *h,*t3=NULL;printf(請輸入作者姓名:);getchar();gets(key);for(h=head;h!=NULL;h=h-next) if(strcmp(key,h-author)=0) t3=h; break; return t3;link *sortnumber(link *head)link *p,*q,*temp; temp=(link *)malloc(sizeof(link); if(temp=NULL) printf(申請內(nèi)存出錯!); exit(1); for(p=head;p!=NULL;p=p-next) for(q=p-next;q!=NULL;q=q-next)if(strcmp(p-number,q-number)0) strcpy(temp-number,p-number); strcpy(temp-bookname,p-bookname); strcpy(temp-author,p-author); strcpy(temp-publish,p-publish); strcpy(temp-time,p-time); temp-price=p-price; strcpy(temp-status,p-status); strcpy(p-number,q-number); strcpy(p-bookname,q-bookname); strcpy(p-author,q-author); strcpy(p-publish,q-publish); strcpy(p-time,q-time); p-price=q-price; strcpy(p-status,temp-status); strcpy(q-number,temp-number); strcpy(q-bookname,temp-bookname); strcpy(q-author,temp-author); strcpy(q-publish,temp-publish); strcpy(q-time,temp-time); q-price=temp-price; strcpy(q-status,temp-status); return head; link *borrowbook(link *head)link *h,*p;char ch,ch1100=在庫,ch2100=不在庫;h=head;printf(n*n);printf(tt歡迎使用借書系統(tǒng)!n);p=findboookname(h);if(p=NULL)printf(借書失敗,書庫中沒有這本書!);else if(strcmp(p-status,ch2)=0)printf(借書失敗,圖書不在庫!);else printf(確認(rèn)借出?Y/N:);scanf(%c,&ch);getchar(); if(ch=Y|ch=y) strcpy(p-status,ch2); printf(借書成功,請返回上級菜單保存信息!);if(ch=N|ch=n)printf(你沒有借任何書!); return head; link *returnbook(link *head) link *h,*p; char ch,ch1100=在庫,ch2100=不在庫; h=head;printf(n*n);printf(tt歡迎使用還書系統(tǒng)!n);p=findboookname(h);if(p=NULL)printf(還書失敗,這不是本書庫的書!); else printf(確認(rèn)還書?Y/N:); scanf(%c,&ch); getchar(); if(ch=Y|ch=y) strcpy(p-status,ch1); printf(還書成功,請返回上級菜單保存信息!); if(ch=N|ch=n) printf(你沒有還書!); return head; void main()int a,b,c,d;link *h,*t;L:system(cls); mainmenu();while(1) scanf(%d,&a);switch(a)case 1: B: system(cls); menu1(); while(1) scanf(%d,&b); switch(b) case 1: system(cls); cxmenu(); while(1) scanf(%d,&c); switch(c) case 1: print(h); break; case 2: t=findnumber(h); if(t=NULL) printf(沒有要查詢的圖書!); if(t!=NULL) printf(查詢的圖書為:); printf(n); printf(n*n); printf(n編號tt書名tt作者tt出版社tt出版時間tt價格tt狀態(tài)n); printf(n);printf(%st%st%st%st%s,t-number,t-bookname,t-author,t-publish,t-time); printf(tt%.2f,t-price); printf(tt%s,t-status);printf(n); break; case 3: t=findboookname(h); if(t=NULL) printf(沒有要查詢的圖書!); if(t!=NULL) printf(查詢的圖書為:); printf(n);printf(n*n); printf(n編號tt書名tt作者tt出版社tt出版時間tt價格tt狀態(tài)n); printf(n);printf(%st%st%st%st%s,t-number,t-bookname,t-author,t-publish,t-time); printf(tt%.2f,t-price); printf(tt%s,t-status); printf(n); break; case 4: t=findauthor(h); if(t=NULL) printf(沒有要查詢的圖書!); if(t!=NULL) printf(查詢的圖書為:); printf(n); printf(n*n); printf(n編號tt書名tt作者tt出版社tt出版時間tt價格tt狀態(tài)n); printf(n);printf(%st%st%st%st%s,t-number,t-bookname,t-author,t-publish,t-time); printf(tt%.2f,t-price); printf(tt%s,t-status);printf(n); break; case 5: goto B; break; break; case 2: system(cls);jhmenu();while(1)scanf(%d,&d);switch(d)case 1: borrowbook(h);break;case 2:returnbook(h); break;case 3: goto B;break; break; case 3: hold(h); break; case 4: goto L; break; break;case 0: printf(ttt感謝使用,再見!);exit(0);參考文獻(xiàn)1.C語言程序設(shè)計教程 2012,李麗娟 人民郵電出版社2.C程序設(shè)計語言 2010,魏東平等 電子工業(yè)出版社3.C Primer Plus 2005,(美)Stephen Prata 人民郵電出版社4.C語言程序設(shè)計:現(xiàn)代方法 2010,(美)K.N.King 人民郵電出版社5.Absolute Beginners Guide To C 2010,(美)Greg Perry6.C專家編程 2008,(美)LinDen,P.V.D 人民郵電出版社7.The C Programming Language 2004,(美)Dennis M.Ritchie8. C和C+經(jīng)典著作C專家編程Expert C Programming Deep C Secret
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024研發(fā)團隊保密合同
- 2025獵聘合同書管理資料
- 2025年度教育機構(gòu)辦學(xué)權(quán)轉(zhuǎn)讓合同3篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)承包經(jīng)營權(quán)合同集4篇
- 2025年度廠房改造項目合作轉(zhuǎn)讓合同范本4篇
- 2025廠長任期供應(yīng)鏈管理與優(yōu)化聘用合同4篇
- 二零二五年度質(zhì)檢員聘用合同范本:建筑安裝工程2篇
- 2025年度高端社區(qū)大門升級改造合同(2024版)4篇
- 2025版學(xué)校軍訓(xùn)服裝租賃及銷售合同3篇
- 2025年度門面房租賃風(fēng)險評估與管理合同4篇
- 數(shù)學(xué)-山東省2025年1月濟南市高三期末學(xué)習(xí)質(zhì)量檢測濟南期末試題和答案
- 中儲糧黑龍江分公司社招2025年學(xué)習(xí)資料
- 湖南省長沙市2024-2025學(xué)年高一數(shù)學(xué)上學(xué)期期末考試試卷
- 船舶行業(yè)維修保養(yǎng)合同
- 2024年3月江蘇省考公務(wù)員面試題(B類)及參考答案
- 醫(yī)院科室考勤表
- 春節(jié)期間化工企業(yè)安全生產(chǎn)注意安全生產(chǎn)
- 數(shù)字的秘密生活:最有趣的50個數(shù)學(xué)故事
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)一 移動商務(wù)內(nèi)容運營關(guān)鍵要素分解
- 基于ADAMS的汽車懸架系統(tǒng)建模與優(yōu)化
- 當(dāng)前中國個人極端暴力犯罪個案研究
評論
0/150
提交評論