版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告</p><p><b> 摘要:</b></p><p> 圖書館管理信息系統(tǒng)是典型的計(jì)算機(jī)信息管理系統(tǒng),在C-Free 5.0編程環(huán)境下實(shí)現(xiàn)的。本系統(tǒng)提供7個(gè)功能模塊,分別是管理員登錄系統(tǒng)模、菜單選擇模塊、圖書信息錄入功能模塊、圖書信息瀏覽功能模塊,圖書信息查詢功能模塊、圖書信息刪除功能模塊、以及圖書信息修改功能模
2、塊。這7個(gè)模塊里又有許多子模塊,通過這些模塊之間的相互連接與配合,完成操作員發(fā)出的各種指令。</p><p> 圖書館管理系統(tǒng)是一個(gè)供內(nèi)部人員使用的系統(tǒng)。而圖書館的工作人員也分為兩類,一類是操作人員,主要負(fù)責(zé)圖書的借閱和歸還的工作;一類是管理員,除了操作人員的所有功能外,還能夠?qū)斜?、書籍信息、讀者信息等進(jìn)行管理。</p><p> 論文將全面介紹所設(shè)計(jì)的圖書館管理系統(tǒng)的系統(tǒng)功能和
3、業(yè)務(wù)流程,并對(duì)系統(tǒng)進(jìn)行詳細(xì)的數(shù)據(jù)分析和設(shè)計(jì),最終使用C語言完成系統(tǒng)開發(fā)。</p><p> 關(guān)鍵詞:圖書館管理系統(tǒng),C語言</p><p><b> 目錄</b></p><p> 第一章 課題分析1</p><p> 1.1 需求分析1</p><p> 1.2 功能分析2<
4、;/p><p> 1.3 設(shè)計(jì)思路2</p><p> 1.4 開發(fā)環(huán)境4</p><p> 第二章 總體設(shè)計(jì)5</p><p> 2.1 總體工作原理5</p><p> 2.2 系統(tǒng)框圖5</p><p> 第三章 詳細(xì)設(shè)計(jì)10</p><p>
5、 3.1 管理員登錄模塊11</p><p> 3.2 菜單選擇模塊15</p><p> 3.3 圖書信息錄入模塊15</p><p> 3.4 圖書信息瀏覽模塊17</p><p> 3.5 圖書信息查詢模塊21</p><p> 3.6 圖書信息刪除模塊24</p><p
6、> 3.7 圖書信息修改模塊27</p><p> 3.8 主程序27</p><p> 第四章 程序調(diào)試及運(yùn)行結(jié)果35</p><p> 4.1程序調(diào)試35</p><p> 4.2 運(yùn)行結(jié)果35</p><p><b> 設(shè)計(jì)總結(jié)37</b></p>
7、<p><b> 參考文獻(xiàn)38</b></p><p><b> 課題分析</b></p><p><b> 1.1 需求分析</b></p><p> 圖書館管理系統(tǒng)是一個(gè)高度集成的圖書信息處理系統(tǒng),通過將圖書館的各種功能進(jìn)行整合,從而達(dá)到顯示檢索信息,提高工作效率,降低管理成
8、本等目的。一個(gè)典型的圖書管理系統(tǒng)應(yīng)該能夠管理所有的圖書種類,圖書信息以及提供各種圖書信息的檢索查詢功能。通過該系統(tǒng)的自動(dòng)化管理,能夠大大減少圖書館管理人員,還能減少管理人員的工作任務(wù),從而降低管理開銷和成本。</p><p> 管理員可以方便進(jìn)行圖書信息管理。包括圖書信息以及圖書分類的添加,修改,刪除。</p><p><b> 1.2 功能分析</b></
9、p><p> 根據(jù)以上需求分析,我所設(shè)計(jì)的圖書館管理系統(tǒng)有7個(gè)功能模塊,分別是管理員登錄系統(tǒng)模塊、菜單選擇模塊、圖書信息錄入功能模塊、圖書信息瀏覽功能模塊,圖書信息查詢功能模塊、圖書信息刪除功能模塊、以及圖書信息修改功能模塊。</p><p> 管理員登錄系統(tǒng)模塊:該模塊主要負(fù)責(zé)管理員選擇是否登陸以及輸入賬號(hào)和密碼。</p><p> 菜單選擇模塊:該模塊主要負(fù)責(zé)
10、提示選擇需要進(jìn)行的操作。</p><p> 圖書信息錄入功能模塊:該模塊主要負(fù)責(zé)錄入圖書信息,如圖書分類號(hào)、圖書名稱、作者、出版社等信息。</p><p> 圖書信息瀏覽功能模塊:該模塊主要負(fù)責(zé)瀏覽錄入的信息。</p><p> 圖書信息查詢功能模塊:該模塊主要負(fù)責(zé)通過分類號(hào)查詢圖書信息。</p><p> 圖書信息刪除功能模塊:該模
11、塊主要負(fù)責(zé)通過分類號(hào)刪除圖書信息。</p><p> 圖書信息修改功能模塊:該模塊主要負(fù)責(zé)通過分類號(hào)修改圖書信息。</p><p> 退出系統(tǒng)時(shí),圖書信息自動(dòng)保存到bookinf.txt文件中。</p><p><b> 1.3 設(shè)計(jì)思路</b></p><p> 圖書管理系統(tǒng)是一個(gè)內(nèi)部人員使用的系統(tǒng),只有圖書管
12、理員才能使用,進(jìn)行圖書的錄入,瀏覽,查詢,刪除等操作。所以應(yīng)該把圖書信息用結(jié)構(gòu)體形式輸入,在程序中需實(shí)現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,最后在退出系統(tǒng)子程序中調(diào)用保存文件程序,實(shí)現(xiàn)錄入信息的存儲(chǔ)。需要建立相應(yīng)的模塊來實(shí)現(xiàn);另外還需提供鍵盤式選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時(shí)達(dá)到所要目的。</p><p><b> 1.4 開發(fā)環(huán)境</b></p><p>
13、 C-Free是一款C/C++集成開發(fā)環(huán)境(IDE)。目前有兩個(gè)版本,收費(fèi)的C-Free 5.0 專業(yè)版和免費(fèi)的C-Free 4.0 標(biāo)準(zhǔn)版。</p><p> C-Free中集成了C/C++代碼解析器,能夠?qū)崟r(shí)解析代碼,并且在編寫的過程中給出智能的提示。C-Free提供了對(duì)目前業(yè)界主流C/C++編譯器的支持,你可以在C-Free中輕松切換編譯器??啥ㄖ频目旖萱I、外部工具以及外部幫助文檔,使你在編寫代碼時(shí)得心
14、應(yīng)手。完善的工程/工程組管理使你能夠方便的管理自己的代碼。</p><p> C語言,是一種通用的、過程式的編程語言,廣泛用于系統(tǒng)與應(yīng)用軟件的開發(fā)。具有高效、靈活、功能豐富、表達(dá)力強(qiáng)和較高的移植性等特點(diǎn),在程序員中備受青睞。最近25年是使用最為廣泛的編程語言。</p><p> C語言是一種計(jì)算機(jī)程序設(shè)計(jì)語言。它既具有高級(jí)語言的特點(diǎn),又具有匯編語言的特點(diǎn)。它可以作為工作系統(tǒng)設(shè)計(jì)語言,編
15、寫系統(tǒng)應(yīng)用程序,也可以作為應(yīng)用程序設(shè)計(jì)語言,編寫不依賴計(jì)算機(jī)硬件的應(yīng)用程序。</p><p><b> 總體設(shè)計(jì)</b></p><p> 2.1 總體工作原理</p><p> 根據(jù)題目要求,可以將系統(tǒng)分為六個(gè)模塊:</p><p> 管理員登錄系統(tǒng)模塊。</p><p><b&g
16、t; 菜單選擇模塊。</b></p><p> 圖書信息錄入功能模塊。</p><p><b> 圖書信息瀏覽功能。</b></p><p><b> 圖書信息查詢功能。</b></p><p> 圖書信息的刪除和修改。</p><p> 各個(gè)模塊獨(dú)立
17、完成功能,在主程序里面用switch語句完成整個(gè)系統(tǒng)功能。</p><p><b> 2.2 系統(tǒng)框圖</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p> 3.1 管理員登錄模塊</p><p> void index()</p><p><b
18、> {</b></p><p> char name[20];</p><p> char password[20];</p><p> //name[20]="elvira";</p><p> //password[20]="gssb122213";</p>
19、;<p><b> FILE *fp;</b></p><p> book a={"\0","\0","\0","\0","\0","\0",0.0,0};</p><p> if(access("bookinf.txt
20、",0)) //如果文件不存在,則初始化文件格式</p><p><b> {</b></p><p> if((fp=fopen("bookinf.txt","w"))==NULL)</p><p><b> {</b></p
21、><p> printf("file creat failure!");</p><p><b> exit(0);</b></p><p><b> }</b></p><p><b> }</b></p><p> else
22、 //如果文件存在,則打開文件追加信息</p><p><b> {</b></p><p> if((fp=fopen("bookinf.txt","a+"))==NULL)</p><p><b> {&
23、lt;/b></p><p> printf("file open error!");</p><p><b> exit(0); </b></p><p><b> }</b></p><p><b> }</b></p>&l
24、t;p> printf("\n\n\t請(qǐng)輸入管理員帳號(hào):"); </p><p> scanf("%s",name); </p><p> printf("\n\n\t請(qǐng)輸入密碼:"); </p><p> scanf(&quo
25、t;%s",password); </p><p><b> do</b></p><p><b> {</b></p><p> if((strcmp(name0,name)==0)&& (strcmp(passwo
26、rd0,password)==0))</p><p><b> {</b></p><p> //menu();</p><p><b> break ;</b></p><p><b> }</b></p><p><b> el
27、se</b></p><p><b> {</b></p><p> printf("輸入帳號(hào)或密碼錯(cuò)誤,請(qǐng)重新輸入!");</p><p> printf("\n\n\t請(qǐng)輸入管理員帳號(hào):"); </p><p
28、> scanf("%s",name); </p><p> printf("\n\n\t請(qǐng)輸入密碼:"); </p><p> scanf("%s",password); </p><p><b> }</b></p><p> f
29、close(fp);</p><p> }while(1);</p><p><b> }</b></p><p><b> 流程圖:</b></p><p> 3.2 菜單選擇模塊</p><p> void menu()</p><p>
30、<b> {</b></p><p> printf("\t====================歡迎進(jìn)入圖書館系統(tǒng)!=============================\n\n");</p><p> printf("\t\t*****************1.錄入圖書信息********************\n&q
31、uot;);</p><p> printf("\t\t*****************2.瀏覽圖書信息********************\n");</p><p> printf("\t\t*****************3.查找圖書信息********************\n");</p><p> p
32、rintf("\t\t*****************4.刪除圖書信息********************\n");</p><p> printf("\t\t*****************5.修改圖書信息********************\n");</p><p> printf("\t\t**************
33、******6.退出*************************\n");</p><p> printf("\t\t*********選擇那一項(xiàng),請(qǐng)按1、2、3、4、5、6**********\n");</p><p><b> }</b></p><p><b> 流程圖:</b&g
34、t;</p><p> 3.3 圖書信息錄入模塊</p><p> void insert()</p><p><b> {</b></p><p> book temp;</p><p> book a={"\0","\0","\0&q
35、uot;,"\0","\0","\0",0.0,0};</p><p> printf("請(qǐng)輸入圖書信息\n");</p><p> printf("圖書分類號(hào) 書名作者 出版社 出版時(shí)間 狀態(tài) 價(jià)格 數(shù)量\n");</p><p>
36、 scanf("%s%s%s%s%s%s%lf%d",temp.num,temp.name,temp.author,temp.press,temp.time,temp.status,&temp.price,&temp.count);</p><p> data.push_back(temp);</p><p> printf("插入圖書信息
37、成功!\n"); </p><p><b> }</b></p><p> void browse()</p><p><b> {</b></p><p> printf("圖書分類號(hào) 書名作者 出版社出版時(shí)間 狀態(tài) 價(jià)格 數(shù)量\n");&l
38、t;/p><p> for(int i = 0;i< data.size();i++)</p><p><b> {</b></p><p> book a = data.at(i);</p><p> printf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n
39、",a.num,a.name,a.author,a.press,a.time,a.status,a.price,a.count);</p><p><b> }</b></p><p><b> }</b></p><p><b> 流程圖:</b></p><p&
40、gt; 3.4 圖書信息瀏覽模塊</p><p> void browse()</p><p><b> {</b></p><p> printf("圖書分類號(hào) 書名作者 出版社出版時(shí)間 狀態(tài) 價(jià)格 數(shù)量\n");</p><p> for(int i = 0;i<
41、 data.size();i++)</p><p><b> {</b></p><p> book a = data.at(i);</p><p> printf("%-14s%-10s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n",a.num,a.name,a.author,a.press,a.t
42、ime,a.status,a.price,a.count);</p><p><b> }</b></p><p><b> }</b></p><p><b> 流程圖:</b></p><p> 3.5 圖書信息查詢模塊</p><p>
43、void find()</p><p><b> {</b></p><p> char num[15];</p><p> printf("請(qǐng)輸入所要查找圖書的分類號(hào):");</p><p> scanf("%s",num);</p><p>
44、printf("圖書分類號(hào) 書名作者 出版社出版時(shí)間 狀態(tài) 價(jià)格 數(shù)量\n");</p><p> for(int i = 0;i<data.size();i++)</p><p> if (strcmp(data.at(i).num,num)==0) </p><p> printf("%-14s%-10
45、s%-7s%-7s%-12s%-9s%-8.2lf%-4d\n",data.at(i).num,data.at(i).name,data.at(i).author,data.at(i).press,data.at(i).time,data.at(i).status,data.at(i).price,data.at(i).count);</p><p><b> }</b><
46、/p><p><b> 流程圖:</b></p><p> 3.6 圖書信息刪除模塊</p><p> void deleter()</p><p><b> {</b></p><p> char num[15];</p><p> vect
47、or<book>::iterator iter;</p><p> printf("請(qǐng)輸入所要?jiǎng)h除圖書的中圖分類號(hào):");</p><p> scanf("%s",num);</p><p><b> int k;</b></p><p> for(int i
48、=0 ;i<data.size();i++)</p><p> if (strcmp(data.at(i).num,num)==0) {</p><p> for(iter = data.begin(),k = 0;k < i; k++,iter++);</p><p> data.erase(iter);</p><p&g
49、t;<b> }</b></p><p><b> }</b></p><p><b> 流程圖</b></p><p> 3.7 圖書信息修改模塊</p><p> void modify()</p><p><b> {<
50、;/b></p><p> printf("請(qǐng)輸入所要修改圖書的分類號(hào):");</p><p> char num[15];</p><p> scanf("%s",num);</p><p> for (int i = 0;i<data.size();i++) {</p>
51、;<p> if (strcmp(data.at(i).num,num)==0) {</p><p> printf("請(qǐng)輸入圖書信息,即將記錄修改為:\n");</p><p> printf("圖書分類號(hào)書名作者出版社出版時(shí)間狀態(tài)價(jià)格數(shù)量\n");</p><p> scanf(&quo
52、t;%s %s %s %s %s %s %lf %d",data.at(i).num,data.at(i).name,data.at(i).author,data.at(i).press,data.at(i).time,data.at(i).status,&data.at(i).price,&data.at(i).count);</p><p><b> }</b>
53、;</p><p><b> }</b></p><p><b> }</b></p><p><b> 流程圖:</b></p><p><b> 3.8 主程序</b></p><p> int main()</
54、p><p><b> {</b></p><p><b> ini();</b></p><p> int choice0,choice;</p><p><b> menu0();</b></p><p> printf("請(qǐng)選擇服務(wù)
55、項(xiàng)目:");</p><p> scanf("%d",&choice0);</p><p> switch(choice0)</p><p><b> {</b></p><p> case 1: index();</p><p><b>
56、 do</b></p><p><b> {</b></p><p><b> menu();</b></p><p> printf("請(qǐng)選擇服務(wù)項(xiàng)目:");</p><p> scanf("%d",&choice);</p
57、><p> switch(choice)</p><p><b> {</b></p><p> case 1:insert();break;</p><p> //save();break;</p><p> case 2:browse();break;</p><p&
58、gt; case 3:find();break;</p><p> case 4:deleter();</p><p> browse();break;</p><p> case 5:modify();break;</p><p> case 6:leave();break;</p><p> defau
59、lt:printf("輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)從新輸入!");</p><p><b> }</b></p><p> }while(1);</p><p> case 2: leave();</p><p> default:printf("輸入數(shù)據(jù)錯(cuò)誤,請(qǐng)從新輸入!");<
60、;/p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 程序調(diào)試及運(yùn)行結(jié)果</b></p><p> 4.1程序調(diào)試:(1).
61、程序沒錯(cuò),能運(yùn)行,但是修改或刪除過后,錄入信息不會(huì)發(fā)生變化,在朋友的幫助下,知道是remove("bookinf.txt");rename("f.txt","bookinf.txt")這兩個(gè)函數(shù)有問題,不過改了很多都沒辦法,最后沒用這兩個(gè)函數(shù)。</p><p> ?。?).在完善程序時(shí)出現(xiàn)幾個(gè)小錯(cuò)誤,通過追蹤等手段修改成功。</p><
62、;p><b> 4.2 運(yùn)行結(jié)果</b></p><p><b> ?。?)</b></p><p> 設(shè)計(jì)總結(jié):這次的課程設(shè)計(jì)主要使用C語言知識(shí)來設(shè)計(jì)一個(gè)圖書管理系統(tǒng),而對(duì)于這個(gè)知識(shí)我們?cè)?jīng)都開了課程,并且進(jìn)行了系統(tǒng)的學(xué)習(xí)。我曾經(jīng)自認(rèn)為C語言還學(xué)得不錯(cuò),因?yàn)闀系臇|西差不多都弄懂了,然而這次課程設(shè)計(jì)我卻發(fā)現(xiàn)書上的東西我?guī)缀跬貌畈欢嗔?/p>
63、,一個(gè)很簡(jiǎn)單的語句都不知道怎么去寫,甚至連怎樣新建工程和文件都忘了。我恍然間發(fā)覺自己做的很差,對(duì)于已經(jīng)學(xué)的東西沒有很好地進(jìn)行運(yùn)用,以至于很多已經(jīng)學(xué)了的東西都已經(jīng)忘記了。雖然如此,但我通過參考網(wǎng)站上的程序,以及一些朋友的幫助,我基本完成了程序,雖然不完美,但是我還是很高興。 </p><p> 通過這兩個(gè)星期的課程設(shè)計(jì),是我對(duì)所學(xué)知識(shí)有了更深一步的理解與掌握,理論與實(shí)踐也能更好地結(jié)合在一起,這一過程中我遇到了很多
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圖書管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書管理系統(tǒng)--jsp課程設(shè)計(jì)報(bào)告
- 學(xué)校圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)報(bào)告-- 圖書管理系統(tǒng)
- 《圖書管理系統(tǒng)》課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 圖書管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)---圖書管理系統(tǒng)
- c語言課程設(shè)計(jì)報(bào)告~圖書管理系統(tǒng)
- 課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告--圖書管理系統(tǒng)
- c語言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論