[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文_第1頁
[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文_第2頁
[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文_第3頁
[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文_第4頁
[計(jì)算機(jī)軟件及應(yīng)用]圖書管理系統(tǒng)實(shí)訓(xùn)報(bào)告正文_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、引言 隨著社會經(jīng)濟(jì)的迅速發(fā)展和現(xiàn)代科學(xué)技術(shù)的進(jìn)步,人類社會正逐漸走向現(xiàn)代化。計(jì)算機(jī)事業(yè)的飛速發(fā)展,使得以計(jì)算機(jī)與通信技術(shù)為基礎(chǔ)的信息系統(tǒng)正處于蓬勃發(fā)展的時期。同時,隨著經(jīng)濟(jì)文化水平的顯著提高,人們對生活質(zhì)量及工作環(huán)境的要求也越來越高。圖書館擁有豐富的文獻(xiàn)信息資源,是社會系統(tǒng)的重要組成部分,在信息社會中的作用愈來愈重要。圖書管理系統(tǒng)是我國大部分學(xué)?;蚱渌块T不可缺少的部分,書籍是人類的精神食糧,尤其對一些學(xué)校來說,圖書館非常重要。計(jì)算機(jī)圖書管理系統(tǒng)能夠?yàn)橛脩魧?shí)現(xiàn)借閱圖書、管理等,隨著計(jì)算機(jī)科學(xué)的日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。作為計(jì)算機(jī)

2、應(yīng)用的一部分,使用計(jì)算機(jī)對圖書資源信息進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點(diǎn),例如:查閱迅速、安全性高、可靠性高、存儲量大、保密性好、成本低等。計(jì)算機(jī)圖書管理系統(tǒng)能夠單一定向計(jì)算機(jī)圖書方面,具有實(shí)用、精簡功能等效率,這些優(yōu)點(diǎn)能夠極大的提高圖書管理的效率,也是企業(yè)、學(xué)校的科學(xué)化、正規(guī)化管理的重要條件。第一章 緒論1.1 課題背景隨著人類社會的發(fā)展,人類對知識的需求也不斷增長。在這種形勢下,書籍就漸漸的成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)一定的位置,如何科學(xué)的管理圖書館不僅關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書管理系統(tǒng)就必不可

3、少了。隨著現(xiàn)代社會信息量的不斷增加,圖書的數(shù)量和種類越來越多,人工手動管理會降低工作的效率,希望建立一個圖書館圖書信息管理系統(tǒng),是為了解決了人工手動管理圖書信息在實(shí)踐的問題,從而達(dá)到系統(tǒng)化、規(guī)范化、標(biāo)準(zhǔn)化的水平。圖書如何來管理龐大的圖書信息成為一大難題,如何以一種便捷的管理方式加快圖書流通信息的反饋速度,提高工作效率,已經(jīng)成為學(xué)校圖書館管理的關(guān)鍵問題。信息技術(shù)的飛速發(fā)展給圖書館的管理帶來了全新的變革,采用圖書管理系統(tǒng)對圖書館的運(yùn)作進(jìn)行全程管理,不僅是圖書館擺脫了以往人工管理產(chǎn)生的一系列問題,而且讓圖書館提高了管理效率,減少了管理成本,讓圖書館進(jìn)行更有效的管理。1.2 c語言概述c語言是一種用途

4、廣泛、功能強(qiáng)大、使用靈活的過程性編程語言,既可用于編寫應(yīng)用軟件,又能用于編寫系統(tǒng)軟件。它既具有高級語言的特點(diǎn),又具有匯編語言的特點(diǎn)。c語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級的操作。由于語言實(shí)現(xiàn)了對硬件的編程操作,因此語言集高級語言和低級語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。此外,語言還具有效率高,可移植性強(qiáng)等特點(diǎn)。因此廣泛地移植到了各類各型計(jì)算機(jī)上,從而形成了多種版本的語言。使c語言應(yīng)用

5、面十分廣泛。第二章 開發(fā)工具簡介vc6.0 簡介visual c+ 6.0,簡稱vc或者vc6.0,是微軟推出的一款c+編譯器,將“高級語言”翻譯為“機(jī)器語言(低級語言)”的程序。visual c+是一個功能強(qiáng)大的可視化軟件開發(fā)工具。自1993年microsoft公司推出visual c+1.0后,隨著其新版本的不斷問世,visual c+已成為專業(yè)程序員進(jìn)行軟件開發(fā)的首選工具。雖然微軟公司推出了 visual c+.net(visual c+7.0),但它的應(yīng)用的很大的局限性,只適用于windows 2000、windows xp和windows nt4.0。所以實(shí)際中,更多的是以visua

6、l c+6.0為平臺。vc6.0由以下三部分組成:1、 developer studio,這是一個集成開發(fā)環(huán)境,我們?nèi)粘9ぷ鞯?9%都是在它上面完成的, developer studio為visual c+提供了一個很好的編輯器和很多wizard,但實(shí)際上它沒有任何編譯和鏈接程序的功能。我們也知道,developer studio并不是專門用于vc的,它也同樣用于vb,vj,vid等visual studio家族的其他同胞兄弟。所以不能把developer studio當(dāng)成visual c+, 它充其量只是visual c+的一個殼子而已。 2、 mfc。從理論上來講,mfc也不是專用于vis

