畢業(yè)設(shè)計(jì)VB書店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第1頁(yè)
畢業(yè)設(shè)計(jì)VB書店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第2頁(yè)
畢業(yè)設(shè)計(jì)VB書店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第3頁(yè)
畢業(yè)設(shè)計(jì)VB書店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第4頁(yè)
畢業(yè)設(shè)計(jì)VB書店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、摘 要在當(dāng)今社會(huì),隨著計(jì)算機(jī)的發(fā)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,日常管理工作應(yīng)該從以前繁瑣的事務(wù)中解放出來,從而提高了工作效率。目前在大的書店應(yīng)有一整套比較完整的信息管理系統(tǒng),而在一般小型的書店中大部分工作還是進(jìn)行著手工管理,工作效率很低,并且不能及時(shí)了解書店各類圖書的庫(kù)存,讀者需求的圖書難以在短時(shí)間里找到圖書的入庫(kù)和更新比較麻煩等,不便于動(dòng)態(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)的“入庫(kù)-銷售-盤點(diǎn)”基礎(chǔ)上,進(jìn)一步提供全方位的信息服務(wù)。根據(jù)小型書店的規(guī)模和經(jīng)濟(jì)能力,本

2、系統(tǒng)具有書店管理系統(tǒng)的基本功能,如圖書管理入庫(kù)管理銷售管理綜合查詢系統(tǒng)管理等,并且界面簡(jiǎn)單操作簡(jiǎn)便。作為一種該研究方向的實(shí)踐性探索,本圖書銷售管理系統(tǒng)旨在提供一個(gè)可以操作的,方便查詢,易于修改的輔助管理系統(tǒng),以滿足當(dāng)前小型書店在管理實(shí)踐和業(yè)務(wù)操作中的具體需求。關(guān)鍵詞 書店管理 管理系統(tǒng) 輔助管理 軟件開發(fā)abstractthis thesis with practical application is concerning about developing programme of the managing system in bookshops.nowadays, with rapid de

3、veloping of computers and 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 information managing system which is complete and well-working

4、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-cost. worse still, it is quite impossible for them to access to updated information on stock and reserve, being unable restructure promptl

5、y and dynamically since it is very hard to update and purchase new books and periodicals. in addition, readers cannot find out what they need as soon as possible. on the other hand, inevitably, the loss of data and imprecise delivery is rising. considering a strong desire to meet the need of sales a

6、nd reliving heavy pressure from management by hand, sales managing system has been developed to provide clients with all-levels of information services, helping it be transferred from traditional services: “purchasesalesinventory” to new concept of information services.according to the running scale

7、s and the capacity of economy, this system has basic functions such as books management, purchasing management, sales management, system management, comprehensive search, and so on. moreover, it shows simple interface and processing convenience. as an explore with practical meaning, the aim of this

8、system is to offer a user-friendly and supplementary managing system to satisfy detailed needs of managing practice and business process. key words developing programme; sales managing system ;books management; business process ;managing system in bookshops.i目錄摘 要i0 前言11 需求分析21.1系統(tǒng)需求21.2功能需求22 性能需求3

9、3 總體設(shè)計(jì)44 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)84.1系統(tǒng)主控平臺(tái)84.2權(quán)限設(shè)置模塊94.3權(quán)限設(shè)置模塊的實(shí)現(xiàn)94.4 圖書銷售模塊104.5圖書入庫(kù)模塊194.6圖書信息設(shè)置模塊21結(jié)論39致謝40參 考 文 獻(xiàn)41遼寧科技學(xué)院繼續(xù)教育學(xué)院畢業(yè)設(shè)計(jì)(論文)0 前言在當(dāng)今社會(huì),隨著計(jì)算機(jī)的發(fā)展及網(wǎng)絡(luò)技術(shù)的應(yīng)用,日常管理工作應(yīng)該從以前繁瑣的事務(wù)中解放出來,從而提高了工作效率。目前在大的書店已經(jīng)有一整套比較完整的信息管理系統(tǒng),而在一般小型的書店中大部分工作還是進(jìn)行著手工管理,工作效率很低,并且不能及時(shí)了解書店各類圖書的庫(kù)存,讀者需求的圖書難以在短時(shí)間里找到,圖書的入庫(kù)和更新比較麻煩等,不便于動(dòng)態(tài)及時(shí)調(diào)整圖書結(jié)

