C語言圖書管理系統(tǒng)課程設(shè)計報告_第1頁
C語言圖書管理系統(tǒng)課程設(shè)計報告_第2頁
C語言圖書管理系統(tǒng)課程設(shè)計報告_第3頁
C語言圖書管理系統(tǒng)課程設(shè)計報告_第4頁
C語言圖書管理系統(tǒng)課程設(shè)計報告_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄引言.1第一章 緒論.11.1 課題背景.1 1.2 圖書館信息化管理.2第二章 開發(fā)工具簡介.3 VC6.0簡介.3第三者 圖書管理系統(tǒng)的設(shè)計與實現(xiàn).4 3.1 系統(tǒng)的需求分析.43.2 系統(tǒng)的設(shè)計.5 3.2.1 系統(tǒng)的總統(tǒng)設(shè)計.5 3.2.2 系統(tǒng)的概要設(shè)計.6 3.3 測試結(jié)果.63.4 源代碼.9第四章 心得體會.22參考文獻(xiàn).22引言 隨著社會經(jīng)濟的迅速發(fā)展和現(xiàn)代科學(xué)技術(shù)的進(jìn)步,人類社會正逐漸走向現(xiàn)代化。計算機事業(yè)的飛速發(fā)展,使得以計算機與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時期。同時,隨著經(jīng)濟文化水平的顯著提高,人們對生活質(zhì)量及工作環(huán)境的要求也越來越高。圖書館擁有豐富的文

2、獻(xiàn)信息資源,是社會系統(tǒng)的重要組成部分,在信息社會中的作用愈來愈重要。圖書管理系統(tǒng)是我國大部分學(xué)校或其他部門不可缺少的部分,書籍是人類的精神食糧,尤其對一些學(xué)校來說,圖書館非常重要。在軟件開發(fā)中,以計算機圖書為主,稱“計算機圖書管理系統(tǒng)”。計算機圖書管理系統(tǒng)能夠為用戶實現(xiàn)借閱圖書、管理等,隨著計算機科學(xué)的日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對圖書資源信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點,例如:查閱迅速、安全性高、可靠性高、存儲量大、保密性好、成本低等。計算機圖書管理系統(tǒng)能夠單一定向計算機圖書方面,具

3、有實用、精簡功能等效率,這些優(yōu)點能夠極大的提高圖書管理的效率,也是企業(yè)、學(xué)校的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。第一章 緒論1.1 課題背景隨著人類社會的發(fā)展,人類對知識的需求也不斷增長。在這種形勢下,書籍就漸漸的成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)一定的位置,如何科學(xué)的管理圖書館不僅關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書管理系統(tǒng)就必不可少了。隨著現(xiàn)代社會信息量的不斷增加,圖書的種類及信息也越來越多,如何來管理龐大的圖書信息成為一大難題,如何以一種便捷的管理方式加快圖書流通信息的反饋速度,提高工作效率,已經(jīng)成為學(xué)校圖

4、書館管理的關(guān)鍵問題。信息技術(shù)的飛速發(fā)展給圖書館的管理帶來了全新的變革,采用圖書管理系統(tǒng)對圖書館的運作進(jìn)行全程管理,不僅是圖書館擺脫了以往人工管理產(chǎn)生的一系列問題,而且讓圖書館提高了管理效率,減少了管理成本。讓圖書館進(jìn)行更有效的管理。1.2 圖書館信息化管理圖書館的信息化從最初的對圖書館業(yè)務(wù)管理實行信息化發(fā)展到圖書館各個業(yè)務(wù)流程進(jìn)行系統(tǒng)和網(wǎng)絡(luò)化管理,并建立大規(guī)模以個體文獻(xiàn)目錄聯(lián)機查詢?yōu)橹鞯馁Y源共享系統(tǒng)。進(jìn)入21世紀(jì),充分利用計算機網(wǎng)絡(luò)和信息技術(shù),逐步實現(xiàn)不同載體的實體文獻(xiàn)的信息化管理和多方位的聯(lián)機查詢。圖書館的計算機信息化管理,就是將傳統(tǒng)圖書館業(yè)務(wù)的手工操作轉(zhuǎn)變成由計算機管理,既圖書館的圖書期刊

