2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  摘 要</b></p><p>  本文是關(guān)于書店管理系統(tǒng)的相關(guān)軟件開發(fā)的一篇實(shí)踐性論文。</p><p>  在當(dāng)今社會,隨著計(jì)算機(jī)的發(fā)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,日常管理工作應(yīng)該從以前繁瑣的事務(wù)中解放出來,從而提高了工作效率。目前在大的書店應(yīng)有一整套比較完整的信息管理系統(tǒng),而在一般小型的書店中大部分工作還是進(jìn)行著手工管理,工作效率很低,并且

2、不能及時(shí)了解書店各類圖書的庫存,讀者需求的圖書難以在短時(shí)間里找到﹑圖書的入庫和更新比較麻煩等,不便于動態(tài)及時(shí)調(diào)整圖書結(jié)構(gòu)。同時(shí)由于不可避免的人為因素,造成數(shù)據(jù)的遺漏﹑誤報(bào)等。為了更好地適應(yīng)當(dāng)前書店的銷售需求,緩解手工管理存在的弊端,開發(fā)了書店管理系統(tǒng),該系統(tǒng)向用戶提供的服務(wù)將在傳統(tǒng)的“入庫->銷售->盤點(diǎn)”基礎(chǔ)上,進(jìn)一步提供全方位的信息服務(wù)。</p><p>  根據(jù)小型書店的規(guī)模和經(jīng)濟(jì)能力,本系統(tǒng)具

3、有書店管理系統(tǒng)的基本功能,如圖書管理﹑入庫管理﹑銷售管理﹑綜合查詢﹑系統(tǒng)管理等,并且界面簡單﹑操作簡便。作為一種該研究方向的實(shí)踐性探索,本圖書銷售管理系統(tǒng)旨在提供一個可以操作的,方便查詢,易于修改的輔助管理系統(tǒng),以滿足當(dāng)前小型書店在管理實(shí)踐和業(yè)務(wù)操作中的具體需求。</p><p>  [關(guān)鍵詞] 書店管理 管理系統(tǒng) 輔助管理 軟件開發(fā)</p><p><b>  ABSTRAC

4、T </b></p><p>  This thesis with practical application is concerning about developing programme of the managing system in bookshops.</p><p>  Nowadays, with rapid developing of computers a

5、nd applying of network technology, in order to make a great difference in efficiency and productivity, daily management should be freed from nagging formalities and other unnecessary items.. At present, a series of infor

6、mation managing system which is complete and well-working enough has been applied to large bookshops, while for some smaller ones most of work has been done by hand, which is incurring lower efficiency and higher energy-

7、cost. Worse st</p><p>  According to the running scales and the capacity of economy, this system has basic functions such as books management, purchasing management, sales management, system management, comp

8、rehensive search, and so on. Moreover, it shows simple interface and processing convenience. As an explore with practical meaning, the aim of this system is to offer a user-friendly and supplementary managing system to s

9、atisfy detailed needs of managing practice and business process. </p><p>  [Key Words] developing programme sales managing system </p><p>  books management business process </p&

10、gt;<p>  managing system in bookshops.</p><p><b>  目 錄</b></p><p><b>  一、前言(1)</b></p><p>  二、需求分析(2)</p><p> ?。ㄒ唬┫到y(tǒng)需求(2)</p>

11、<p> ?。ǘ┕δ苄枨螅?)</p><p>  1、權(quán)限設(shè)置(2)</p><p>  2、圖書銷售(2)</p><p>  3、圖書入庫(3)</p><p>  4、圖書信息設(shè)置(3)</p><p>  5、綜合查詢(3)</p><p>  6、系統(tǒng)設(shè)置

12、(4)</p><p>  7、數(shù)據(jù)庫管理(4)</p><p>  (三)性能需求(4)</p><p>  1、硬件環(huán)境(4)</p><p>  2、軟件環(huán)境(4)</p><p>  三、總體設(shè)計(jì)(5)</p><p> ?。ㄒ唬┗驹O(shè)計(jì)概念和處理流程(5)</p>

13、;<p> ?。ǘ┫到y(tǒng)層次模塊圖(5)</p><p> ?。ㄈ?shù)據(jù)庫設(shè)計(jì)(6)</p><p>  1、數(shù)據(jù)庫介紹(6)</p><p>  2、使用ODBC數(shù)據(jù)庫接口訪問數(shù)據(jù)庫(6)</p><p>  3、數(shù)據(jù)庫需求分析(7)</p><p>  4、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)(9)<

14、/p><p>  四、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)(9)</p><p> ?。ㄒ唬┫到y(tǒng)主控平臺(9)</p><p>  1、主控平臺界面的設(shè)計(jì)(9)</p><p>  2、主控平臺界面的實(shí)現(xiàn)(9)</p><p> ?。ǘ?quán)限設(shè)置模塊(9)</p><p>  1、權(quán)限設(shè)置模塊IPO圖(10)

15、</p><p>  2、權(quán)限設(shè)置模塊的實(shí)現(xiàn)(10)</p><p> ?。ㄈ﹫D書銷售模塊(11)</p><p>  1、圖書銷售模塊IPO圖(11)</p><p>  2、圖書銷售模塊的實(shí)現(xiàn)(12)</p><p> ?。ㄋ模﹫D書入庫模塊(17)</p><p>  1、圖書入