10、構(gòu)。同時(shí)由于不可避免的人為因素,造成數(shù)據(jù)的遺漏,誤報(bào)等。使用計(jì)算機(jī)對(duì)書店圖書信息進(jìn)行管理,具有手工所無法比擬的優(yōu)點(diǎn)。例如:檢索迅速查找方便可靠性高保密性好壽命長(zhǎng)成本低高效率對(duì)進(jìn)書有較好的預(yù)測(cè)性等。為了更好地適應(yīng)當(dāng)前書店的銷售需求,緩解手工管理存在的弊端,開發(fā)了書店管理系統(tǒng),該系統(tǒng)向用戶提供的服務(wù)將在傳統(tǒng)的“入庫(kù)-銷售-盤點(diǎn)”基礎(chǔ)上,進(jìn)一步提供全方位的信息服務(wù)。它具有以下幾個(gè)特點(diǎn):1、可以存儲(chǔ)店中所有圖書的資料以及庫(kù)存情況,具有安全,高效的特性。2、只需一到二名檔案錄入員即可操作系統(tǒng),節(jié)省大量人力。3、可以迅速查到所需信息。4、系統(tǒng)對(duì)軟,硬件方面的需求不高,軟件要求易學(xué),容易掌握,可以很簡(jiǎn)單方便

11、地管理圖書信息。硬件的配置要求不能太高,這樣可以很好的適應(yīng)當(dāng)前的各類書店。總之,圖書銷售管理系統(tǒng)旨在提供一個(gè)可以操作的,方便查詢,易于修改的輔助管理系統(tǒng)。同時(shí)提供了系統(tǒng)智能輔助與用戶選擇兩種方式,提高查詢效率。1 需求分析 1.1系統(tǒng)需求 書店管理系統(tǒng)需要滿足來自三個(gè)方面需求:第一,書店工作人員通過計(jì)算機(jī)來管理各類圖書,進(jìn)行圖書分類編號(hào),調(diào)整圖書結(jié)構(gòu),增加圖書庫(kù)存,適應(yīng)讀者的需求。第二,工作人員對(duì)讀者的需求情況能作好全面的掌握,及時(shí)得到歷史銷售記錄。第三,也是書店的核心工作,對(duì)圖書的銷售管理。1.2功能需求基于系統(tǒng)需求分析,該系統(tǒng)需要實(shí)現(xiàn)以下基本功能:1.2.1權(quán)限設(shè)置本系統(tǒng)的使用用戶分兩種:

12、管理員和普通用戶。管理員具有使用本系統(tǒng)的所有功能,而普通用戶是需要具有日常書店的管理功能即可。用戶權(quán)限的設(shè)置通過用戶登陸界面的輸入來進(jìn)行。1.2.2圖書銷售圖書管理人員通過此模塊來銷售各類圖書并對(duì)銷售情況進(jìn)行記錄,記錄的信息包括圖書銷售的數(shù)量,價(jià)格,折扣比例等。在進(jìn)行銷售圖書時(shí),輸入圖書的編號(hào),系統(tǒng)就可以搜索到該圖書編號(hào)對(duì)應(yīng)的圖書信息,然后列出該圖書銷售是需要的基本信息,書名,出版社價(jià)格等。銷售可以輸入折扣數(shù)以便打折,在購(gòu)買相同的多本書時(shí),可以直接輸入圖書數(shù)量,避免重復(fù)輸入圖書編號(hào)。同時(shí),也提供撤銷銷售記錄的功能,銷售員可以撤銷銷售時(shí)的上一條記錄。程序還能自動(dòng)統(tǒng)計(jì)讀者購(gòu)買的總金額,便于銷售員掌

