C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)圖書(shū)管理系統(tǒng)設(shè)計(jì)報(bào)告_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)圖書(shū)管理系統(tǒng)設(shè)計(jì)報(bào)告_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)圖書(shū)管理系統(tǒng)設(shè)計(jì)報(bào)告_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)圖書(shū)管理系統(tǒng)設(shè)計(jì)報(bào)告_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)圖書(shū)管理系統(tǒng)設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、廣東工業(yè)大學(xué)華立學(xué)院 課 程 設(shè) 計(jì)(論文) 課程名稱(chēng)_c語(yǔ)言程序設(shè)計(jì)_ 題目名稱(chēng)_圖書(shū)信息管理系統(tǒng)設(shè)計(jì)_ 學(xué)生學(xué)部(系)_機(jī)電與信息工程學(xué)部_ 專(zhuān)業(yè)班級(jí)_12網(wǎng)絡(luò)1班_ 學(xué)號(hào)_112252821020133_ 學(xué)生姓名_張樹(shù)南_ 指導(dǎo)教師_田小玲_ 2013 年 7 月 5日 一題目?jī)?nèi)容的描述進(jìn)入大學(xué)以后,學(xué)校有了更加豐富的圖書(shū)資源,我可以更多的去查找或借閱自己喜歡的書(shū)籍。圖書(shū)館大量的圖書(shū)不僅給工作人員帶來(lái)了大量的工作量,同時(shí)還給人們帶來(lái)了大量的麻煩,費(fèi)神費(fèi)力,迫切需要一個(gè)圖書(shū)信息軟件來(lái)解決這個(gè)問(wèn)題,以便于對(duì) 圖書(shū)的管理,于是嘗試編寫(xiě)了一個(gè)小的圖書(shū)信息管理程序,希望對(duì)人們有所幫助,可以參考使

2、用。 該程序一共有四個(gè)選項(xiàng),可以進(jìn)行用戶(hù)添加、借閱、換書(shū)、退出、等功能,能保存圖書(shū)信息、借書(shū)、還書(shū)、修改,操作界面簡(jiǎn)潔,方便的進(jìn)行操作。足可以給人們節(jié)約大量的時(shí)間。程序用了條件、循環(huán)、結(jié)構(gòu)體等知識(shí)點(diǎn),可運(yùn)用于小的管理軟件。軟件運(yùn)用菜單實(shí)現(xiàn)交互式 管理,用戶(hù)輕松的按鍵既可實(shí)現(xiàn)對(duì)軟件的操作,操作簡(jiǎn)單易懂,功能豐富,可以很好的滿(mǎn)足用戶(hù)的需要。二應(yīng)用程序功能的詳細(xì)說(shuō)明設(shè)計(jì)思路建立一個(gè)函數(shù),用來(lái)保存圖書(shū)的名字,作者,編號(hào),庫(kù)存等信息,完成圖書(shū)信息管理的功能。主函數(shù)可以調(diào)用四個(gè)子函數(shù),分別完成添加,查找,退出,三個(gè)功能。在主函數(shù)中可以設(shè)置調(diào)用四個(gè)子函數(shù)的方法,例如按1,2,3,4,0數(shù)字鍵,則分別可以執(zhí)行

3、某個(gè)功能模塊主要功能模塊即如圖1所示:圖 書(shū)管 理查 找 注 冊(cè)借 閱還 書(shū)注 銷(xiāo) 圖1 圖書(shū)信息管理功能圖程序設(shè)計(jì)根據(jù)所構(gòu)想的的功能及模塊設(shè)計(jì)出與之相對(duì)應(yīng)的算法并建立函數(shù)來(lái)實(shí)現(xiàn)功能。數(shù)據(jù)結(jié)構(gòu)體的定義 將圖書(shū)信息作為一個(gè)結(jié)構(gòu)體。struct book int id,usr10,total,store,days10; char name31,author21; books100;main( )主函數(shù)主函數(shù)是函數(shù)的入口,采用模塊化設(shè)計(jì),主函數(shù)應(yīng)該盡可能簡(jiǎn)捷,功能體現(xiàn)其中,首先含有一個(gè)菜單函數(shù)來(lái)說(shuō)明各個(gè)數(shù)字所實(shí)現(xiàn)的功能,通過(guò)menu_ item來(lái)顯示當(dāng)前的狀態(tài),通過(guò)getch( )輸入的數(shù)字來(lái)實(shí)現(xiàn)功