16、庫模塊IPO圖(17)</p><p>  2、圖書入庫模塊的實(shí)現(xiàn)(18)</p><p>  (五)圖書信息設(shè)置模塊(19)</p><p>  1、圖書信息設(shè)置模塊IPO圖(19)</p><p>  2、圖書信息設(shè)置模塊的實(shí)現(xiàn)(20)</p><p> ?。┚C合查詢模塊(22)</p>

17、<p>  1、圖書查詢子模塊(22)</p><p>  2、銷售查詢子模塊(24)</p><p> ?。ㄆ撸┫到y(tǒng)設(shè)置模塊(26)</p><p> ?。ò耍?shù)據(jù)庫管理模塊(31)</p><p>  1、數(shù)據(jù)庫管理模塊IPO圖(31) </p><p>  2、數(shù)據(jù)庫管理模塊的實(shí)現(xiàn)(32

18、)</p><p>  五、結(jié)論與體會(34)</p><p><b>  參考文獻(xiàn)(35)</b></p><p><b>  致謝(35)</b></p><p>  書店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)</p><p><b>  前言</b></p

19、><p>  在當(dāng)今社會,隨著計(jì)算機(jī)的發(fā)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,日常管理工作應(yīng)該從以前繁瑣的事務(wù)中解放出來,從而提高了工作效率。目前在大的書店已經(jīng)有一整套比較完整的信息管理系統(tǒng),而在一般小型的書店中大部分工作還是進(jìn)行著手工管理,工作效率很低,并且不能及時(shí)了解書店各類圖書的庫存,讀者需求的圖書難以在短時(shí)間里找到,圖書的入庫和更新比較麻煩等,不便于動態(tài)及時(shí)調(diào)整圖書結(jié)構(gòu)。同時(shí)由于不可避免的人為因素,造成數(shù)據(jù)的遺漏,誤報(bào)等。使用

20、計(jì)算機(jī)對書店圖書信息進(jìn)行管理,具有手工所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速﹑查找方便﹑可靠性高﹑保密性好﹑壽命長﹑成本低﹑高效率﹑對進(jìn)書有較好的預(yù)測性等。</p><p>  為了更好地適應(yīng)當(dāng)前書店的銷售需求,緩解手工管理存在的弊端,開發(fā)了書店管理系統(tǒng),該系統(tǒng)向用戶提供的服務(wù)將在傳統(tǒng)的“入庫->銷售->盤點(diǎn)”基礎(chǔ)上,進(jìn)一步提供全方位的信息服務(wù)。它具有以下幾個特點(diǎn):</p><p>

21、  1、可以存儲店中所有圖書的資料以及庫存情況,具有安全,高效的特性。</p><p>  2、只需一到二名檔案錄入員即可操作系統(tǒng),節(jié)省大量人力。</p><p>  3、可以迅速查到所需信息。</p><p>  4、系統(tǒng)對軟,硬件方面的需求不高,軟件要求易學(xué),容易掌握,可以很簡單方便地管理圖書信息。硬件的配置要求不能太高,這樣可以很好的適應(yīng)當(dāng)前的各類書店。<

22、;/p><p>  總之,圖書銷售管理系統(tǒng)旨在提供一個可以操作的,方便查詢,易于修改的輔助管理系統(tǒng)。同時(shí)提供了系統(tǒng)智能輔助與用戶選擇兩種方式,提高查詢效率。</p><p><b>  二、需求分析 </b></p><p><b>  系統(tǒng)需求 </b></p><p>  書店管理系統(tǒng)需要滿足來自三

23、個方面需求:第一,書店工作人員通過計(jì)算機(jī)來管理各類圖書,進(jìn)行圖書分類編號,調(diào)整圖書結(jié)構(gòu),增加圖書庫存,適應(yīng)讀者的需求。第二,工作人員對讀者的需求情況能作好全面的掌握,及時(shí)得到歷史銷售記錄。第三,也是書店的核心工作,對圖書的銷售管理。</p><p><b>  功能需求</b></p><p>  基于系統(tǒng)需求分析,該系統(tǒng)需要實(shí)現(xiàn)以下基本功能:</p>

24、<p><b>  1、權(quán)限設(shè)置</b></p><p>  本系統(tǒng)的使用用戶分兩種:管理員和普通用戶。管理員具有使用本系統(tǒng)的所有功能,而普通用戶是需要具有日常書店的管理功能即可。用戶權(quán)限的設(shè)置通過用戶登陸界面的輸入來進(jìn)行。</p><p><b>  2、圖書銷售</b></p><p>  圖書管理人員通過此

25、模塊來銷售各類圖書并對銷售情況進(jìn)行記錄,記錄的信息包括圖書銷售的數(shù)量,價(jià)格,折扣比例等。在進(jìn)行銷售圖書時(shí),輸入圖書的編號,系統(tǒng)就可以搜索到該圖書編號對應(yīng)的圖書信息,然后列出該圖書銷售是需要的基本信息,書名,出版社﹑價(jià)格等。銷售可以輸入折扣數(shù)以便打折,在購買相同的多本書時(shí),可以直接輸入圖書數(shù)量,避免重復(fù)輸入圖書編號。同時(shí),也提供撤銷銷售記錄的功能,銷售員可以撤銷銷售時(shí)的上一條記錄。程序還能自動統(tǒng)計(jì)讀者購買的總金額,便于銷售員掌握。<

