版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本 科 生 課 程 設(shè) 計(jì)</p><p> 課 程 名 稱(chēng): 計(jì)算機(jī)程序設(shè)計(jì)(VC++) </p><p> 題 目: 圖書(shū)館管理系統(tǒng) </p><p> 專(zhuān) 業(yè) 班 級(jí): 10電信一班 </p><p> 學(xué) 生 姓 名:
2、 </p><p> 學(xué) 生 學(xué) 號(hào): </p><p> 日 期: </p><p> 指 導(dǎo) 教 師: </p><p><b> 科文學(xué)院教務(wù)部
3、印制</b></p><p> 指導(dǎo)教師簽字: </p><p> 年 月 日</p><p><b> 目 錄</b></p><p><b> 目 錄I</b></p><p><b>
4、 摘 要I</b></p><p> AbstractII</p><p><b> 1 緒論1</b></p><p><b> 1.1需求背景1</b></p><p> 1.1.1開(kāi)發(fā)目標(biāo)1</p><p> 1.1.2開(kāi)發(fā)意義1&l
5、t;/p><p> 1.1.3主要工作內(nèi)容2</p><p> 2 設(shè)計(jì)方案簡(jiǎn)述3</p><p> 2.1 圖書(shū)館管理系統(tǒng)功能介紹3</p><p> 2.2程序開(kāi)發(fā)環(huán)境和基本開(kāi)發(fā)軟件3</p><p> 2.2.1 VC++開(kāi)發(fā)軟件3</p><p> 2.2.2 數(shù)據(jù)庫(kù)開(kāi)
6、發(fā)軟件3</p><p> 2.2.3環(huán)境搭建4</p><p> 2.3 程序設(shè)計(jì)流程圖4</p><p> 2.4系統(tǒng)的功能模塊劃分4</p><p><b> 3詳細(xì)設(shè)計(jì)6</b></p><p> 3.1 數(shù)據(jù)庫(kù)的建立及更新6</p><p>
7、 3.1.1數(shù)據(jù)庫(kù)的建立6</p><p> 3.2系統(tǒng)登錄模塊設(shè)計(jì)8</p><p> 3.3系統(tǒng)主界面設(shè)計(jì)11</p><p> 3.4圖書(shū)信息管理模塊設(shè)計(jì)12</p><p> 3.5管理員、讀者信息管理模塊設(shè)計(jì)13</p><p> 3.7借書(shū)、罰金查詢(xún)查詢(xún)模塊設(shè)計(jì)15</p>
8、;<p> 3.7系統(tǒng)幫助模塊設(shè)16</p><p> 4 設(shè)計(jì)結(jié)果及分析17</p><p> 4.1黑盒測(cè)試17</p><p> 4.2測(cè)試結(jié)果17</p><p> 4.2.1登錄測(cè)試17</p><p> 4.2.2管理測(cè)試18</p><p>
9、 4.2.3借書(shū)測(cè)試22</p><p> 4.2.4還書(shū)測(cè)試23</p><p> 4.2.5借書(shū)、罰金查詢(xún)測(cè)試24</p><p> 4.2.6系統(tǒng)時(shí)間查詢(xún)測(cè)試25</p><p><b> 5 總結(jié)26</b></p><p><b> 5.1 小結(jié)26<
10、;/b></p><p><b> 參考文獻(xiàn)27</b></p><p> 附錄 主要程序代碼28</p><p><b> 摘 要</b></p><p> 隨著現(xiàn)代科學(xué)技術(shù)的進(jìn)步,人類(lèi)社會(huì)正逐走向信息化。圖書(shū)館擁有豐富的文獻(xiàn)信息資源,是社會(huì)信息系統(tǒng)的重要組成部分,在信息社會(huì)
11、中的作用愈來(lái)愈重要。我國(guó)圖書(shū)館計(jì)算機(jī)等信息技術(shù)的應(yīng)用起步于20世紀(jì)70年代末期,隨著改革開(kāi)放的步伐得以迅速發(fā)展,特別是90年代以后,我國(guó)圖書(shū)館信息網(wǎng)絡(luò)建設(shè)取得了較大發(fā)展,圖書(shū)館信息化建設(shè)邁上了一個(gè)新臺(tái)階。</p><p> 本文介紹了在Visual C++環(huán)境下開(kāi)發(fā)圖書(shū)管理信息系統(tǒng)的過(guò)程。文章介紹了圖書(shū)館管理信息系統(tǒng)的系統(tǒng)分析部分,包括可行性分析、圖書(shū)借閱流程分析等;系統(tǒng)設(shè)計(jì)部分主要介紹了系統(tǒng)功能設(shè)計(jì)和數(shù)據(jù)庫(kù)設(shè)
12、計(jì)及代碼設(shè)計(jì);系統(tǒng)實(shí)現(xiàn)部分說(shuō)明了幾個(gè)主要模塊的算法,本系統(tǒng)界面友好,操作簡(jiǎn)單,比較實(shí)用。</p><p> 系統(tǒng)主要完成了用戶(hù)登錄功能、新建、刪除用戶(hù)功能、用戶(hù)管理功能,對(duì)數(shù)據(jù)庫(kù)內(nèi)圖書(shū)信息、借閱信息和讀者信息進(jìn)行查詢(xún)、添加、刪除功能。</p><p> 關(guān)鍵詞: Visual C++;數(shù)據(jù)庫(kù)管理;圖書(shū);借閱</p><p><b> Abstract
13、</b></p><p> Along with the progress of modern science and technology, human society is driven to informationization.Libraries have abundant literature information resources, social information system
14、 is an important part of the role in the information society, more and more important. Chinese library computers started in the application of information technology in the late 1970's, along with the reform and open
15、ing-up develop rapidly, especially after 1990s, the library information network construction in C</p><p> This paper introduces in Visual C++ environment development books management information system proc
16、ess. This paper introduces the library management information system of analysis parts, including the feasibility analysis, library process analysis, etc. System design part mainly introduced the system function design a
17、nd database design and code design; System realize part of several major modules illustrates the algorithm, this system friendly interface, the operation is simple, is more practic</p><p> Library managemen
18、t system mainly to complete the user login, create, delete user function, user management function, the database of library information, library information.</p><p> Key words: Visual C++;database; manageme
19、nt; books; borrow</p><p><b> 1 緒論</b></p><p><b> 1.1需求背景</b></p><p> 隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟, 作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對(duì)圖書(shū)信息進(jìn)行管理,具有手工管理所無(wú)法比擬的優(yōu)點(diǎn)。圖書(shū)管理系統(tǒng)的開(kāi)發(fā)是一個(gè)老生常談的問(wèn)題,
20、以其作為數(shù)據(jù)庫(kù)開(kāi)發(fā)的示例不僅是因?yàn)樗拈_(kāi)放性,而且還因?yàn)樗且粋€(gè)開(kāi)放的系統(tǒng),比較成熟。</p><p> 用計(jì)算機(jī)制作的圖書(shū)信息管理系統(tǒng)還可以通過(guò)功能強(qiáng)大的Internet網(wǎng)及時(shí)的向讀者發(fā)布圖書(shū)的最新動(dòng)態(tài),因此,開(kāi)發(fā)這樣一套管理軟件成為很有必要的事情。而今,這類(lèi)相關(guān)的管理系統(tǒng)已廣泛的應(yīng)用在各行各業(yè),成為各行業(yè)提高相關(guān)管理效率的重要手段。圖書(shū)信息管理系統(tǒng)也在日益廣泛地應(yīng)用于各圖書(shū)館的管理中,大大提高了圖書(shū)管理的相
21、關(guān)管理效率,其在圖書(shū)管理中所起的作用是顯而易見(jiàn)的。</p><p><b> 1.1.1開(kāi)發(fā)目標(biāo)</b></p><p> 本次課題為圖書(shū)信息管理系統(tǒng),其主要包含圖書(shū)基本信息和圖書(shū)借閱系統(tǒng),能進(jìn)行圖書(shū)信息的錄入、讀者登記、查詢(xún)等功能。該項(xiàng)目開(kāi)發(fā)的軟件為學(xué)校圖書(shū)信息管理系統(tǒng)軟件,是鑒于目前學(xué)校圖書(shū)數(shù)劇增,圖書(shū)信息呈爆炸性增長(zhǎng)的前提下,圖書(shū)館對(duì)圖書(shū)信息管理的自動(dòng)化與準(zhǔn)
22、確化的要求日益強(qiáng)烈的背景下構(gòu)思出來(lái)的,該軟件設(shè)計(jì)完成后可用于所有中小型圖書(shū)館的圖書(shū)信息的管理。</p><p><b> 1.1.2開(kāi)發(fā)意義</b></p><p> 目前社會(huì)上信息管理系統(tǒng)發(fā)展飛快,各個(gè)企事業(yè)單位都引入了信息管理軟件來(lái)管理自己日益增長(zhǎng)的各種信息,圖書(shū)管理系統(tǒng)也是有了很大的發(fā)展,商業(yè)化的圖書(shū)信息管理軟件也不少,但本系統(tǒng)完全獨(dú)立開(kāi)發(fā),力求使系統(tǒng)功能簡(jiǎn)
23、潔明了,但功能齊全且易于操作。</p><p> 1.1.3主要工作內(nèi)容</p><p> 本課題研究?jī)?nèi)容本次畢業(yè)設(shè)計(jì)通過(guò)對(duì)管理系統(tǒng)模型的研究,提出了一套構(gòu)造圖書(shū)信息管理系統(tǒng)模型的方法,提出了圖書(shū)管理系統(tǒng)的一般建立方法,并且利用數(shù)據(jù)庫(kù)、信息系統(tǒng)分析所學(xué)知識(shí),結(jié)合其它相關(guān)管理常識(shí),通過(guò)對(duì)某圖書(shū)館圖書(shū)流通過(guò)程的分析,建立相關(guān)數(shù)據(jù)模型,利用面向?qū)ο箝_(kāi)發(fā)工具對(duì)其進(jìn)行設(shè)計(jì)與開(kāi)發(fā)。系統(tǒng)主要由兩大子
24、系統(tǒng)組成:圖書(shū)管理和維護(hù)子系統(tǒng)以及圖書(shū)信息服務(wù)子系統(tǒng)。系統(tǒng)主要有四個(gè)數(shù)據(jù)庫(kù)表:圖書(shū)信息表,用戶(hù)信息表,學(xué)生信息表和借出信息表本課題研究方案1. 以現(xiàn)代軟件工程原理和思想指導(dǎo)整個(gè)課題的開(kāi)發(fā)過(guò)程,要經(jīng)過(guò)系統(tǒng)可行性分析、需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、調(diào)試維護(hù)和安裝實(shí)施等步驟。2.要有詳細(xì)的設(shè)計(jì)說(shuō)明書(shū); 3.每一模塊的流程圖要很清晰;4.本系統(tǒng)能夠正常的運(yùn)行,能較好得完成預(yù)定的功能;5.系統(tǒng)要有完整的幫助文件,供前臺(tái)操作員能方便的操作本系
25、統(tǒng)。</p><p><b> 2 設(shè)計(jì)方案簡(jiǎn)述</b></p><p> 2.1 圖書(shū)館管理系統(tǒng)功能介紹</p><p> 本系統(tǒng)主要實(shí)現(xiàn)對(duì)圖書(shū)館信息的管理,主要可以分為兩大塊:圖書(shū)信息的服務(wù)系統(tǒng)和圖書(shū)的綜合管理系統(tǒng)。圖書(shū)的使用對(duì)象是借閱者,例如學(xué)生,教師;管理者是圖書(shū)館的管理員。因此根據(jù)這些信息,本系統(tǒng)的主要功能就是:實(shí)現(xiàn)圖書(shū)館圖書(shū)信
26、息的管理和維護(hù),如用戶(hù)信息管理,圖書(shū)館規(guī)則維護(hù),新書(shū)入庫(kù),整理圖書(shū),修改圖書(shū)信息和進(jìn)行查詢(xún)等;以及服務(wù)系統(tǒng)的圖書(shū)信息查詢(xún),圖書(shū)的借出和歸還等功能圖書(shū)信息管理系統(tǒng)能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段。例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。這些優(yōu)點(diǎn)能夠極大地提高圖書(shū)信息管理的效率,也是圖書(shū)管理的科學(xué)化、數(shù)字化、正規(guī)化管理,與世界接軌的重要條件。</p><p> 2.2程序開(kāi)
27、發(fā)環(huán)境和基本開(kāi)發(fā)軟件</p><p> 2.2.1 VC++開(kāi)發(fā)軟件</p><p> 對(duì)于小型應(yīng)用軟件的開(kāi)發(fā),VC++ 6.0易操作,并且有強(qiáng)大的調(diào)試和糾錯(cuò)功能,對(duì)于經(jīng)驗(yàn)不多的開(kāi)發(fā)者來(lái)說(shuō),VC++ 6.0 應(yīng)該是首先選擇的工具。這款軟件主要基于MFC(Microsoft Foundation Classes)卡發(fā)環(huán)境,MFC是以C++類(lèi)的形式封裝了Windows的API,并且包含一個(gè)
28、應(yīng)用程序框架,以減少應(yīng)用程序開(kāi)發(fā)人員的工作量。其中包含的類(lèi)包含大量Windows句柄封裝類(lèi)和很多Windows的內(nèi)建控件和組件的封裝類(lèi)。MFC中有大量的美觀的使用控件,對(duì)于程序界面的設(shè)計(jì)十分方便。</p><p> 2.2.2 數(shù)據(jù)庫(kù)開(kāi)發(fā)軟件</p><p> 在這里采用了Microsoft Acess ODBC數(shù)據(jù)庫(kù),來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)與更新。Microsoft Acess
29、ODBC數(shù)據(jù)庫(kù)具有操作簡(jiǎn)便,性能良好等特點(diǎn),便于vc++編程初學(xué)者使用</p><p><b> 2.2.3環(huán)境搭建</b></p><p> 首先,構(gòu)建數(shù)據(jù)庫(kù),在構(gòu)建完成之后,進(jìn)行配置Microsoft Acess ODBC數(shù)據(jù)庫(kù)。配置完成之后,新建單文檔,導(dǎo)入數(shù)據(jù)源文件即可。</p><p> 2.3 程序設(shè)計(jì)流程圖</p&
30、gt;<p><b> 圖2-1流程圖</b></p><p> 2.4系統(tǒng)的功能模塊劃分</p><p> 整個(gè)圖書(shū)管理系統(tǒng)分為四個(gè)模塊。分別為圖書(shū)管理模塊、借閱管理模塊、讀者管理模塊和系統(tǒng)管理模塊。</p><p> 圖2-2 系統(tǒng)模塊化分</p><p><b> 3詳細(xì)設(shè)計(jì)<
31、;/b></p><p> 3.1 數(shù)據(jù)庫(kù)的建立及更新</p><p> 3.1.1數(shù)據(jù)庫(kù)的建立</p><p> 用ACCESS2007建立名為“Library”的數(shù)據(jù)庫(kù),創(chuàng)建5個(gè)表,分別為:BOOK,CLERK,READER,BORROW和FINE。</p><p> 圖3-1ACCESS數(shù)據(jù)表</p><
32、;p> 圖3-2 ODBC數(shù)據(jù)源管理器配置</p><p> 圖3-3利用ODBC數(shù)據(jù)源管理器創(chuàng)建數(shù)據(jù)源</p><p> 圖3-4建立名為“Library”的MFC單文檔應(yīng)用程序向?qū)?lt;/p><p> 3.2系統(tǒng)登錄模塊設(shè)計(jì)</p><p> 圖3-5添加系統(tǒng)登錄對(duì)話(huà)框</p><p><b&g
33、t; 圖3-6屬性設(shè)置</b></p><p> 雙擊對(duì)話(huà)框打開(kāi)ClassWizard對(duì)話(huà)框,為IDD_LOGIN添加CLoginMDlg類(lèi),按下表為該類(lèi)。</p><p> 圖3-7添加成員變量</p><p> 圖3-8創(chuàng)建一個(gè)名為CClerkDataSet新類(lèi)</p><p><b> 圖3-9創(chuàng)建數(shù)據(jù)源
34、</b></p><p> 圖3-10選擇對(duì)應(yīng)的表格</p><p> 圖3-11添加相應(yīng)的消息響應(yīng)函數(shù)</p><p> 3.3系統(tǒng)主界面設(shè)計(jì)</p><p><b> 圖3-12主界面</b></p><p> 其中系統(tǒng)登錄可以登陸和退出系統(tǒng),管理信息可以查看管理員信息、
35、圖書(shū)信息、讀者信息;借閱手續(xù)中包含圖書(shū)借閱、圖書(shū)歸還、繳納罰款;信息查詢(xún)中包含讀者查詢(xún)、系統(tǒng)時(shí)間查詢(xún);幫助中可以查看系統(tǒng)幫助和版本信息。</p><p> 3.4圖書(shū)信息管理模塊設(shè)計(jì)</p><p> 圖3-13書(shū)籍信息界面</p><p> 添加書(shū)籍信息對(duì)話(huà)框,屬性設(shè)置為IDD_BOOK_MAINTAIN,微軟雅黑,10號(hào)字體</p><
36、p> 為IDD_BOOK_MAINTAIN添加成員變量。</p><p> 創(chuàng)建一個(gè)新類(lèi),名為CBookDataSet,方法步驟同CClerkDataSet,添加消息映射,最后輸入按鈕代碼。</p><p> 3.5管理員、讀者信息管理模塊設(shè)計(jì)</p><p> 圖3-14管理員信息管理</p><p> 添加管理員信息對(duì)話(huà)框
37、,屬性設(shè)置為IDD_CLERK_MAINTAIN,微軟雅黑,10號(hào)建立新類(lèi)CClerkMDlg,按圖書(shū)信息模塊設(shè)計(jì)步驟做相似操作,添加消息映射,最后輸入按鈕代碼。</p><p> 圖3-15讀者信息管理</p><p> 添加讀者信息對(duì)話(huà)框,屬性設(shè)置為IDD_READER_MAINTAIN,微軟雅黑,10號(hào),為IDD_LENDOUT添加成員變量。建立新類(lèi)LendOutDlg,按上述步
38、驟做相似操作,添加消息響應(yīng),最后輸入按鈕代碼。</p><p><b> 圖3-16還書(shū)管理</b></p><p> 添加圖書(shū)歸還對(duì)話(huà)框,屬性設(shè)置為IDD_ReturnBook,微軟雅黑,10號(hào),為IDD_ReturnBook添加成員變量,建立新類(lèi)CReturnBookDlg,按上述步驟做相似操作,添加消息映射,最后輸入代碼。</p><p&
39、gt; 3.7借書(shū)、罰金查詢(xún)查詢(xún)模塊設(shè)計(jì)</p><p><b> 圖3-17借書(shū)查詢(xún)</b></p><p> 添加借書(shū)查詢(xún)對(duì)話(huà)框,屬性設(shè)置為IDD_DLGREADERQRY,微軟雅黑,10號(hào),為IDD_DLGREADERQRY添加成員變量,建立新類(lèi)CReaderQryDlg,按上述步驟做相似操作,添加消息映射,最后輸入代碼。</p><p
40、><b> 圖3-18罰金查詢(xún)</b></p><p> 添加繳納罰金對(duì)話(huà)框,屬性設(shè)置為IDD_FINE,微軟雅黑,10號(hào)字體,為IDD_FINE添加成員變量,建立新類(lèi)CFineHistoryDataSet,按上述步驟做相似操作,添加消息映射</p><p><b> 最后輸入代碼。</b></p><p>
41、 3.7系統(tǒng)幫助模塊設(shè)</p><p><b> 圖3-19系統(tǒng)幫助</b></p><p><b> 4 設(shè)計(jì)結(jié)果及分析</b></p><p><b> 4.1黑盒測(cè)試</b></p><p> 采用黑盒測(cè)試方法。對(duì)功能進(jìn)行逐一測(cè)試,在輸入合理及不合理的數(shù)據(jù)后測(cè)試系
42、統(tǒng)的正常運(yùn)作情況</p><p> 測(cè)試1:系統(tǒng)登錄測(cè)試</p><p> 測(cè)試2:圖書(shū)管理測(cè)試</p><p> 測(cè)試3:讀者管理測(cè)試</p><p> 測(cè)試4:管理員管理測(cè)試</p><p><b> 測(cè)試5:借書(shū)測(cè)試</b></p><p><b>
43、; 測(cè)試6:還書(shū)測(cè)試</b></p><p> 測(cè)試7:借書(shū)、罰金查詢(xún)測(cè)試</p><p><b> 4.2測(cè)試結(jié)果</b></p><p><b> 4.2.1登錄測(cè)試</b></p><p><b> 圖4-1正確登錄</b></p>&
44、lt;p><b> 圖4-2錯(cuò)誤登錄</b></p><p><b> 4.2.2管理測(cè)試</b></p><p><b> 圖4-3圖書(shū)新增</b></p><p><b> 圖4-4讀者新增</b></p><p> 圖4-5編輯管理員
45、信息</p><p> 圖4-6編輯書(shū)籍信息</p><p> 圖4-7編輯讀者信息</p><p> 圖4-8書(shū)籍信息查詢(xún)</p><p><b> 4-9讀者信息查詢(xún)</b></p><p><b> 4.2.3借書(shū)測(cè)試</b></p><p
46、><b> 圖4-10借書(shū)測(cè)試</b></p><p><b> 圖4-11借閱成功</b></p><p><b> 圖4-12借閱失敗</b></p><p><b> 4.2.4還書(shū)測(cè)試</b></p><p><b> 圖
47、4-13圖書(shū)歸還</b></p><p> 4.2.5借書(shū)、罰金查詢(xún)測(cè)試</p><p><b> 圖4-14借書(shū)查詢(xún)</b></p><p><b> 圖4-15罰金查詢(xún)</b></p><p> 4.2.6系統(tǒng)時(shí)間查詢(xún)測(cè)試</p><p> 圖4-1
48、6系統(tǒng)時(shí)間查詢(xún)</p><p><b> 5 總結(jié)</b></p><p><b> 5.1 小結(jié)</b></p><p> 在這次的課程設(shè)計(jì)中,讓我學(xué)到了很多在課堂上和書(shū)本上學(xué)不到的知識(shí),我在這次課程設(shè)計(jì)中最大的收獲有以下幾方面:</p><p> 領(lǐng)略到了數(shù)據(jù)庫(kù)設(shè)計(jì)在計(jì)算機(jī)領(lǐng)域的重要性。
49、數(shù)據(jù)庫(kù)作為一個(gè)永久存儲(chǔ)形式在應(yīng)用中發(fā)揮著重要的作用。在數(shù)據(jù)庫(kù)設(shè)計(jì)中,我明白了數(shù)據(jù)庫(kù)設(shè)計(jì)不是范式越高越好的,我們要根據(jù)我們的應(yīng)用來(lái)決定,一切應(yīng)該以需求為首要選擇。</p><p> 對(duì)編程環(huán)境、一些控件的使用和界面的設(shè)計(jì)更加熟悉。因?yàn)椤秷D書(shū)管理系統(tǒng)》中設(shè)計(jì)到很多控件的使用,只有很好的使用這些控件才可以給出一個(gè)很好的界面呈現(xiàn)在用戶(hù)面前。這樣更有利于數(shù)據(jù)庫(kù)和用戶(hù)之間的交流。</p><p>
50、 利用軟件工程學(xué)開(kāi)發(fā)系統(tǒng)。雖然這個(gè)《圖書(shū)管理系統(tǒng)》是一個(gè)小的系統(tǒng),但從這個(gè)小的項(xiàng)目中也讓我明白了數(shù)據(jù)庫(kù)作為任何一個(gè)系統(tǒng)的后臺(tái)的重要性,在開(kāi)發(fā)系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)中學(xué)到和總結(jié)很多經(jīng)驗(yàn)和教訓(xùn)。</p><p><b> 參考文獻(xiàn)</b></p><p> 參考文獻(xiàn)類(lèi)型及標(biāo)識(shí):</p><p> 其他未作說(shuō)明的文獻(xiàn),建議采用單字母“Z”。</p
51、><p> [1] 孫鑫. VC++深入詳解[M] .北京:電子工業(yè)出版社, 2006</p><p> [2] 鄭阿奇. Visual C++實(shí)用教程(第3版)[M]北京:.電子工業(yè)出版社,2010</p><p> [3] 管西京. 深入體驗(yàn)VC++項(xiàng)目開(kāi)發(fā)(開(kāi)發(fā)日記)[M] .北京:清華大學(xué)出版社, 2011</p><p> [
52、4] 馬安鵬.Visual C++程序設(shè)計(jì)導(dǎo)學(xué)[M] .北京:清華大學(xué)出版社,2002</p><p> [5] Beck Zaratian.Microsoft Visual Visual C++ 6.0程序員指南.希望圖書(shū)創(chuàng)作室譯. [M] .北京;北京希望電腦公司出品,1998</p><p> [6] Richard C.Leinecker,Tom Archer. Visual
53、C++ 6 寶典.張艷,張謙譯. [M] .北京;電子工業(yè)出版社,1999</p><p> 附錄 主要程序代碼</p><p><b> 主界面代碼</b></p><p> // CMainFrame construction/destruction</p><p> //窗體框架創(chuàng)建函數(shù)</p>
54、;<p> int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)</p><p><b> {</b></p><p> if (CFrameWnd::OnCreate(lpCreateStruct) == -1)</p><p> return -1;</p
55、><p> /*if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP</p><p> | CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||</p><p> !m_wndToo
56、lBar.LoadToolBar(IDR_MAINFRAME))</p><p><b> {</b></p><p> TRACE0("Failed to create toolbar\n");</p><p> return -1; // fail to create</p><p&g
57、t;<b> }*/</b></p><p> if (!m_wndStatusBar.Create(this) ||</p><p> !m_wndStatusBar.SetIndicators(indicators,</p><p> sizeof(indicators)/sizeof(UINT)))</p><
58、p><b> {</b></p><p> TRACE0("Failed to create status bar\n");</p><p> return -1; // fail to create</p><p><b> }</b></p><p>
59、 // TODO: Delete these three lines if you don't want the toolbar to</p><p> // be dockable</p><p> //以下為自己添加的代碼部分</p><p><b> //先啟動(dòng)登陸界面</b></p><p>
60、 //=============用戶(hù)登陸對(duì)話(huà)框顯示=============</p><p> CLoginDlg dlg1;//聲明一個(gè)登陸對(duì)話(huà)框?qū)ο?lt;/p><p> dlg1.DoModal();//讓對(duì)話(huà)框?qū)ο笠杂心P问斤@示</p><p> //================開(kāi)機(jī)啟動(dòng)畫(huà)面================</p><
61、;p> //CSplashWnd::ShowSplashScreen(this); //顯示啟動(dòng)畫(huà)面</p><p> //SetTimer(1, 850, NULL); //修改第二個(gè)參數(shù)以調(diào)整畫(huà)面停留時(shí)間</p><p> //Sleep(2000);</p><p><b> //陽(yáng)傘公司圖標(biāo)</b></p>
62、<p> CSplashDlg *dlg = new CSplashDlg(this);</p><p> dlg->Create(CSplashDlg::IDD,this);//創(chuàng)建對(duì)話(huà)框</p><p> dlg->ShowWindow(SW_SHOW);//顯示對(duì)話(huà)框</p><p> dlg->UpdateWi
63、ndow();</p><p> Sleep(1500);//畫(huà)面顯示停留時(shí)間,單位為毫秒</p><p> dlg->DestroyWindow();//銷(xiāo)毀對(duì)話(huà)框</p><p><b> return 0;</b></p><p><b> }</b>&l
64、t;/p><p> BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)</p><p><b> {</b></p><p> if( !CFrameWnd::PreCreateWindow(cs) )</p><p> return FALSE;</p
65、><p> // TODO: Modify the Window class or styles here by modifying</p><p> // the CREATESTRUCT cs</p><p> // TODO: 在此處通過(guò)修改 </p><p> //CREATESTRUCT cs 來(lái)修改窗口類(lèi)或樣式 &l
66、t;/p><p> cs.style &=~FWS_ADDTOTITLE; </p><p> cs.lpszName = "江蘇師范大學(xué)敬文圖書(shū)館管理系統(tǒng)"; </p><p> //設(shè)定窗口的尺寸 </p><p> cs.cx = 1024; </p><p> cs.
67、cy = 714; </p><p> return TRUE;</p><p><b> }</b></p><p> /////////////////////////////////////////////////////////////////////////////</p><p> // CMain
68、Frame message handlers</p><p> //圖書(shū)管理菜單按鈕</p><p> void CMainFrame::OnBookDlg() </p><p><b> {</b></p><p> CBookMDlg dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p>
69、 dlg.DoModal();//顯示對(duì)話(huà)框</p><p><b> }</b></p><p> //讀者信息管理菜單按鈕</p><p> void CMainFrame::OnReaderDlg() </p><p><b> {</b></p><p>
70、 // TODO: Add your command handler code here</p><p> CReaderMDlg dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p> dlg.DoModal();//顯示對(duì)話(huà)框</p><p><b> }</b></p><p> //管理員信息管理菜單按鈕&
71、lt;/p><p> void CMainFrame::OnClerkDlg() </p><p><b> {</b></p><p> // TODO: Add your command handler code here</p><p> CClerkMDlg dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p>
72、;<p> dlg.DoModal();//顯示對(duì)話(huà)框</p><p><b> }</b></p><p> //書(shū)籍借出管理菜單按鈕</p><p> void CMainFrame::OnLenoutDlg() </p><p><b> {</b></p>
73、;<p> // TODO: Add your command handler code here</p><p> CLendOutDlg dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p> dlg.DoModal();//顯示對(duì)話(huà)框</p><p><b> }</b></p><p><
74、;b> //管理菜單按鈕</b></p><p> void CMainFrame::OnFineDlg() </p><p><b> {</b></p><p> // TODO: Add your command handler code here</p><p> CFineDlg d
75、lg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p> dlg.DoModal();//顯示對(duì)話(huà)框</p><p><b> }</b></p><p> //讀者信息查詢(xún)管理菜單按鈕</p><p> void CMainFrame::OnReaderqryDlg() </p><p>&l
76、t;b> {</b></p><p> // TODO: Add your command handler code here</p><p> CReaderQryDlg dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p> dlg.DoModal();//顯示對(duì)話(huà)框</p><p><b> }<
77、;/b></p><p> //圖書(shū)歸還管理菜單按鈕</p><p> void CMainFrame::OnReturnbookDlg() </p><p><b> {</b></p><p> // TODO: Add your command handler code here</p>
78、<p> CReturnBookDlg dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p> dlg.DoModal();//顯示對(duì)話(huà)框</p><p><b> }</b></p><p> //系統(tǒng)幫助菜單按鈕</p><p> void CMainFrame::OnSystermhelp()
79、</p><p><b> {</b></p><p> // TODO: Add your command handler code here</p><p> CSystemHelp dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p> dlg.DoModal();//顯示對(duì)話(huà)框</p><
80、;p><b> }</b></p><p> //系統(tǒng)時(shí)間菜單按鈕</p><p> void CMainFrame::OnSystermtimeDlg() </p><p><b> {</b></p><p> // TODO: Add your command handler
81、code here</p><p> CSystemTime dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p> dlg.DoModal();//顯示對(duì)話(huà)框</p><p><b> }</b></p><p> //登陸對(duì)話(huà)框菜單按鈕</p><p> void CMainFram
82、e::OnLoginDlg() </p><p><b> {</b></p><p> // TODO: Add your command handler code here</p><p> CLoginDlg dlg;//定義一個(gè)對(duì)話(huà)框類(lèi)對(duì)象</p><p> dlg.DoModal();//顯示對(duì)話(huà)框&
83、lt;/p><p><b> }</b></p><p> //程序退出菜單按鈕</p><p> void CMainFrame::OnExit() </p><p><b> {</b></p><p> // TODO: Add your command hand
84、ler code here</p><p> if(MessageBox("確定要退出嗎?","提示",MB_YESNO)==IDYES)//</p><p><b> {</b></p><p> CFrameWnd::OnClose();//關(guān)閉應(yīng)用程序</p><p>
85、<b> }</b></p><p><b> }</b></p><p><b> 管理信息</b></p><p> CBookMDlg::CBookMDlg(CWnd* pParent /*=NULL*/)</p><p> : CDialog(CBookMDl
86、g::IDD, pParent)</p><p><b> {</b></p><p> //{{AFX_DATA_INIT(CBookMDlg)</p><p> m_strAUTHOR = _T("");</p><p> m_strBOOKID = _T("");&l
87、t;/p><p> m_strBOOKIDQ = _T("");</p><p> m_strBOOKNAME = _T("");</p><p> m_strBOOKNAMEQ = _T("");</p><p> m_strPRESS = _T("");&
88、lt;/p><p> m_strPRESSDATE = _T("");</p><p> m_strFLAG = _T("");</p><p> //}}AFX_DATA_INIT</p><p><b> }</b></p><p> void C
89、BookMDlg::DoDataExchange(CDataExchange* pDX)</p><p><b> {</b></p><p> CDialog::DoDataExchange(pDX);</p><p> //{{AFX_DATA_MAP(CBookMDlg)</p><p> DDX_Text
90、(pDX, IDC_AUTHOR, m_strAUTHOR);</p><p> DDX_Text(pDX, IDC_BOOKID, m_strBOOKID);</p><p> DDX_Text(pDX, IDC_BOOKID_Q, m_strBOOKIDQ);</p><p> DDX_Text(pDX, IDC_BOOKNAME, m_strBOOKNA
91、ME);</p><p> DDX_Text(pDX, IDC_BOOKNAME_Q, m_strBOOKNAMEQ);</p><p> DDX_Text(pDX, IDC_PRESS, m_strPRESS);</p><p> DDX_Text(pDX, IDC_PRESSDATE, m_strPRESSDATE);</p><p&g
92、t; DDX_Text(pDX, IDC_FLAG_BORROW, m_strFLAG);</p><p> //}}AFX_DATA_MAP</p><p><b> }</b></p><p> BEGIN_MESSAGE_MAP(CBookMDlg, CDialog)</p><p> //{{AFX_M
93、SG_MAP(CBookMDlg)</p><p> ON_BN_CLICKED(IDC_SAVE, OnSave)</p><p> ON_BN_CLICKED(IDC_EXIT, OnExit)</p><p> ON_BN_CLICKED(IDC_FIRST, OnFirst)</p><p> ON_BN_CLICKED(ID
94、C_PRIOR, OnPrior)</p><p> ON_BN_CLICKED(IDC_NEXT, OnNext)</p><p> ON_BN_CLICKED(IDC_LAST, OnLast)</p><p> ON_BN_CLICKED(IDC_NEW, OnNew)</p><p> ON_BN_CLICKED(IDC_EN
95、QUERY, OnEnquery)</p><p> ON_BN_CLICKED(IDC_EDIT, OnEdit)</p><p> ON_BN_CLICKED(IDC_DELETE, OnDelete)</p><p> ON_BN_CLICKED(IDC_CANCEL, OnCancel)</p><p> ON_BN_CLIC
96、KED(IDC_CANCELRec, OnCANCELRec)</p><p> //}}AFX_MSG_MAP</p><p> END_MESSAGE_MAP()</p><p> /////////////////////////////////////////////////////////////////////////////</p>
97、<p> // CBookMDlg message handlers</p><p> //===========================界面操作==============================</p><p> //保存按鈕消息映射函數(shù)</p><p> void CBookMDlg::OnSave() </p>
98、<p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> UpdateData(TRUE);//控件內(nèi)容更新到關(guān)聯(lián)變量</p><p> //輸入為空 提示警告</p><p>
99、 if (m_strBOOKNAME.IsEmpty() || m_strBOOKID.IsEmpty())</p><p><b> {</b></p><p> AfxMessageBox("請(qǐng)輸入相應(yīng)數(shù)據(jù)!");</p><p><b> return;</b></p>&l
100、t;p><b> }</b></p><p> if(m_bAdd)//判別添加標(biāo)志位</p><p><b> {</b></p><p> m_rsDataSet.AddNew();//添加</p><p> MessageBox("添加完成!");</
101、p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> //編輯標(biāo)志位有效</b></p><p> if(m_bEdit) </p&
102、gt;<p><b> {</b></p><p> m_rsDataSet.Edit();//編輯</p><p> MessageBox("編輯完成!");</p><p><b> }</b></p><p><b> }</b>
103、;</p><p> //控件關(guān)聯(lián)變量更新到數(shù)據(jù)庫(kù)</p><p> m_rsDataSet.m_BOOKNAME=m_strBOOKNAME;//書(shū)名</p><p> m_rsDataSet.m_BOOKID=m_strBOOKID;//書(shū)籍條碼</p><p> m_rsDataSet.m_AUTHOR=m_strAUTH
104、OR;//作者</p><p> m_rsDataSet.m_PRESS=m_strPRESS;//出版社</p><p> m_rsDataSet.m_PRESSDATE=m_strPRESSDATE;//出版日期</p><p> m_rsDataSet.m_FLAG=m_strFLAG;//借閱信息</p><p&g
105、t;<b> //更新到數(shù)據(jù)庫(kù)</b></p><p> m_rsDataSet.Update();</p><p> m_rsDataSet.Requery();</p><p><b> //標(biāo)志位失效</b></p><p> m_bAdd = FALSE;</p>&
106、lt;p> m_bEdit = FALSE;</p><p> MessageBox("操作成功!");</p><p> DisplayRecord();//顯示刷新紀(jì)錄</p><p> //恢復(fù)控件只讀 不可編輯</p><p> //根據(jù)控件ID獲取控件的句柄 指針指向成員函數(shù)撤銷(xiāo)編輯框只讀設(shè)置&
107、lt;/p><p> ((CEdit*)GetDlgItem(IDC_BOOKNAME))->SetReadOnly(true);//書(shū)籍名稱(chēng)</p><p> ((CEdit*)GetDlgItem(IDC_BOOKID))->SetReadOnly(true);//書(shū)籍條碼</p><p> ((CEdit*)GetDlgItem(ID
108、C_AUTHOR))->SetReadOnly(true);//作者</p><p> ((CEdit*)GetDlgItem(IDC_PRESS))->SetReadOnly(true);//出版社</p><p> ((CEdit*)GetDlgItem(IDC_PRESSDATE))->SetReadOnly(true);//出版日期<
109、;/p><p> ((CEdit*)GetDlgItem(IDC_FLAG_BORROW))->SetReadOnly(true);//能否借閱</p><p><b> }</b></p><p> //取消按鈕消息映射函數(shù)</p><p> void CBookMDlg::OnCANCELRec() &l
110、t;/p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p><b> //標(biāo)志位失效</b></p><p> m_bEdit = FALSE;</p>
111、<p> m_bAdd = FALSE;</p><p> MessageBox("操作已取消!");</p><p> DisplayRecord();</p><p><b> }</b></p><p> //取消按鈕消息映射函數(shù)</p><p>
112、 void CBookMDlg::OnCancel() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> CDialog::OnCancel();</p><p><b&
113、gt; }</b></p><p> //退出按鈕消息映射函數(shù)</p><p> void CBookMDlg::OnExit() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code her
114、e</p><p> CDialog::OnCancel();</p><p><b> }</b></p><p> //================================數(shù)據(jù)庫(kù)查詢(xún)操作======================================</p><p> //第一條按鈕
115、消息映射函數(shù)</p><p> void CBookMDlg::OnFirst() </p><p><b> {</b></p><p> if(!m_rsDataSet.IsEOF())//判斷是否到達(dá)記錄集的結(jié)尾</p><p><b> {</b></p><p
116、> m_rsDataSet.MoveFirst();//指針指向第一條記錄</p><p> DisplayRecord();//顯示刷新記錄</p><p><b> }</b></p><p><b> }</b></p><p> //上一條按鈕消息映射函數(shù)</p>
117、<p> void CBookMDlg::OnPrior() </p><p><b> {</b></p><p> //IsBOF()當(dāng)指針移動(dòng)到第一條記錄前面或者表中沒(méi)有記錄的時(shí)候返回真</p><p> if(!m_rsDataSet.IsBOF())//判斷是否到達(dá)記錄集的結(jié)尾</p><p
118、><b> {</b></p><p> m_rsDataSet.MovePrev();//指針移動(dòng)到上一條記錄</p><p> DisplayRecord();//顯示刷新記錄</p><p><b> }</b></p><p><b> }</b>&
119、lt;/p><p> //下一條按鈕消息映射函數(shù)</p><p> void CBookMDlg::OnNext() </p><p><b> {</b></p><p> if(!m_rsDataSet.IsEOF())//判斷是否到達(dá)記錄集的結(jié)尾</p><p><b> {
120、</b></p><p> m_rsDataSet.MoveNext();//指針移動(dòng)到下一條記錄</p><p> DisplayRecord();//顯示刷新記錄</p><p><b> }</b></p><p><b> }</b></p><p&g
121、t; //末一條按鈕消息映射函數(shù)</p><p> void CBookMDlg::OnLast() </p><p><b> {</b></p><p> //IsEOF()當(dāng)指針移動(dòng)到最后一條記錄后面的時(shí)候返回真</p><p> if(!m_rsDataSet.IsEOF())//判斷是否到達(dá)記錄集的結(jié)
122、尾</p><p><b> {</b></p><p> m_rsDataSet.MoveLast();//指針移動(dòng)到最后一條記錄</p><p> DisplayRecord();//顯示刷新記錄</p><p><b> }</b></p><p><b&
123、gt; }</b></p><p> //====================數(shù)據(jù)庫(kù)修改操作===================</p><p> //新增按鈕消息映射函數(shù)</p><p> void CBookMDlg::OnNew() </p><p><b> {</b></p&g
124、t;<p> UpdateData(FALSE);</p><p> //編輯框控件數(shù)據(jù)清空</p><p> m_strBOOKNAME="";//書(shū)名</p><p> m_strBOOKID="";//書(shū)籍條碼</p><p> m_strAUTHOR="&
125、quot;;//作者</p><p> m_strPRESS="";//出版社</p><p> m_strPRESSDATE="";//出版日期</p><p> m_strFLAG="";//借閱信息</p><p> UpdateData(FALSE);/
126、/更新到關(guān)聯(lián)變量</p><p><b> //標(biāo)志位設(shè)置</b></p><p> m_bEdit = FALSE;</p><p> m_bAdd = TRUE;</p><p> //撤銷(xiāo)控件只讀 可編輯</p><p> //根據(jù)控件ID獲取控件的句柄 指針指向成員函數(shù)撤銷(xiāo)編輯框
127、只讀設(shè)置</p><p> ((CEdit*)GetDlgItem(IDC_BOOKNAME))->SetReadOnly(false);//書(shū)籍名稱(chēng)</p><p> ((CEdit*)GetDlgItem(IDC_BOOKID))->SetReadOnly(false);//書(shū)籍條碼</p><p> ((CEdit*)GetDlgI
128、tem(IDC_AUTHOR))->SetReadOnly(false);//作者</p><p> ((CEdit*)GetDlgItem(IDC_PRESS))->SetReadOnly(false);//出版社</p><p> ((CEdit*)GetDlgItem(IDC_PRESSDATE))->SetReadOnly(false);//出版
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- [vc++畢設(shè)]vc++圖書(shū)館管理系統(tǒng)
- 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)報(bào)告---圖書(shū)館管理系統(tǒng)
- vc++課程設(shè)計(jì)報(bào)告---球員管理系統(tǒng)
- 圖書(shū)館管理系統(tǒng)_pb課程設(shè)計(jì)報(bào)告
- c課程設(shè)計(jì)報(bào)告--圖書(shū)館管理系統(tǒng)
- java課程設(shè)計(jì)報(bào)告---圖書(shū)館管理系統(tǒng)
- java課程設(shè)計(jì)報(bào)告---圖書(shū)館管理系統(tǒng)
- 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)
- vc++課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)--圖書(shū)館管理系統(tǒng)
- 圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)
- vc++課程設(shè)計(jì)-- 餐飲管理系統(tǒng)
- c語(yǔ)言圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)---高校圖書(shū)館管理系統(tǒng)
- 圖書(shū)館信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---圖書(shū)館管理系統(tǒng)
- c++圖書(shū)館管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- 圖書(shū)館信息管理系統(tǒng)課程設(shè)計(jì)報(bào)告
評(píng)論
0/150
提交評(píng)論