4、能的選取,用switch和 break語(yǔ)句來(lái)實(shí)現(xiàn)不同功能的切換。查找圖書(shū)函數(shù)該函數(shù)通過(guò)判斷輸入的數(shù)字是否與已存在圖書(shū)的編號(hào)相同,用if語(yǔ)句3進(jìn)行判斷,如果相同輸出查找圖書(shū)的信息(作者,書(shū)名,庫(kù)存),用返回函數(shù)return來(lái)返回查找函數(shù)的編號(hào),如果不相同則返回-1以下是查找圖書(shū)流程圖如圖2所示開(kāi)始圖書(shū)信息=i輸入錯(cuò)誤或無(wú)效圖書(shū)號(hào)作者,書(shū)名,庫(kù)存結(jié) 束輸入in=0n100nn+y圖2 查找圖書(shū)流程圖注冊(cè)新書(shū)函數(shù)該函數(shù)通過(guò)判斷輸入的書(shū)的id數(shù)值是否為零,如果為零則用break4來(lái)跳出,如果不為零且小于100,則用scanf函數(shù)輸入該書(shū)的作者,書(shū)名,庫(kù)存等信息,用printf函數(shù)把這些信息顯示在屏幕上

5、。如圖3所示是注冊(cè)新書(shū)的流程圖開(kāi) 始n=0輸出圖書(shū)信息yn100結(jié)束圖書(shū)=0n+nbreak圖3 注冊(cè)新書(shū)流程圖借閱函數(shù)該函數(shù)首先調(diào)用search()函數(shù)來(lái)判斷通過(guò)判斷輸入圖書(shū)的序號(hào)是否為-1和庫(kù)存是否大與零來(lái)判斷此書(shū)是否存在,如果條件成立,用scanf函數(shù)輸入借書(shū)證號(hào)和所借天數(shù),并且?guī)齑媪繙p一,如果條件不成立則輸出該圖書(shū)已全部借出。以下是借書(shū)函數(shù)的流程圖如圖4所示開(kāi) 始庫(kù)存量減1結(jié)束查找圖書(shū)不等于-1和庫(kù)存量大于0l=0l10卡號(hào)等于s,借閱天數(shù)等于dl+此書(shū)已全部借 出ny輸入s,d查找圖書(shū)=0nzzzzy圖4借閱圖書(shū)函數(shù)流程圖歸還函數(shù)該函數(shù)通過(guò)調(diào)用search( )函數(shù)來(lái)判斷該書(shū)是否存在

6、,如果存在,用scanff( )函數(shù)輸入圖書(shū)證序號(hào),用if語(yǔ)句來(lái)判斷圖書(shū)信息是否正確,如果正確則所有借閱信息歸零,且?guī)齑媪吭黾?.并打印“全部入藏”如圖5所示開(kāi)始l10查找函數(shù)不等于-1和現(xiàn)有量小于庫(kù)存量輸出圖書(shū)信息l=0輸入s卡號(hào)等于s卡號(hào)等于0,所借天數(shù)=0nyyl+n庫(kù)存量加1結(jié)束全部入藏卡號(hào)等于s圖5 歸還圖書(shū)流程圖注銷(xiāo)圖書(shū)函數(shù)該函數(shù)通過(guò)調(diào)用search( )函數(shù)來(lái)判段要注銷(xiāo)的書(shū)是否存在,如果存在則通過(guò)調(diào)用該函數(shù)則可提示該書(shū)已注銷(xiāo)。三程序源代碼#include #include #include struct book int id,usr10,total,store,days10;