13、握。1.2.3圖書入庫(kù)書店工作人員通過此模塊來管理各類圖書庫(kù)存的數(shù)目。當(dāng)一批圖書入庫(kù)時(shí),只需要輸入圖書編號(hào)和圖書數(shù)量,程序?qū)⒆詣?dòng)更改庫(kù)存的圖書數(shù)量。使用的公式為:現(xiàn)有圖書庫(kù)存=原有圖書庫(kù)存 + 新入庫(kù)圖書數(shù)量。1.2.4圖書信息設(shè)置書店工作人員通過次模塊來管理各類圖書信息,包括圖書信息的修改,刪除等。在進(jìn)行圖書的刪除時(shí),要首先彈出提示窗口讓用戶確認(rèn)是否刪除,只有在用戶確認(rèn)后才能夠進(jìn)行圖書的刪除。在進(jìn)行圖書的修改時(shí),根據(jù)用戶選定的書進(jìn)行修改,即列出所有用戶選定的信息,在這個(gè)基礎(chǔ)上進(jìn)行圖書信息的修改。1.2.5綜合查詢綜合查詢提供兩種功能,通過它可以查詢讀者所需要的圖書信息和銷售情況。圖書信息查詢

14、提供了用包括圖書編號(hào)和圖書名稱來對(duì)圖書信息進(jìn)行查詢的各種查詢條件,讀者可以根據(jù)查詢方式和條件來進(jìn)行所需圖書的查詢。同時(shí),在查詢時(shí)還提供了進(jìn)行模糊查詢的功能,即該模塊能夠利用讀者輸入的非完整的查詢條件進(jìn)行查詢,例如,讀者在書籍編號(hào)大查詢條件中輸入“06”,系統(tǒng)就能夠查出所有書籍編號(hào)包括“06”的圖書,像“1006”,“0600”等。這樣更加方便了讀者的查詢。銷售查詢提供了按銷售的流水帳方式查詢,查詢時(shí)可以得到一段時(shí)間圖書銷售情況。1.2.6系統(tǒng)設(shè)置包括圖書分類設(shè)置,出版社設(shè)置和用戶管理等工作。在該模塊中工作人員可以進(jìn)行添加和刪除各類圖書所屬分類的名稱,圖書出版社,同時(shí)還可進(jìn)行系統(tǒng)用戶登陸的一些管

15、理,包括添加,刪除用戶,更改用戶的登陸密碼等。1.2.7數(shù)據(jù)庫(kù)管理對(duì)現(xiàn)有數(shù)據(jù)庫(kù)進(jìn)行管理,包括數(shù)據(jù)庫(kù)備份和恢復(fù),以方便用戶對(duì)數(shù)據(jù)庫(kù)的管理和維護(hù)工作,提高管理的數(shù)據(jù)庫(kù)安全性。2 性能需求1.3.1硬件環(huán)境在最低配置的情況下,系統(tǒng)的性能往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當(dāng)出色,而且價(jià)格也很便宜,因此通常給服務(wù)器配置高性能硬件。處理器:intel pentium ii 266 mx 或更高內(nèi)存: 64m硬盤空間:2 gb顯卡:svga顯示適配器1.3.2軟件環(huán)境操作系統(tǒng):windows 98/me/2000/xp數(shù)據(jù)庫(kù):microsoft access 20003 總體設(shè)計(jì)3.1基本設(shè)計(jì)概念和處理流

16、程本系統(tǒng)主要針對(duì)小型書店的規(guī)模小,手工處理繁瑣的情況,實(shí)現(xiàn)了書店日常管理的基本功能,操作簡(jiǎn)單方便上手快。另外,基于成本以及安全的考慮,假設(shè)本系統(tǒng)是一個(gè)相對(duì)封閉的單機(jī)運(yùn)行系統(tǒng),不提供于其它系統(tǒng)的實(shí)時(shí)數(shù)據(jù)交互。本系統(tǒng)采用visual c+ 6.0開發(fā),采用microsoft access 2000 作為后臺(tái)數(shù)據(jù)庫(kù),在滿足需求的前提下,將系統(tǒng)對(duì)運(yùn)行環(huán)境的性能要求降到最低。系統(tǒng)基本流程是:用戶登陸-主界面-選擇各項(xiàng)功能。3.2系統(tǒng)層次模塊圖根據(jù)需求分析的結(jié)果,本系統(tǒng)主要?jiǎng)澐忠韵?個(gè)子模塊:權(quán)限驗(yàn)證圖書銷售圖書入庫(kù)圖書信息設(shè)置綜合查詢系統(tǒng)設(shè)置數(shù)據(jù)庫(kù)管理等主要的系統(tǒng)。如圖1所示。系統(tǒng)業(yè)務(wù)處理流程如圖2所示