7、ual c+,borland c+,c+builder和symantec c+同樣可以處理mfc。同時,用visual c+編寫代碼也并不意味著一定要用mfc,只要愿意,用visual c+來編寫sdk程序,或者使用stl,atl,一樣沒有限制。不過,visual c+本來就是為mfc打造的,visual c+中的許多特征和語言擴(kuò)展也是為mfc而設(shè)計(jì)的,所以用visual c+而不用mfc就等于拋棄了visual c+中很大的一部分功能。但是,visual c+也不等于mfc。 3、platform sdk。這才是visual c+和整個visual studio的精華和靈魂,雖然我們很少能直

8、接接觸到它。大致說來,platform sdk是以microsoft c/c+編譯器為核心(不是visual c+,看清楚了),配合masm,輔以其他一些工具和文檔資料。上面說到developer studio沒有編譯程序的功能,那么這項(xiàng)工作是由誰來完成的呢?是cl,是nmake,和其他許許多多命令行程序,這些我們看不到的程序才是構(gòu)成visual studio的基石。第三章 圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)3.1 系統(tǒng)的需求分析3.1.1 設(shè)計(jì)思想隨著現(xiàn)代社會信息量的不斷增加,圖書的種類及信息也越來越多,如何來管理龐大的圖書信息成為一大難題,如何以一種便捷的管理方式加快圖書流通信息的反饋速度,提高工作

9、效率,已經(jīng)成為學(xué)校圖書館管理的關(guān)鍵問題。信息技術(shù)的飛速發(fā)展給圖書館的管理帶來了全新的變革,采用圖書管理系統(tǒng)對圖書館的運(yùn)作進(jìn)行全程管理,不僅是圖書館擺脫了以往人工管理產(chǎn)生的一系列問題,而且讓圖書館提高了管理效率,減少了管理成本,讓圖書館進(jìn)行更有效的管理。因此,設(shè)計(jì)的圖書管理系統(tǒng)需要滿足以下幾方面要求:讀者的管理;管理員的管理;圖書信息的管理。3.1.2 系統(tǒng)功能描述(1)系統(tǒng)主菜單:根據(jù)不同的選擇進(jìn)入不同的界面,從而進(jìn)入系統(tǒng)和退出系統(tǒng)。(2)功能菜單:顯示可以進(jìn)行的操作。(3)查詢主菜單:系統(tǒng)需要提供幾種不同方式的查詢手段,以實(shí)現(xiàn)靈活方便的管理整個系統(tǒng)。一本圖書包括序號、書名、價格、會員價等多個