5、、音像資料等各種載體文獻(xiàn)的采編、典藏、流通、檢索及常規(guī)業(yè)務(wù)管理工作,采用計算機技術(shù),進(jìn)行高效、準(zhǔn)確的信息化管理。其根本目的是實現(xiàn)區(qū)域內(nèi)及地區(qū)、國家、國家間的資源共享。要達(dá)到資源共享的目的,必須制定一定的標(biāo)準(zhǔn),只有各個系統(tǒng)都遵循這些標(biāo)準(zhǔn),不同的系統(tǒng)間才可以實現(xiàn)聯(lián)機查詢、資源共享的效果。第二章 開發(fā)工具簡介 VC6.0簡介Visual C+ 6.0,簡稱VC或者VC6.0,是微軟推出的一款C+編譯器,將“高級語言”翻譯為“機器語言(低級語言)”的程序。Visual C+是一個功能強大的可視化軟件開發(fā)工具。自1993年Microsoft公司推出Visual C+1.0后,隨著其新版本的不斷問世,Vi

6、sual C+已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。雖然微軟公司推出了 Visual C+.NET(Visual C+7.0),但它的應(yīng)用的很大的局限性,只適用于Windows 2000、Windows XP和Windows NT4.0。所以實際中,更多的是以Visual C+6.0為平臺。VC6.0由以下三部分組成:1、 Developer Studio,這是一個集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的, Developer Studio為Visual C+提供了一個很好的編輯器和很多Wizard,但實際上它沒有任何編譯和鏈接程序的功能。我們也知道,Developer Stud

7、io并不是專門用于VC的,它也同樣用于VB,VJ,VID等Visual Studio家族的其他同胞兄弟。所以不能把Developer Studio當(dāng)成Visual C+, 它充其量只是Visual C+的一個殼子而已。 2、 MFC。從理論上來講,MFC也不是專用于Visual C+,Borland C+,C+Builder和Symantec C+同樣可以處理MFC。同時,用Visual C+編寫代碼也并不意味著一定要用MFC,只要愿意,用Visual C+來編寫SDK程序,或者使用STL,ATL,一樣沒有限制。不過,Visual C+本來就是為MFC打造的,Visual C+中的許多特征和語

8、言擴展也是為MFC而設(shè)計的,所以用Visual C+而不用MFC就等于拋棄了Visual C+中很大的一部分功能。但是,Visual C+也不等于MFC。 3、Platform SDK。這才是Visual C+和整個Visual Studio的精華和靈魂,雖然我們很少能直接接觸到它。大致說來,Platform SDK是以Microsoft C/C+編譯器為核心(不是Visual C+,看清楚了),配合MASM,輔以其他一些工具和文檔資料。上面說到Developer Studio沒有編譯程序的功能,那么這項工作是由誰來完成的呢?是CL,是NMAKE,和其他許許多多命令行程序,這些我們看不到的程序

9、才是構(gòu)成Visual Studio的基石。第三章 圖書管理系統(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)主

10、要設(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)入此菜單功能模塊,輸入您要查詢的圖書的編號、名字、作者等。圖書查詢

11、模塊流程如圖:開始 提示輸入圖書編號、書名、作者輸入正確查詢 否 是 重新輸入 是退出系統(tǒng) 否3.3 測試結(jié)果系統(tǒng)主界面功能菜單查詢系統(tǒng)菜單借還系統(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;FIL

12、E *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)

13、;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(

14、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.返回上級菜單

15、*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-

16、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);fp

17、rintf(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-numbe

18、r,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; ret

19、urn 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;

20、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);

21、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,

22、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)l

23、ink *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|

24、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(還書成功,請返

25、回上級菜單保存信息!); 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

26、; 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

27、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); print

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論