17、。 (圖1) 書店管理系統(tǒng)主模塊用戶數(shù)據(jù)庫(kù)用戶信息錄入用戶設(shè)置系統(tǒng)設(shè)置出版社數(shù)據(jù)庫(kù)出版社信息錄入出版社設(shè)置圖書類型數(shù)據(jù)庫(kù)圖書類型設(shè)置圖書類型錄入圖書信息錄入圖書數(shù)據(jù)庫(kù)圖書入庫(kù)或圖書信息設(shè)置銷售信息錄入圖書銷售數(shù)據(jù)庫(kù)圖書銷售綜合查詢輸出查詢結(jié)果銷售查詢輸出查詢結(jié)果圖書查詢 (圖 2) 系統(tǒng)業(yè)務(wù)處理流程圖3.3數(shù)據(jù)庫(kù)設(shè)計(jì)鑒于odbc(open database connectivity)是用于數(shù)據(jù)庫(kù)訪問的應(yīng)用最廣泛的應(yīng)用程序編程接口,它允許應(yīng)用程序使用相同的代碼訪問不同的數(shù)據(jù)庫(kù)管理系統(tǒng)(dbms),本系統(tǒng)采用odbc的方式訪問數(shù)據(jù)庫(kù)。 3.3.1數(shù)據(jù)庫(kù)介紹 access 2000數(shù)據(jù)庫(kù)管理系統(tǒng)是m

18、icrosoft office 的重要組成部分,適用于小型商務(wù)活動(dòng),用以存儲(chǔ)和管理商務(wù)活動(dòng)所需要的數(shù)據(jù)。access不僅是一個(gè)數(shù)據(jù)庫(kù),而且它具有強(qiáng)大的管理功能。3.3.2使用odbc數(shù)據(jù)庫(kù)接口訪問數(shù)據(jù)庫(kù)odbc(open database connectivity, 開放數(shù)據(jù)庫(kù)互連)是微軟公司開放服務(wù)結(jié)構(gòu)(wosa, windows open services architectrue)中有關(guān)數(shù)據(jù)庫(kù)的一個(gè)組成部分,它建立了一組規(guī)范,并提供了一組對(duì)數(shù)據(jù)庫(kù)訪問的標(biāo)準(zhǔn)api(應(yīng)用程序編程接口)。本系統(tǒng)通過visual c+封裝的odbc api即mfc odbc類對(duì)access數(shù)據(jù)庫(kù)進(jìn)行操作。把a(bǔ)c

19、cess數(shù)據(jù)庫(kù)注冊(cè)到odbc驅(qū)動(dòng)程序管理器,由mfc odbc類生成相應(yīng)的表類。在此基礎(chǔ)上進(jìn)行添加,修改,刪除等操作。使用mfc odbc的時(shí)候,windows的odbc管理程序把數(shù)據(jù)庫(kù)訪問的請(qǐng)求傳遞給正確的驅(qū)動(dòng)程序,驅(qū)動(dòng)程序在使用sql語句指示dbms(database management system,數(shù)據(jù)庫(kù)管理系統(tǒng))完成數(shù)據(jù)庫(kù)訪問工作。 3.3.3數(shù)據(jù)庫(kù)需求分析根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,對(duì)于本系統(tǒng)的數(shù)據(jù)庫(kù),可以列出以下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):(1)圖書信息表-bookinfo數(shù)據(jù)來源:銷售管理模塊-圖書入庫(kù)或圖書信息設(shè)置中進(jìn)行錄入名 稱字 段 名 稱類 型主 鍵非 空book

20、no書籍編號(hào)文本 是 是pubname出版社編號(hào)文本 否 否booktypename圖書類型文本 否 否bookbn代碼簡(jiǎn)寫文本 否 否author作者姓名文本 否 否price書籍價(jià)格數(shù)字 否 否bookname圖書名稱文本 否 否number圖書數(shù)量數(shù)字 否 是date入庫(kù)時(shí)間文本 否 否(2) 圖書銷售表-booksale數(shù)據(jù)來源:銷售管理模塊-圖書銷售中進(jìn)行錄入名 稱字 段 名 稱類 型主 鍵非 空saleno銷售數(shù)目自動(dòng)編號(hào)是 是bookno銷售圖書編號(hào)文本 否 是bookname銷售圖書名文本 否 否author銷售圖書作者文本 否 否publisher銷售圖書出版社文本 否 否p