26、/p><p><b>  3、圖書入庫</b></p><p>  書店工作人員通過此模塊來管理各類圖書庫存的數(shù)目。當(dāng)一批圖書入庫時(shí),只需要輸入圖書編號和圖書數(shù)量,程序?qū)⒆詣痈膸齑娴膱D書數(shù)量。使用的公式為:現(xiàn)有圖書庫存=原有圖書庫存 + 新入庫圖書數(shù)量。</p><p><b>  4、圖書信息設(shè)置</b></p>

27、;<p>  書店工作人員通過次模塊來管理各類圖書信息,包括圖書信息的修改,刪除等。在進(jìn)行圖書的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有在用戶確認(rèn)后才能夠進(jìn)行圖書的刪除。在進(jìn)行圖書的修改時(shí),根據(jù)用戶選定的書進(jìn)行修改,即列出所有用戶選定的信息,在這個基礎(chǔ)上進(jìn)行圖書信息的修改。</p><p><b>  5、綜合查詢</b></p><p>  

28、綜合查詢提供兩種功能,通過它可以查詢讀者所需要的圖書信息和銷售情況。圖書信息查詢提供了用包括圖書編號和圖書名稱來對圖書信息進(jìn)行查詢的各種查詢條件,讀者可以根據(jù)查詢方式和條件來進(jìn)行所需圖書的查詢。同時(shí),在查詢時(shí)還提供了進(jìn)行模糊查詢的功能,即該模塊能夠利用讀者輸入的非完整的查詢條件進(jìn)行查詢,例如,讀者在書籍編號大查詢條件中輸入“06”,系統(tǒng)就能夠查出所有書籍編號包括“06”的圖書,像“1006”,“0600”等。這樣更加方便了讀者的查詢。銷

29、售查詢提供了按銷售的流水帳方式查詢,查詢時(shí)可以得到一段時(shí)間圖書銷售情況。</p><p><b>  6、系統(tǒng)設(shè)置</b></p><p>  包括圖書分類設(shè)置,出版社設(shè)置和用戶管理等工作。在該模塊中工作人員可以進(jìn)行添加和刪除各類圖書所屬分類的名稱,圖書出版社,同時(shí)還可進(jìn)行系統(tǒng)用戶登陸的一些管理,包括添加,刪除用戶,更改用戶的登陸密碼等。</p><

30、;p><b>  7、數(shù)據(jù)庫管理</b></p><p>  對現(xiàn)有數(shù)據(jù)庫進(jìn)行管理,包括數(shù)據(jù)庫備份和恢復(fù),以方便用戶對數(shù)據(jù)庫的管理和維護(hù)工作,提高管理的數(shù)據(jù)庫安全性。</p><p><b>  (三)性能需求</b></p><p><b>  1.硬件環(huán)境</b></p>&l

31、t;p>  在最低配置的情況下,系統(tǒng)的性能往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,而且價(jià)格也很便宜,因此通常給服務(wù)器配置高性能硬件。</p><p>  ·處理器:Intel Pentium II 266 MX 或更高</p><p><b>  ·內(nèi)存: 64M</b></p><p>  ·硬盤空間:

32、2 GB</p><p>  ·顯卡:SVGA顯示適配器</p><p><b>  2.軟件環(huán)境</b></p><p>  ·操作系統(tǒng):Windows 98/ME/2000/XP</p><p>  ·數(shù)據(jù)庫:Microsoft Access 2000</p><p&

33、gt;<b>  三﹑總體設(shè)計(jì)</b></p><p>  (一) 基本設(shè)計(jì)概念和處理流程</p><p>  本系統(tǒng)主要針對小型書店的規(guī)模小,手工處理繁瑣的情況,實(shí)現(xiàn)了書店日常管理的基本功能,操作簡單方便﹑上手快。另外,基于成本以及安全的考慮,假設(shè)本系統(tǒng)是一個相對封閉的單機(jī)運(yùn)行系統(tǒng),不提供于其它系統(tǒng)的實(shí)時(shí)數(shù)據(jù)交互。</p><p>  本系統(tǒng)

34、采用Visual C++ 6.0開發(fā),采用Microsoft Access 2000 作為后臺數(shù)據(jù)庫,在滿足需求的前提下,將系統(tǒng)對運(yùn)行環(huán)境的性能要求降到最低。</p><p>  系統(tǒng)基本流程是:用戶登陸->主界面->選擇各項(xiàng)功能。</p><p>  (二)系統(tǒng)層次模塊圖</p><p>  根據(jù)需求分析的結(jié)果,本系統(tǒng)主要劃分以下7個子模塊:權(quán)限驗(yàn)證﹑