10、信息,會員可以通過輸入圖書的序號、名字進(jìn)行查詢所需的圖書,然后可以瀏覽相關(guān)的圖書信息。管理員除此還可以對圖書進(jìn)行管理和對會員信息的管理,可以瀏覽所有的圖書信息和會員信息。(4)各功能的操作全部通過調(diào)用的關(guān)系連接而成,主函數(shù)通過調(diào)用各子函數(shù)來完成圖書的管理與查詢系統(tǒng)。3.1.3功能模塊劃分1. 初始化圖書信息主函數(shù)通過調(diào)用initbook()子函數(shù),采用scanf()輸入方式輸入圖書的序號、名字、價格信息,會員價不需輸入,只需用公式:會員價=價格*0.8f(會員價一律八折)即可。2. 增加圖書信息這個程序與初始化圖書信息一樣,通過調(diào)用addbook()子函數(shù)來增加一些圖書的基本信息,如:圖書的序

11、號、名字、價格。3. 修改圖書信息調(diào)用modifybook()子函數(shù)來實(shí)現(xiàn)此功能,用來修改已經(jīng)增加的圖書信息,修改的是圖書的價格、會員價,圖書的序號、名字不改變。4. 刪除圖書信息由主函數(shù)調(diào)用delbook()子函數(shù)實(shí)現(xiàn)刪除圖書信息功能。輸入要刪除的圖書名稱,從而刪除這本圖書的所有信息,無法還原。5. 按圖書的價格從高到低瀏覽圖書信息由函數(shù)showbook()來實(shí)現(xiàn)此功能。通過圖書的價格由高到低的順序來查詢圖書的序號、名字、價格、會員價。6. 增加會員信息addhuiyuan()存儲會員信息的文件名是huiyuan(增加會員時文件讀取方式采用“ab+”方式),用scanf()輸入方式輸入每個會

12、員信息是序號、名字、密碼。7. 刪除會員信息delhuiyuan()輸入要刪除的會員名字,從而刪除這個會員的所有信息,無法還原。8. 按名字瀏覽會員的所有信息showhuiyuan() 用來瀏覽已經(jīng)增加的會員信息。9.會員模塊show()會員可以輸入名字和密碼登陸會員界面,瀏覽圖書信息。可輸入相應(yīng)圖書的名字,查詢相應(yīng)的圖書信息。3.1.4系統(tǒng)流程3.2詳細(xì)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 3.2.1主函數(shù)界面設(shè)計(jì)#include#include#include#include#define size 100typedef structlong number;char name9;char ps7;int po

13、wer;huiyuan;typedef structlong number;char name100;float price;float memberprice;book; void main() void menu1();void menu2();huiyuan show; char datafile40=huiyuan;char username10,password10;int i;printf(nnnnn);printf( n); printf( = n);printf( *+ +* n);printf( *歡迎您進(jìn)入圖書管理系統(tǒng)* n);printf( *+ +* n); print

14、f( = n);printf( n); printf(nn);printf( 請輸入您的姓名:);scanf(%s,username); printf( 請輸入您的登錄密碼:);scanf(%s,password);if (strcmp(username,admin)=0)&(strcmp(password,admin)=0)printf( 您是管理員! n); menu1();file *fp; fp=fopen(datafile,rb);if(fp=null)printf(文件%s信息錯誤n,datafile);exit(1);while(fread(&show,sizeof(huiyua

15、n),1,fp)!=0)if(strcmp(username,)=0)&(strcmp(password,show.ps)=0)printf( 您是普通會員n);menu2();exit(0);3.2.2 管理員界面與圖書瀏覽界面設(shè)計(jì)void initbook();void addbook();void modifybook();void delbook();void showbook();void addhuiyuan();void delhuiyuan();void showhuiyuan();void show();void quit();void menu1()cha