21、rice銷售圖書價(jià)格數(shù)字 否 是discount打折數(shù)字 否 是number銷售圖書數(shù)量數(shù)字 否 是moneysum金額數(shù)字 否 是date銷售日期數(shù)字否 是(3)圖書銷售臨時(shí)表-tempbooksale數(shù)據(jù)來源:銷售管理模塊-圖書銷售中進(jìn)行錄入并清空名 稱字 段 名 稱類 型主 鍵非 空tempsaleno銷售次數(shù)自動(dòng)編號(hào) 是 是bookno圖書編號(hào)文本 否 是bookname圖書名稱文本 否 否author圖書作者文本 否 否publisher出版社文本 否 否number圖書數(shù)量數(shù)字 否 是price價(jià)格數(shù)字 否 是discount打折數(shù)字 否 是date銷售日期數(shù)字 否 是sum圖書最

22、后價(jià)格數(shù)字 否 是(4)出版社信息表-publisherinfo數(shù)據(jù)來源:系統(tǒng)設(shè)置-出版社設(shè)置中進(jìn)行錄入名 稱字 段 名 稱類 型主 鍵非 空pubno出版社編號(hào)自動(dòng)增長(zhǎng) 是 是pubname出版社名稱 文本 否 是(5)圖書類別表-booktypeinfo 數(shù)據(jù)來源:系統(tǒng)設(shè)置-圖書類別設(shè)置中進(jìn)行錄入名 稱字 段 名 稱類 型主 鍵非 空booktypeno圖書類別編號(hào)自動(dòng)增長(zhǎng) 是 是booktypename圖書類別名稱 文本 否 是(6)系統(tǒng)用戶信息表-userinfo數(shù)據(jù)來源:系統(tǒng)管理模塊-用戶設(shè)置中進(jìn)行錄入名 稱字 段 名 稱類 型 主 鍵非 空userid用戶編號(hào)自動(dòng)增長(zhǎng) 是 是use

23、rname用戶名文本 否 是userpassword用戶密碼 文本 否 否isadmin用戶權(quán)限 是/否 否 是3.3.5數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的表之間相互關(guān)聯(lián)可以保證數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性,但是很有限。由程序代碼來實(shí)現(xiàn)能更好的檢查數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性。所以本系統(tǒng)的數(shù)據(jù)庫(kù)表相互獨(dú)立。4 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)4.1系統(tǒng)主控平臺(tái)4.1.1主控平臺(tái)界面的設(shè)計(jì) 充分考慮易于操作的系統(tǒng)需求,主控制平臺(tái)使用簡(jiǎn)單和直觀的布局設(shè)計(jì)。.4.1.2主控平臺(tái)界面的實(shí)現(xiàn)(1)主體框架:使用mfc appwizard創(chuàng)建一個(gè)單文檔結(jié)構(gòu)的應(yīng)用程序工程,建立起系統(tǒng)主體框架,生成應(yīng)用程序類(cbookshopmisapp)文檔類(cb

24、ookshopmisdoc)視圖類(cbookshopmisview)和主框架類(cmainfram).(2)菜單:根據(jù)系統(tǒng)總體設(shè)計(jì)中功能模塊的劃分,使用資源編輯器創(chuàng)建系統(tǒng)菜單。4.2權(quán)限設(shè)置模塊 此模塊主要是根據(jù)用戶輸入的名稱和密碼驗(yàn)證用戶身份并且決定用戶的操作權(quán)限,并把用戶信息設(shè)置到當(dāng)前用戶類中。4.2.1權(quán)限設(shè)置ipo圖輸入:用戶名和密碼處理: (1)程序開始啟動(dòng)系統(tǒng)登陸對(duì)話框。(2)用戶輸入用戶名和密碼。(3)從用戶表中檢查是否有相應(yīng)的用戶名和密碼。(4)如果用戶名或密碼錯(cuò)誤,進(jìn)行提示;如果錯(cuò)誤次數(shù)達(dá)到三次,則提示并退出。(5)如果正確,則根據(jù)該用戶的權(quán)限類別進(jìn)行權(quán)限設(shè)置。(6)進(jìn)入主