35、圖書銷售﹑圖書入庫﹑圖書信息設(shè)置﹑綜合查詢﹑系統(tǒng)設(shè)置﹑數(shù)據(jù)庫管理等主要的系統(tǒng)。如圖1所示。系統(tǒng)業(yè)務(wù)處理流程如圖2所示。</p><p> ?。▓D1) 書店管理系統(tǒng)主模塊</p><p> ?。▓D 2) 系統(tǒng)業(yè)務(wù)處理流程圖</p><p><b>  (三)數(shù)據(jù)庫設(shè)計(jì)</b></p><p>  鑒于ODBC(Open D

36、atabase Connectivity)是用于數(shù)據(jù)庫訪問的應(yīng)用最廣泛的應(yīng)用程序編程接口,它允許應(yīng)用程序使用相同的代碼訪問不同的數(shù)據(jù)庫管理系統(tǒng)(DBMS),本系統(tǒng)采用ODBC的方式訪問數(shù)據(jù)庫。 </p><p><b>  1、數(shù)據(jù)庫介紹 </b></p><p>  Access 2000數(shù)據(jù)庫管理系統(tǒng)是Microsoft Office 的重要組成部分,適用于小型商

37、務(wù)活動,用以存儲和管理商務(wù)活動所需要的數(shù)據(jù)。Access不僅是一個數(shù)據(jù)庫,而且它具有強(qiáng)大的管理功能。</p><p>  2、使用ODBC數(shù)據(jù)庫接口訪問數(shù)據(jù)庫</p><p>  ODBC(Open Database Connectivity, 開放數(shù)據(jù)庫互連)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA, Windows Open Services Architectrue)中有關(guān)數(shù)據(jù)庫的一個組成部

38、分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。</p><p>  本系統(tǒng)通過Visual C++封裝的ODBC API即MFC ODBC類對Access數(shù)據(jù)庫進(jìn)行操作。把Access數(shù)據(jù)庫注冊到ODBC驅(qū)動程序管理器,由MFC ODBC類生成相應(yīng)的表類。在此基礎(chǔ)上進(jìn)行添加,修改,刪除等操作。使用MFC ODBC的時(shí)候,Windows的ODBC管理程序把數(shù)據(jù)庫訪問的請求傳遞給正確

39、的驅(qū)動程序,驅(qū)動程序在使用SQL語句指示DBMS(Database Management System,數(shù)據(jù)庫管理系統(tǒng))完成數(shù)據(jù)庫訪問工作。 </p><p><b>  3、數(shù)據(jù)庫需求分析</b></p><p>  根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,對于本系統(tǒng)的數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):</p><p>  (1)圖書信

40、息表----bookinfo</p><p>  數(shù)據(jù)來源:銷售管理模塊----圖書入庫或圖書信息設(shè)置中進(jìn)行錄入</p><p>  (2) 圖書銷售表----booksale</p><p>  數(shù)據(jù)來源:銷售管理模塊----圖書銷售中進(jìn)行錄入</p><p>  (3)圖書銷售臨時(shí)表----tempbooksale</p>

41、<p>  數(shù)據(jù)來源:銷售管理模塊----圖書銷售中進(jìn)行錄入并清空</p><p>  (4)出版社信息表----publisherinfo</p><p>  數(shù)據(jù)來源:系統(tǒng)設(shè)置----出版社設(shè)置中進(jìn)行錄入</p><p>  (5)圖書類別表----booktypeinfo</p><p>  數(shù)據(jù)來源:系統(tǒng)設(shè)置----圖書類別

42、設(shè)置中進(jìn)行錄入</p><p>  (6)系統(tǒng)用戶信息表----userinfo</p><p>  數(shù)據(jù)來源:系統(tǒng)管理模塊----用戶設(shè)置中進(jìn)行錄入</p><p>  4、數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)</p><p>  數(shù)據(jù)庫的表之間相互關(guān)聯(lián)可以保證數(shù)據(jù)庫數(shù)據(jù)的一致性,但是很有限。由程序代碼來實(shí)現(xiàn)能更好的檢查數(shù)據(jù)庫數(shù)據(jù)的一致性。所以本系統(tǒng)的數(shù)據(jù)庫

43、表相互獨(dú)立。</p><p>  四、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) </p><p><b>  (一)系統(tǒng)主控平臺</b></p><p>  1.主控平臺界面的設(shè)計(jì) </p><p>  充分考慮易于操作的系統(tǒng)需求,主控制平臺使用簡單和直觀的布局設(shè)計(jì)。.</p><p>  2.主控平臺界面的實(shí)現(xiàn)<

44、/p><p>  (1)主體框架:使用MFC AppWizard創(chuàng)建一個單文檔結(jié)構(gòu)的應(yīng)用程序工程,建立起系統(tǒng)主體框架,生成應(yīng)用程序類(CBookShopMISApp)﹑文檔類(CBookShopMISDoc)﹑視圖類(CBookShopMISView)和主框架類(CMainFram).</p><p>  (2)菜單:根據(jù)系統(tǒng)總體設(shè)計(jì)中功能模塊的劃分,使用資源編輯器創(chuàng)建系統(tǒng)菜單。</p&