16、r ch1,ch2,ch3;doprintf(nnn);printf( = n); printf( *歡迎進(jìn)入圖書管理員界面* n);printf( = n); printf(tt請您選擇操作類型:n);printf( *1.歡迎進(jìn)入圖書信息系統(tǒng)* n);printf( *2.歡迎進(jìn)入會員信息系統(tǒng)* n);printf( *0.退出系統(tǒng)* n);printf( 請輸入您的選擇! n);scanf(%s,&ch1);switch(ch1)case 1:do printf(nnn);printf( *歡迎進(jìn)入圖書信息系統(tǒng)歡迎進(jìn)入會員信息系統(tǒng)感謝您的使用* n);printf( n);printf(

17、 = n);getch();exit(0); 3.2.3各功能模塊設(shè)計(jì)1、初始化圖書信息void initbook() file *fp;book tmps,show;char datafile40=book;int count=0;fp=fopen(datafile,wb+);if(fp=null)printf(文件%s信息錯誤n,datafile);exit(1);printf(請輸入圖書的序號、名稱、價格n);while(countsize)printf(輸入數(shù)據(jù)已滿n);fclose(fp);printf(所輸入圖書信息如下:n);fp=fopen(datafile,rb);if(fp

18、=null)printf(文件%s信息錯誤n,datafile);exit(1);printf(序號t名稱t價格t會員價n);while(fread(&show,sizeof(book),1,fp)!=0)printf(%ldt%st%.1ft%.1fn,show.number,,show.price,show.memberprice);fclose(fp); 2、添加圖書信息void addbook()file *fp;book tmps,show;char datafile40=book;int count=0;fp=fopen(datafile,wb+);if(fp=n

19、ull)printf(文件%s信息錯誤n,datafile);exit(1);printf(請輸入圖書的序號、名稱、價格n);while(countsize)printf(輸入數(shù)據(jù)已滿n);fclose(fp);printf(所輸入圖書信息如下:n);fp=fopen(datafile,rb);if(fp=null)printf(文件%s信息錯誤n,datafile);exit(1);printf(序號t名稱t價格t會員價n);while(fread(&show,sizeof(book),1,fp)!=0)printf(%ldt%st%.1ft%.1fn,show.number,show.na

20、me,show.price,show.memberprice);fclose(fp);3、修改圖書信息void modifybook() file *fp;book tmps,ssize,show,temp;char name9,next,datafile40=book;int recnumber,i,result=0;float price;begin:printf(請輸入要修改信息的圖書的名稱:);scanf(%s,name);fp=fopen(datafile,rb);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);while(feof(f

21、p)=0)if(fread(&temp,sizeof(book),1,fp)!=0)if(strcmp(,name)=0) result=1;if(result=0)printf(要修改的圖書%s不存在n,name);fclose(fp); goto begin;fp=fopen(datafile,rb);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);recnumber=0;while(fread(&tmps,sizeof(book),1,fp)!=0)if(strcmp(,name)=0)printf(請輸

22、入要修改圖書%s的價格,name);scanf(%f,&price);srecnumber.number=tmps.number;strcpy(,); srecnumber.price=price;srecnumber.memberprice=price*0.8f;recnumber+;elsesrecnumber.number=tmps.number;strcpy(,); srecnumber.price=tmps.price;srecnumber.memberprice=tmps.price*0

23、.8f;recnumber+;fclose(fp);fp=fopen(datafile,wb+);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);for(i=0;irecnumber;i+)if(fwrite(&si,sizeof(book),1,fp)!=1)printf(文件%s信息錯誤n,datafile); exit(1); fclose(fp);printf(圖書信息修改成功!n);printf(是否繼續(xù)修改(y/n)n);next=getche();if(next=y|next=y)goto begin;printf(所修改圖書信息如

24、下:n);fp=fopen(datafile,rb);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);printf(序號t名稱t價格t會員價tn);while(fread(&show,sizeof(book),1,fp)!=0) printf(%ldt%st%.1ft%.1fn,show.number,,show.price,show.memberprice);fclose(fp);4、刪除圖書信息void delbook() file *fp;book tmps,ssize,show,temp;char name10,next