7、char name31,author21; books100; /*上面是結(jié)構(gòu)體的定義,用于存放書(shū)籍及借書(shū)的信息。*/ void page_title(char *menu_item) printf( 圖 書(shū) 管 理 系 統(tǒng) nn- %s -nn,menu_item); /*上面是打印頁(yè)眉的函數(shù),同時(shí)通過(guò)參數(shù)menu_item,可以顯示當(dāng)前的狀態(tài)。*/ void return_confirm(void) printf(n按任意鍵返回n); getch(); /*上面是返回前請(qǐng)求確認(rèn)的函數(shù),以便在返回前觀(guān)察結(jié)果*/ int search_book(void) int n,i; printf(請(qǐng)輸

8、入圖書(shū)序號(hào):); scanf(%d,&i); for(n=0;n0) printf(請(qǐng)輸入借書(shū)證序號(hào):); scanf(%d,&s); printf(請(qǐng)輸入可借天數(shù):); scanf(%d,&d); for(l=0;l10;l+) if(booksn.usrl=0) booksn.usrl=s; booksn.daysl=d; break; booksn.store-; if(n!=-1&booksn.store=0) printf(此書(shū)已經(jīng)全部借出.n); return_confirm(); /*上面是借書(shū)的函數(shù),首先調(diào)用找書(shū)函數(shù)*/ void book_in(void) int n,s,l

9、; page_title(歸還圖書(shū)); if(n=search_book()!=-1&booksn.storebooksn.total) printf(借閱者圖書(shū)證列表:n); for(l=0;l10;l+) if (booksn.usrl!=0) printf(%d - %d天n,booksn.usrl,booksn.daysl); printf(請(qǐng)輸入借書(shū)證序號(hào):); scanf(%d,&s); for(l=0;l10;l+) if(booksn.usrl=s) booksn.usrl=0; booksn.daysl=0; break; booksn.store+; if(n!=-1&bo

10、oksn.store=booksn.total) printf(全部入藏.n); return_confirm(); void book_add(void) int n; page_title(注冊(cè)新書(shū)); for(n=0;n100;n+) if(booksn.id=0) break; printf(序號(hào):); scanf(%d,&booksn.id); printf(書(shū)名:); scanf(%s,&); printf(作者:); scanf(%s,&booksn.author); printf(數(shù)量:); scanf(%d,&booksn.total); booksn.

11、store=booksn.total; return_confirm(); void book_del(void) int n; page_title(注銷(xiāo)舊書(shū)); if(n=search_book()!=-1) booksn.id=0; printf(該書(shū)已注銷(xiāo).n); return_confirm(); void main(void) menu: page_title(操作選單); printf(請(qǐng)用數(shù)字鍵選擇操作nn); printf(1 借閱圖書(shū)nprintf(“2 歸還圖書(shū)n); printf(3 注冊(cè)新書(shū)n4 注銷(xiāo)舊書(shū)nn); printf(0 退出n); switch(getch

12、() case 1 : book_out();break; case 2 : book_in();break; case 3 : book_add();break; case 4 : book_del();break; case 0 : exit(0); goto menu; 4 結(jié)束語(yǔ)這次圖書(shū)管理系統(tǒng)系統(tǒng)的設(shè)計(jì)是我第一次用c語(yǔ)言來(lái)設(shè)計(jì)程序,他檢驗(yàn)了我這個(gè)學(xué)期的對(duì)c語(yǔ)言的學(xué)習(xí)成果,使我對(duì)c語(yǔ)言有了更深刻的認(rèn)識(shí),注意到許多以前沒(méi)有注意的問(wèn)題,對(duì)我的c語(yǔ)言程序設(shè)計(jì)能力有了很大的提高,也許這次的程序有不少的缺點(diǎn),但我從中也學(xué)習(xí)到了很多東西,希望下次做出來(lái)的程序能夠更加優(yōu)秀。心得體會(huì)由于這個(gè)學(xué)期才開(kāi)始接觸sql數(shù)據(jù)庫(kù),在設(shè)計(jì)的過(guò)程中,我遇到了不少的問(wèn)題,發(fā)現(xiàn)原來(lái)設(shè)計(jì)出一個(gè)規(guī)范的數(shù)據(jù)庫(kù)模型是很有學(xué)問(wèn)的。經(jīng)過(guò)老師的指導(dǎo)、同學(xué)們的幫助和對(duì)之前學(xué)過(guò)的sql數(shù)據(jù)庫(kù)模型知識(shí)的復(fù)習(xí),才設(shè)計(jì)出一個(gè)比較合理的數(shù)據(jù)庫(kù)模型。此外,我對(duì)v

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論