45、gt;<p>  (二)權(quán)限設(shè)置模塊 </p><p>  此模塊主要是根據(jù)用戶輸入的名稱和密碼驗(yàn)證用戶身份并且決定用戶的操作權(quán)限,并把用戶信息設(shè)置到當(dāng)前用戶類中。</p><p><b>  權(quán)限設(shè)置IPO圖</b></p><p><b>  輸入:用戶名和密碼</b></p><p&

46、gt;<b>  處理: </b></p><p>  (1)程序開始啟動系統(tǒng)登陸對話框。</p><p>  (2)用戶輸入用戶名和密碼。</p><p>  (3)從用戶表中檢查是否有相應(yīng)的用戶名和密碼。</p><p>  (4)如果用戶名或密碼錯誤,進(jìn)行提示;如果錯誤次數(shù)達(dá)到三次,則提示并退出。</p>

47、;<p>  (5)如果正確,則根據(jù)該用戶的權(quán)限類別進(jìn)行權(quán)限設(shè)置。</p><p>  (6)進(jìn)入主程序界面</p><p><b>  輸出:主程序界面</b></p><p>  2、權(quán)限設(shè)置模塊的實(shí)現(xiàn)</p><p>  通過定義CLoginDialog類來實(shí)現(xiàn)權(quán)限設(shè)置模塊功能。其主要代碼如下:<

48、;/p><p>  (1) 根據(jù)用戶名和密碼驗(yàn)證用戶身份和分配權(quán)限</p><p>  //在登陸按鈕被點(diǎn)擊后,進(jìn)行權(quán)限驗(yàn)證。</p><p>  void CLoginDialog::OnOK() </p><p>  參考文獻(xiàn) [1] 葉子,進(jìn).

49、實(shí)現(xiàn)[J].計(jì)算機(jī)工程與科學(xué),2009,1(07):61-64. [2] 基于MATLAB 實(shí)現(xiàn)的指紋圖像預(yù)處理[J].2008,34(04):836-856. [3] http://mhktec.com/baoshijieyulecheng/

50、 [4] http://nmfgj.com/baomahuiyulecheng/ [5] By-gnksguybb [6] 李 寧.指紋增強(qiáng)算法研究[D].濟(jì)南:山東大學(xué),2007. <