25、,datafile40=book;int recnumber,i,result=0;begin: printf(請輸入要刪除的圖書的名字:);scanf(%s,name);fp=fopen(datafile,rb);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);while(feof(fp)=0)if(fread(&temp,sizeof(book),1,fp)!=0)if(strcmp(,name)=0) result=1;if(result=0)printf(要刪除的圖書%s不存在n,name);fclose(fp); go

26、to begin;fclose(fp);fp=fopen(datafile,rb);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);recnumber=0;while(fread(&tmps,sizeof(book),1,fp)!=0)if(strcmp(,name)!=0)srecnumber.number=tmps.number;strcpy(,);srecnumber.price=tmps.price;srecnumber.memberprice=tmps.price*0.8

27、f;recnumber+;fclose(fp);fp=fopen(datafile,wb+);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);for(i=0;i1)for(i=0;irecnumber-1;i+)k=i;for(j=i+1;jrecnumber;j+)if(sk.pricesj.price)k=j;tmps.number=sk.number;strcpy(,);tmps.price=sk.price; tmps.memberprice=sk.price*0.8f; sk.number=si.numb

28、er;strcpy(,); sk.price=si.price; sk.memberprice=si.price*0.8f;si.number=tmps.number;strcpy(,);si.price=tmps.price; si.memberprice=tmps.memberprice;fp=fopen(datafile,wb+);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);for(i=0;irecnumber;i+) if(fwrite(&si,sizeof(book),1,

29、fp)!=1)printf(文件%s信息錯誤n,datafile); exit(1);fclose(fp);printf(瀏覽圖書信息如下:n);fp=fopen(datafile,rb);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1); printf(序號t名稱t價格t會員價n);while(fread(&show,sizeof(book),1,fp)!=0)printf(%ldt%st%.1ft%.1fn,show.number,,show.price,show.memberprice);fclose(fp);6、增加會員信

30、息void addhuiyuan() file *fp;huiyuan tmps,show;char datafile40=huiyuan;int count=0;fp=fopen(datafile,ab+);if(fp=null)printf(文件%s信息錯誤n,datafile);exit(1);printf(請輸入會員的序號、名字、密碼、權(quán)限n);while(countsize)printf(輸入數(shù)據(jù)已滿n);fclose(fp);printf(所輸入圖書信息如下:n);fp=fopen(datafile,rb);if(fp=null)printf(文件%s信息錯誤n,datafile)

31、;exit(1);printf(序號t姓名t密碼t權(quán)限n);while(fread(&show,sizeof(huiyuan),1,fp)!=0)printf(%ldt%st%st%dn,show.number,,show.ps,show.power);fclose(fp);7、刪除會員信息void delhuiyuan() file *fp;huiyuan tmps,ssize,show,temp;char name10,next,datafile40=huiyuan;int recnumber,i,result=0;begin:printf(請輸入要刪除會員信息的名字:)

32、;scanf(%s,name);fp=fopen(datafile,rb);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);while(feof(fp)=0)if(fread(&temp,sizeof(huiyuan),1,fp)!=0)if(strcmp(,name)=0) result=1;if(result=0)printf(要刪除的會員%s不存在n,name);fclose(fp); goto begin;fclose(fp);fp=fopen(datafile,rb);if(fp=null) printf(文件%s信息錯誤n,datafile); exit(1);recnumber=0;while(fread(&tmps,sizeof(huiyuan),1,fp)!=0)if(strcmp(,name)!=0)srecnumber.number=tmps.nu

溫馨提示

  • 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

提交評論