25、程序界面輸出:主程序界面4.3權(quán)限設(shè)置模塊的實(shí)現(xiàn)通過定義clogindialog類來實(shí)現(xiàn)權(quán)限設(shè)置模塊功能。其主要代碼如下:(1) 根據(jù)用戶名和密碼驗(yàn)證用戶身份和分配權(quán)限/在登陸按鈕被點(diǎn)擊后,進(jìn)行權(quán)限驗(yàn)證。void clogindialog:onok() updatedata(true);cuserset m_userset;cbookshopmisapp *ptheapp = (cbookshopmisapp *)afxgetapp();tryif(m_userset.isopen()m_userset.close();m_userset.m_strfilter.format( usernam

26、e= %s and userpassword = %s,m_strusername, m_struserpwd);m_userset.open(crecordset:snapshot, null, crecordset:none); if(m_userset.iseof() m_userset.close(); if(+i = 3) afxmessagebox(很抱歉,您的輸入錯(cuò)誤次數(shù)已達(dá)到3次.n系統(tǒng)即將退出.);exit(1); afxmessagebox(密碼錯(cuò)誤, 請(qǐng)重試!); return; elseptheapp-m_presentuser.setuserinfo(m_userse

27、t.m_username,m_userset.m_userpassword,m_userset.m_isadmin);m_userset.close();afxmessagebox(密碼正確,登陸成功!); catch(cdbexception *e)e-reporterror();return;cdialog:onok();4.4 圖書銷售模塊1圖書銷售ipo圖輸入:圖書編號(hào)圖書數(shù)量和折扣(缺省為不打折)。處理:(1) 圖書銷售對(duì)話框啟動(dòng)(2) 用戶輸入圖書編號(hào),并點(diǎn)擊 “搜索” 按鈕,系統(tǒng)進(jìn)行圖書搜索(3) 如果無此編號(hào)的圖書,進(jìn)行提示;反之,則列出該圖書的基本信息。(4) 輸入圖書數(shù)量,

28、然后,按回車鍵計(jì)算出該筆銷售的金額。(5) 按“下一本”按鈕,則進(jìn)行下一本書的銷售。(6) 按“結(jié)賬”按鈕,則完成此次的銷售功能。并算出總金額。(7) 點(diǎn)擊銷售列表,按“撤銷”按鈕,則取消該書的銷售。(8) 按“退出”按鈕,則退出圖書銷售。輸出:更新圖書信息表和圖書銷售表。2、圖書銷售模塊的實(shí)現(xiàn)根據(jù)圖書銷售模塊的ipo圖,通過定義cbooksaledialog類來實(shí)現(xiàn)圖書銷售模塊的功能。其主要實(shí)現(xiàn)代碼如下:(1) cbooksaledialog類使用的圖書信息表記錄集cbookset圖書銷售表記錄集cbooksaleset和臨時(shí)圖書銷售表記錄集ctempsaleset.,操作完成后,更新和調(diào)整

29、圖書信息表,增加圖書銷售表記錄,臨時(shí)銷售表為空。(2) 圖書銷售。流程: 選擇圖書編號(hào)-點(diǎn)擊搜索按鈕-輸入圖書折扣和圖書數(shù)量-回車鍵-點(diǎn)擊下一本-或結(jié)賬-退出。/ 根據(jù)圖書編號(hào)進(jìn)行搜索,如果存在,則顯示圖書詳細(xì)信息void cbooksaledialog:onbuttonsearch() updatedata(true);if(m_strbookno = ) messagebox(圖書編號(hào)不能為空);return ;cbookset m_bookset;try m_bookset.m_strfilter.format(bookno = %s,m_strbookno); m_bookset.op

30、en(crecordset:snapshot, null, crecordset:none); if(m_bookset.iseof() | (m_bookset.m_number = 0) m_bookset.close(); afxmessagebox(該編號(hào)的圖書不存在,請(qǐng)重新輸入編號(hào)!); resetmembers();return;cstring strtemp;strtemp.format(%d,m_bookset.m_number);m_strbookname = m_bookset.m_bookname;m_strpublisher = m_bookset.m_pubname;

31、m_strauthor = m_bookset.m_author;cstring tempprice;tempprice.format(%.2f,m_bookset.m_price);m_strprice = tempprice; /m_bookset.m_price;m_bookset.close();updatedata(false);catch(cdbexception *e)e-reporterror();/ 計(jì)算銷售值void cbooksaledialog:onok() updatedata(true);if(m_strnumber = )messagebox(請(qǐng)輸入銷售圖書數(shù)量)

32、;return;float tempfianalprice;tempfianalprice = atoi(m_strnumber) * atof(m_strprice) * atoi(m_strdiscount) / 100;m_strfianalprice.format(%.2f,tempfianalprice);updatedata(false);/ 下一本void cbooksaledialog:onbuttonnext() updatedata(true);if(m_strbookno = )messagebox(請(qǐng)輸入要銷售圖書的編號(hào));return;if(m_strnumber =

33、 )messagebox(請(qǐng)輸入要銷售圖書的數(shù)量);return;if(atoi(m_strnumber) =0)messagebox(銷售圖書數(shù)量不能少于一本);return;if(m_strdiscount = )messagebox(請(qǐng)輸入該書要打幾折);return;/ 獲取當(dāng)前時(shí)間ctime t;t = ctime:getcurrenttime();cstring time = ;cstring year;cstring month;cstring day;year.format(%d,t.getyear();month.format(%d,t.getmonth();if(t.get

34、month() 9)month = 0 + month;day.format(%d,t.getday();if(t.getday() 9)day = 0 + day;time = year + month + day;cbookset m_bookset;ctempsaleset m_tempsaleset;int tempnumber;trym_bookset.m_strfilter.format(bookno = %s,m_strbookno);m_bookset.open(crecordset:snapshot, null, crecordset:none);if(!m_bookset.

35、iseof()tempnumber = m_bookset.m_number - atoi(m_strnumber);if(tempnumber close();/ 添加銷售的圖書到臨時(shí)銷售表m_tempsaleset.open();m_tempsaleset.addnew();m_tempsaleset.m_author = m_strauthor;m_tempsaleset.m_publisher = m_strpublisher;m_tempsaleset.m_bookname = m_strbookname;m_tempsaleset.m_bookno = m_strbookno;m_

36、tempsaleset.m_number = atoi(m_strnumber);m_tempsaleset.m_discount = atoi(m_strdiscount);m_tempsaleset.m_sum = atof(m_strfianalprice);m_tempsaleset.m_price = atof(m_strprice);m_tempsaleset.m_date = atol(time);m_tempsaleset.update();m_tempsaleset.close();m_tempsaleset.m_pdatabase-close();/ 顯示在銷售列表中m_t

37、empsaleset.open();m_tempsaleset.movelast();int pos = m_listsale.getitemcount();cstring tempnumber;cstring tempprice;cstring tempdiscount;cstring tempsum;tempnumber.format(%d,m_tempsaleset.m_number);tempprice.format(%.2f,m_tempsaleset.m_price);tempdiscount.format(%d,m_tempsaleset.m_discount);tempsum.

38、format(%.2f,m_tempsaleset.m_sum);m_listsale.insertitem(pos, m_tempsaleset.m_bookname);m_listsale.setitemtext(pos,1,tempnumber);m_listsale.setitemtext(pos,2,tempprice);m_listsale.setitemtext(pos,3,tempdiscount);m_listsale.setitemtext(pos,4,tempsum);m_tempsaleset.close();resetmembers();catch(cdbexcept

39、ion *e)e-reporterror();return;/ 結(jié)賬void cbooksaledialog:onbuttonbill() updatedata(); if(m_strbookno != )onbuttonnext(); float m_sum = 0; ctempsaleset m_tempsaleset; cbooksaleset m_booksaleset; try m_tempsaleset.open(); m_booksaleset.open(); m_tempsaleset.movefirst(); while(! m_tempsaleset.iseof() /算出

40、總銷售額 m_sum = m_sum + m_tempsaleset.m_sum; /- 添加進(jìn)銷售列表中- m_booksaleset.addnew(); m_booksaleset.m_author = m_tempsaleset.m_author; m_booksaleset.m_bookname = m_tempsaleset.m_bookname; m_booksaleset.m_bookno = m_tempsaleset.m_bookno; m_booksaleset.m_date = m_tempsaleset.m_date; m_booksaleset.m_discount

41、= m_tempsaleset.m_discount; m_booksaleset.m_number = m_tempsaleset.m_number; m_booksaleset.m_price = m_tempsaleset.m_price; m_booksaleset.m_moneysum = m_tempsaleset.m_sum; m_booksaleset.m_publisher = m_tempsaleset.m_publisher; m_booksaleset.update(); /- m_tempsaleset.delete(); m_tempsaleset.movenext

42、(); m_tempsaleset.close(); m_tempsaleset.m_pdatabase-close(); m_booksaleset.close(); m_booksaleset.m_pdatabase-close(); catch(cdbexception *e)e-reporterror();return; m_strsalesum.format(%.2f,m_sum); updatedata(false);(3) 撤銷功能。流程:點(diǎn)擊銷售列表,點(diǎn)擊撤銷按鈕即可完成。void cbooksaledialog:onbuttoncancel() int i = m_lists

43、ale.getselectionmark();cstring bookname = m_listsale.getitemtext(i, 0);int tempnumber = 0;if(i close(); / 恢復(fù)圖書原先數(shù)量cbookset m_bookset;m_bookset.m_strfilter.format(bookname = %s, bookname);m_bookset.open(crecordset:snapshot, null, crecordset:none);if(!m_bookset.iseof()m_bookset.edit();m_bookset.m_numb

44、er = m_bookset.m_number + tempnumber;m_bookset.update();m_bookset.close();m_bookset.m_pdatabase-close();listsale();4.5圖書入庫(kù)模塊4.5.1圖書入庫(kù)模塊ipo圖輸入:圖書編號(hào)和圖書數(shù)量處理:圖書入庫(kù)對(duì)話框啟動(dòng)。等待用戶輸入圖書的編號(hào)和數(shù)量,可以在此輸入圖書詳細(xì)信息,但不是必需的。將圖書添加到圖書信息表中輸出:更新圖書信息表4.5.2圖書入庫(kù)模塊的實(shí)現(xiàn)根據(jù)圖書入庫(kù)模塊的ipo圖,通過定義cbookinputdialog類來實(shí)現(xiàn)該模塊的主體功能。 相關(guān)的記錄集類cbookset。

45、新書錄入。處理過程:判斷用戶是否全部輸入必填的圖書信息,然后根據(jù)用戶輸入的圖書編號(hào)查詢圖書信息表是否有重復(fù)編號(hào),是則在原有圖書信息基礎(chǔ)上增加圖書的數(shù)量;否則添加新的圖書記錄在圖書信息表中。/ 添加圖書到圖書信息庫(kù)中void cbookinputdialog:onbuttonsaveandgoon() updatedata(true);ctime t;t = ctime:getcurrenttime();cstring time = ;cstring year;cstring month;cstring day;year.format(%d,t.getyear();month.format(%d

46、,t.getmonth();day.format(%d,t.getday();time = year + - + month + -+ day; if(m_strbookno = )messagebox(請(qǐng)輸入圖書編號(hào));return ;if(m_strnumber = )messagebox(請(qǐng)輸入圖書數(shù)量);return;cbookset m_bookset;tryif(m_bookset.isopen()m_bookset.close();m_bookset.m_pdatabase-close();m_bookset.m_strfilter.format(bookno = %s,m_st

47、rbookno);m_bookset.open(crecordset:snapshot, null, crecordset:none);/ 如果庫(kù)中無此書,則增加if(m_bookset.iseof()m_bookset.addnew();m_bookset.m_bookno = m_strbookno;m_bookset.m_number = atoi(m_strnumber);m_bookset.m_bookname = m_strbookname; m_bookset.m_bookbn = m_strbookbn;m_bookset.m_booktypename = m_strbookt

48、ype;m_bookset.m_pubname = m_strpublisher;m_bookset.m_author = m_strauthor;m_bookset.m_price = atof(m_strprice);m_bookset.m_date = time;elsem_bookset.edit();m_bookset.m_number = m_bookset.m_number + atoi(m_strnumber);m_bookset.m_date = time;m_bookset.update();m_bookset.close();m_bookset.m_pdatabase-close();catch(cdbexception *e)e-reporterror();onbuttonadd(); 4.6圖書信息設(shè)置模塊圖書信息模塊由圖書的信息設(shè)置和圖書的刪除功能。4.6.1圖書信息設(shè)置模塊ipo圖輸入:圖書編號(hào)處理:圖書信息設(shè)置對(duì)話框啟動(dòng)。根據(jù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論