51、;/p><p><b>  {</b></p><p>  UpdateData(TRUE);</p><p>  CUserSet m_UserSet;</p><p>  CBookShopMISApp *ptheApp = (CBookShopMISApp *)AfxGetApp();</p><p

52、><b>  try{</b></p><p>  if(m_UserSet.IsOpen())</p><p>  m_UserSet.Close();</p><p>  m_UserSet.m_strFilter.Format(" username= '%s' and userpassword = '

53、;%s'",</p><p>  m_strUserName, m_strUserPwd);</p><p>  m_UserSet.Open(CRecordset::snapshot, NULL, CRecordset::none);</p><p>  if(m_UserSet.IsEOF()){</p><p>  m

54、_UserSet.Close();</p><p>  if(++i == 3){</p><p>  AfxMessageBox("很抱歉,您的輸入錯誤次數(shù)已達(dá)到3次.\n系統(tǒng)即將退出.");</p><p><b>  exit(1);</b></p><p><b>  }</b

55、></p><p>  AfxMessageBox("密碼錯誤, 請重試!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  else{</b></p><

56、p>  ptheApp->m_PresentUser.SetUserInfo(m_UserSet.m_username,</p><p>  m_UserSet.m_userpassword,m_UserSet.m_isAdmin);</p><p>  m_UserSet.Close();</p><p>  AfxMessageBox("密

57、碼正確,登陸成功!");</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch(CDBException *e){</p><p>  e->ReportError();</p><p><b&g

58、t;  return;</b></p><p><b>  }</b></p><p>  CDialog::OnOK();</p><p><b>  }</b></p><p><b>  (三)圖書銷售模塊</b></p><p>  

59、1.圖書銷售IPO圖</p><p>  輸入:圖書編號﹑圖書數(shù)量和折扣(缺省為不打折)。</p><p><b>  處理:</b></p><p><b>  圖書銷售對話框啟動</b></p><p>  用戶輸入圖書編號,并點(diǎn)擊 “搜索” 按鈕,系統(tǒng)進(jìn)行圖書搜索</p><

60、;p>  如果無此編號的圖書,進(jìn)行提示;反之,則列出該圖書的基本信息。</p><p>  輸入圖書數(shù)量,然后,按回車鍵計(jì)算出該筆銷售的金額。</p><p>  按“下一本”按鈕,則進(jìn)行下一本書的銷售。</p><p>  按“結(jié)賬”按鈕,則完成此次的銷售功能。并算出總金額。</p><p>  點(diǎn)擊銷售列表,按“撤銷”按鈕,則取消該

61、書的銷售。</p><p>  按“退出”按鈕,則退出圖書銷售。</p><p>  輸出:更新圖書信息表和圖書銷售表。</p><p>  2、圖書銷售模塊的實(shí)現(xiàn)</p><p>  根據(jù)圖書銷售模塊的IPO圖,通過定義CBookSaleDialog類來實(shí)現(xiàn)圖書銷售模塊的功能。其主要實(shí)現(xiàn)代碼如下:</p><p> 

62、 (1) CBookSaleDialog類使用的圖書信息表記錄集CBookSet﹑圖書銷售表記錄集CBookSaleSet和臨時(shí)圖書銷售表記錄集CTempSaleSet.,操作完成后,更新和調(diào)整圖書信息表,增加圖書銷售表記錄,臨時(shí)銷售表為空。</p><p>  (2) 圖書銷售。流程: 選擇圖書編號->點(diǎn)擊搜索按鈕->輸入圖書折扣和圖書數(shù)量->回車鍵->點(diǎn)擊下一本->或結(jié)賬->

63、;退出。</p><p>  // 根據(jù)圖書編號進(jìn)行搜索,如果存在,則顯示圖書詳細(xì)信息</p><p>  void CBookSaleDialog::OnButtonSearch() </p><p><b>  {</b></p><p>  UpdateData(TRUE);</p><p>

64、;  if(m_strBookNo == "") {</p><p>  MessageBox("圖書編號不能為空");</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  CBookSet m_B

65、ookSet;</p><p><b>  try{</b></p><p>  ,, m_BookSet.m_strFilter.Format("bookno = '%s'",m_strBookNo);</p><p>  m_BookSet.Open(CRecordset::snapshot, NUL

66、L, CRecordset::none);</p><p>  if(m_BookSet.IsEOF() || (m_BookSet.m_number == 0)) {</p><p>  m_BookSet.Close();</p><p>  AfxMessageBox("該編號的圖書不存在,請重新輸入編號!");</p>&l

67、t;p>  ResetMembers();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  CString strTemp;</p><p>  strTemp.Format("%d",m_BookSet.m

68、_number);</p><p>  m_strBookName = m_BookSet.m_bookname;</p><p>  m_strPublisher = m_BookSet.m_pubname;</p><p>  m_strAuthor = m_BookSet.m_author;</p><p>  CString Temp

69、Price;</p><p>  TempPrice.Format("%.2f",m_BookSet.m_price);</p><p>  m_strPrice = TempPrice; //m_BookSet.m_price;</p><p>  m_BookSet.Close();</p><p>  Update

70、Data(FALSE);</p><p><b>  }</b></p><p>  catch(CDBException *e){</p><p>  e->ReportError();</p><p><b>  }</b></p><p><b>  }

71、</b></p><p><b>  // 計(jì)算銷售值</b></p><p>  void CBookSaleDialog::OnOK() </p><p><b>  {</b></p><p>  UpdateData(TRUE);</p><p>  if

72、(m_strNumber == ""){</p><p>  MessageBox("請輸入銷售圖書數(shù)量");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  float TempFianalPr

73、ice;</p><p>  TempFianalPrice = atoi(m_strNumber) * atof(m_strPrice) * atoi(m_strDisCount) / 100;</p><p>  m_strFianalPrice.Format("%.2f",TempFianalPrice);</p><p>  Update

74、Data(FALSE);</p><p><b>  }</b></p><p><b>  // 下一本</b></p><p>  void CBookSaleDialog::OnButtonNext() </p><p><b>  {</b></p>&l

75、t;p>  UpdateData(TRUE);</p><p>  if(m_strBookNo == ""){</p><p>  MessageBox("請輸入要銷售圖書的編號");</p><p><b>  return;</b></p><p><b> 

76、 }</b></p><p>  if(m_strNumber == ""){</p><p>  MessageBox("請輸入要銷售圖書的數(shù)量");</p><p><b>  return;</b></p><p><b>  }</b>&l

77、t;/p><p>  if(atoi(m_strNumber) <=0){</p><p>  MessageBox("銷售圖書數(shù)量不能少于一本");</p><p><b>  return;</b></p><p><b>  }</b></p><p&

78、gt;  if(m_strDisCount == ""){</p><p>  MessageBox("請輸入該書要打幾折");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  

79、// 獲取當(dāng)前時(shí)間</b></p><p><b>  CTime t;</b></p><p>  t = CTime::GetCurrentTime();</p><p>  CString time = "";</p><p>  CString year;</p>&

80、lt;p>  CString month;</p><p>  CString day;</p><p>  year.Format("%d",t.GetYear());</p><p>  month.Format("%d",t.GetMonth());</p><p>  if(t.GetMo

81、nth() < 9)</p><p>  month = "0" + month;</p><p>  day.Format("%d",t.GetDay());</p><p>  if(t.GetDay() < 9)</p><p>  day = "0" + day;

82、</p><p>  time = year + month + day;</p><p>  CBookSet m_BookSet;</p><p>  CTempSaleSet m_TempSaleSet;</p><p>  int TempNumber;</p><p><b>  try{</

83、b></p><p>  m_BookSet.m_strFilter.Format("bookno = '%s'",m_strBookNo);</p><p>  m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none);</p><p>  if(!m_Boo

84、kSet.IsEOF()){</p><p>  TempNumber = m_BookSet.m_number - atoi(m_strNumber);</p><p>  if(TempNumber < 0){</p><p>  AfxMessageBox("庫存不足,請重新輸入銷售圖書數(shù)量");</p><p&g

85、t;<b>  return ;</b></p><p><b>  }</b></p><p>  m_BookSet.Edit();</p><p>  m_BookSet.m_number = TempNumber;</p><p>  m_BookSet.Update();</p>

86、;<p>  m_BookSet.Close();</p><p>  m_BookSet.m_pDatabase->Close();</p><p>  // 添加銷售的圖書到臨時(shí)銷售表</p><p>  m_TempSaleSet.Open();</p><p>  m_TempSaleSet.AddNew();&l

87、t;/p><p>  m_TempSaleSet.m_author = m_strAuthor;</p><p>  m_TempSaleSet.m_publisher = m_strPublisher;</p><p>  m_TempSaleSet.m_bookname = m_strBookName;</p><p>  m_TempSal

88、eSet.m_bookno = m_strBookNo;</p><p>  m_TempSaleSet.m_number = atoi(m_strNumber);</p><p>  m_TempSaleSet.m_discount = atoi(m_strDisCount);</p><p>  m_TempSaleSet.m_sum = atof(m_strF

89、ianalPrice);</p><p>  m_TempSaleSet.m_price = atof(m_strPrice);</p><p>  m_TempSaleSet.m_date = atol(time);</p><p>  m_TempSaleSet.Update();</p><p>  m_TempSaleSet.Clos

90、e();</p><p>  m_TempSaleSet.m_pDatabase->Close();</p><p>  // 顯示在銷售列表中</p><p>  m_TempSaleSet.Open();</p><p>  m_TempSaleSet.MoveLast();</p><p>  int po

91、s = m_ListSale.GetItemCount();</p><p>  CString TempNumber;</p><p>  CString TempPrice;</p><p>  CString TempDiscount;</p><p>  CString TempSum;</p><p>  T

92、empNumber.Format("%d",m_TempSaleSet.m_number);</p><p>  TempPrice.Format("%.2f",m_TempSaleSet.m_price);</p><p>  TempDiscount.Format("%d",m_TempSaleSet.m_discount);

93、</p><p>  TempSum.Format("%.2f",m_TempSaleSet.m_sum);</p><p>  m_ListSale.InsertItem(pos, m_TempSaleSet.m_bookname);</p><p>  m_ListSale.SetItemText(pos,1,TempNumber);<

94、/p><p>  m_ListSale.SetItemText(pos,2,TempPrice);</p><p>  m_ListSale.SetItemText(pos,3,TempDiscount);</p><p>  m_ListSale.SetItemText(pos,4,TempSum);</p><p>  m_TempSaleS

95、et.Close();</p><p>  ResetMembers();</p><p><b>  }</b></p><p><b>  }</b></p><p>  catch(CDBException *e){</p><p>  e->ReportErro

96、r();</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  // 結(jié)賬</b></p><p>  void CBookS

97、aleDialog::OnButtonBill() </p><p><b>  {</b></p><p>  UpdateData();</p><p>  if(m_strBookNo != "")</p><p>  OnButtonNext();</p><p>  

98、float m_Sum = 0;</p><p>  CTempSaleSet m_TempSaleSet;</p><p>  CBookSaleSet m_BookSaleSet;</p><p><b>  try{</b></p><p>  m_TempSaleSet.Open();</p>&l

99、t;p>  m_BookSaleSet.Open();</p><p>  m_TempSaleSet.MoveFirst();</p><p>  while(! m_TempSaleSet.IsEOF()){</p><p><b>  //算出總銷售額</b></p><p>  m_Sum = m_Sum

100、+ m_TempSaleSet.m_sum;</p><p>  //------------ 添加進(jìn)銷售列表中-------------------</p><p>  m_BookSaleSet.AddNew();</p><p>  m_BookSaleSet.m_author = m_TempSaleSet.m_author;</p>&

101、lt;p>  m_BookSaleSet.m_bookname = m_TempSaleSet.m_bookname;</p><p>  m_BookSaleSet.m_bookno = m_TempSaleSet.m_bookno;</p><p>  m_BookSaleSet.m_date = m_TempSaleSet.m_date;</p>

102、<p>  m_BookSaleSet.m_discount = m_TempSaleSet.m_discount;</p><p>  m_BookSaleSet.m_number = m_TempSaleSet.m_number;</p><p>  m_BookSaleSet.m_price = m_TempSaleSet.m_price;</p&g

103、t;<p>  m_BookSaleSet.m_moneysum = m_TempSaleSet.m_sum;</p><p>  m_BookSaleSet.m_publisher = m_TempSaleSet.m_publisher;</p><p>  m_BookSaleSet.Update();</p><p>  //---------

104、------------------------------------------</p><p>  m_TempSaleSet.Delete();</p><p>  m_TempSaleSet.MoveNext();</p><p><b>  }</b></p><p>  m_TempSaleSet.Clos

105、e();</p><p>  m_TempSaleSet.m_pDatabase->Close();</p><p>  m_BookSaleSet.Close();</p><p>  m_BookSaleSet.m_pDatabase->Close();</p><p><b>  }</b></p

106、><p>  catch(CDBException *e){</p><p>  e->ReportError();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  m_strSaleSum.Format(&q

107、uot;%.2f",m_Sum);</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  (3) 撤銷功能。流程:點(diǎn)擊銷售列表,點(diǎn)擊撤銷按鈕即可完成。</p><p>  void CBookSaleDialog::OnButtonCancel(

108、) </p><p><b>  {</b></p><p>  int i = m_ListSale.GetSelectionMark();</p><p>  CString BookName = m_ListSale.GetItemText(i, 0);</p><p>  int TempNumber = 0;

109、</p><p>  if(i < 0){</p><p>  AfxMessageBox("請選取要刪除的銷售記錄!");</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  // 從臨

110、時(shí)表中刪除該銷售記錄</p><p>  CTempSaleSet m_TempSaleSet;</p><p>  m_TempSaleSet.m_strFilter.Format("bookname = '%s'",BookName);</p><p>  m_TempSaleSet.Open(CRecordset::snap

111、shot, NULL , CRecordset::none);</p><p>  if(!m_TempSaleSet.IsEOF()){</p><p>  TempNumber = m_TempSaleSet.m_number;</p><p>  m_TempSaleSet.Delete();</p><p><b>  }&

112、lt;/b></p><p>  m_TempSaleSet.Close();</p><p>  m_TempSaleSet.m_pDatabase->Close();</p><p>  // 恢復(fù)圖書原先數(shù)量</p><p>  CBookSet m_BookSet;</p><p>  m_Book

113、Set.m_strFilter.Format("bookname = '%s'", BookName);</p><p>  m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none);</p><p>  if(!m_BookSet.IsEOF()){</p><p>

114、;  m_BookSet.Edit();</p><p>  m_BookSet.m_number = m_BookSet.m_number + TempNumber;</p><p>  m_BookSet.Update();</p><p><b>  }</b></p><p>  m_BookSet.Close(

115、);</p><p>  m_BookSet.m_pDatabase->Close();</p><p>  ListSale();</p><p><b>  }</b></p><p><b>  (四)圖書入庫模塊</b></p><p>  1.圖書入庫模塊IP

116、O圖</p><p>  輸入:圖書編號和圖書數(shù)量</p><p><b>  處理:</b></p><p>  圖書入庫對話框啟動。</p><p>  等待用戶輸入圖書的編號和數(shù)量,可以在此輸入圖書詳細(xì)信息,但不是必需的。</p><p>  將圖書添加到圖書信息表中</p>

117、<p>  輸出:更新圖書信息表</p><p>  2. 圖書入庫模塊的實(shí)現(xiàn)</p><p>  根據(jù)圖書入庫模塊的IPO圖,通過定義CBookInputDialog類來實(shí)現(xiàn)該模塊的主體功能。</p><p>  相關(guān)的記錄集類CBookSet。</p><p><b>  新書錄入。</b></p&g

118、t;<p>  處理過程:判斷用戶是否全部輸入必填的圖書信息,然后根據(jù)用戶輸入的圖書編號查詢圖書信息表是否有重復(fù)編號,是則在原有圖書信息基礎(chǔ)上增加圖書的數(shù)量;否則添加新的圖書記錄在圖書信息表中。</p><p>  // 添加圖書到圖書信息庫中</p><p>  void CBookInputDialog::OnButtonSaveAndGoon() </p>

119、<p><b>  {</b></p><p>  UpdateData(TRUE);</p><p><b>  CTime t;</b></p><p>  t = CTime::GetCurrentTime();</p><p>  CString time = "&qu

120、ot;;</p><p>  CString year;</p><p>  CString month;</p><p>  CString day;</p><p>  year.Format("%d",t.GetYear());</p><p>  month.Format("%d&

121、quot;,t.GetMonth());</p><p>  day.Format("%d",t.GetDay());</p><p>  time = year + "-" + month + "-"+ day; </p><p>  if(m_strBookNo == ""){&l

122、t;/p><p>  MessageBox("請輸入圖書編號");</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  if(m_strNumber == ""){</p><p&g

123、t;  MessageBox("請輸入圖書數(shù)量");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  CBookSet m_BookSet;</p><p><b>  try{</b><

124、/p><p>  if(m_BookSet.IsOpen()){</p><p>  m_BookSet.Close();</p><p>  m_BookSet.m_pDatabase->Close();</p><p><b>  }</b></p><p>  m_BookSet.m_st

125、rFilter.Format("bookno = '%s'",m_strBookNo);</p><p>  m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none);</p><p>  // 如果庫中無此書,則增加</p><p>  if(m_BookSet.I

126、sEOF()){</p><p>  m_BookSet.AddNew();</p><p>  m_BookSet.m_bookno = m_strBookNo;</p><p>  m_BookSet.m_number = atoi(m_strNumber);</p><p>  m_BookSet.m_bookname = m_strB

127、ookName;</p><p>  m_BookSet.m_bookbn = m_strBookBn;</p><p>  m_BookSet.m_booktypename = m_strBookType;</p><p>  m_BookSet.m_pubname = m_strPublisher;</p><p>  m_BookS

128、et.m_author = m_strAuthor;</p><p>  m_BookSet.m_price = atof(m_strPrice);</p><p>  m_BookSet.m_date = time;</p><p><b>  }</b></p><p><b>  else{</b

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論