版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 摘 要</b></p><p> 本文是關于書店管理系統(tǒng)的相關軟件開發(fā)的一篇實踐性論文。</p><p> 在當今社會,隨著計算機的發(fā)展及網(wǎng)絡技術的應用,日常管理工作應該從以前繁瑣的事務中解放出來,從而提高了工作效率。目前在大的書店應有一整套比較完整的信息管理系統(tǒng),而在一般小型的書店中大部分工作還是進行著手工管理,工作效率很低,并且
2、不能及時了解書店各類圖書的庫存,讀者需求的圖書難以在短時間里找到﹑圖書的入庫和更新比較麻煩等,不便于動態(tài)及時調整圖書結構。同時由于不可避免的人為因素,造成數(shù)據(jù)的遺漏﹑誤報等。為了更好地適應當前書店的銷售需求,緩解手工管理存在的弊端,開發(fā)了書店管理系統(tǒng),該系統(tǒng)向用戶提供的服務將在傳統(tǒng)的“入庫->銷售->盤點”基礎上,進一步提供全方位的信息服務。</p><p> 根據(jù)小型書店的規(guī)模和經(jīng)濟能力,本系統(tǒng)具
3、有書店管理系統(tǒng)的基本功能,如圖書管理﹑入庫管理﹑銷售管理﹑綜合查詢﹑系統(tǒng)管理等,并且界面簡單﹑操作簡便。作為一種該研究方向的實踐性探索,本圖書銷售管理系統(tǒng)旨在提供一個可以操作的,方便查詢,易于修改的輔助管理系統(tǒng),以滿足當前小型書店在管理實踐和業(yè)務操作中的具體需求。</p><p> [關鍵詞] 書店管理 管理系統(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、權限設置(2)</p><p> 2、圖書銷售(2)</p><p> 3、圖書入庫(3)</p><p> 4、圖書信息設置(3)</p><p> 5、綜合查詢(3)</p><p> 6、系統(tǒng)設置
12、(4)</p><p> 7、數(shù)據(jù)庫管理(4)</p><p> ?。ㄈ┬阅苄枨螅?)</p><p> 1、硬件環(huán)境(4)</p><p> 2、軟件環(huán)境(4)</p><p> 三、總體設計(5)</p><p> (一)基本設計概念和處理流程(5)</p>
13、;<p> (二)系統(tǒng)層次模塊圖(5)</p><p> ?。ㄈ?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ù)庫概念結構設計(9)<
14、/p><p> 四、詳細設計與實現(xiàn)(9)</p><p> ?。ㄒ唬┫到y(tǒng)主控平臺(9)</p><p> 1、主控平臺界面的設計(9)</p><p> 2、主控平臺界面的實現(xiàn)(9)</p><p> (二)權限設置模塊(9)</p><p> 1、權限設置模塊IPO圖(10)
15、</p><p> 2、權限設置模塊的實現(xiàn)(10)</p><p> (三)圖書銷售模塊(11)</p><p> 1、圖書銷售模塊IPO圖(11)</p><p> 2、圖書銷售模塊的實現(xiàn)(12)</p><p> ?。ㄋ模﹫D書入庫模塊(17)</p><p> 1、圖書入
16、庫模塊IPO圖(17)</p><p> 2、圖書入庫模塊的實現(xiàn)(18)</p><p> ?。ㄎ澹﹫D書信息設置模塊(19)</p><p> 1、圖書信息設置模塊IPO圖(19)</p><p> 2、圖書信息設置模塊的實現(xiàn)(20)</p><p> (六)綜合查詢模塊(22)</p>
17、<p> 1、圖書查詢子模塊(22)</p><p> 2、銷售查詢子模塊(24)</p><p> (七)系統(tǒng)設置模塊(26)</p><p> ?。ò耍?shù)據(jù)庫管理模塊(31)</p><p> 1、數(shù)據(jù)庫管理模塊IPO圖(31) </p><p> 2、數(shù)據(jù)庫管理模塊的實現(xiàn)(32
18、)</p><p> 五、結論與體會(34)</p><p><b> 參考文獻(35)</b></p><p><b> 致謝(35)</b></p><p> 書店管理系統(tǒng)設計和實現(xiàn)</p><p><b> 前言</b></p
19、><p> 在當今社會,隨著計算機的發(fā)展及網(wǎng)絡技術的應用,日常管理工作應該從以前繁瑣的事務中解放出來,從而提高了工作效率。目前在大的書店已經(jīng)有一整套比較完整的信息管理系統(tǒng),而在一般小型的書店中大部分工作還是進行著手工管理,工作效率很低,并且不能及時了解書店各類圖書的庫存,讀者需求的圖書難以在短時間里找到,圖書的入庫和更新比較麻煩等,不便于動態(tài)及時調整圖書結構。同時由于不可避免的人為因素,造成數(shù)據(jù)的遺漏,誤報等。使用
20、計算機對書店圖書信息進行管理,具有手工所無法比擬的優(yōu)點。例如:檢索迅速﹑查找方便﹑可靠性高﹑保密性好﹑壽命長﹑成本低﹑高效率﹑對進書有較好的預測性等。</p><p> 為了更好地適應當前書店的銷售需求,緩解手工管理存在的弊端,開發(fā)了書店管理系統(tǒng),該系統(tǒng)向用戶提供的服務將在傳統(tǒng)的“入庫->銷售->盤點”基礎上,進一步提供全方位的信息服務。它具有以下幾個特點:</p><p>
21、 1、可以存儲店中所有圖書的資料以及庫存情況,具有安全,高效的特性。</p><p> 2、只需一到二名檔案錄入員即可操作系統(tǒng),節(jié)省大量人力。</p><p> 3、可以迅速查到所需信息。</p><p> 4、系統(tǒng)對軟,硬件方面的需求不高,軟件要求易學,容易掌握,可以很簡單方便地管理圖書信息。硬件的配置要求不能太高,這樣可以很好的適應當前的各類書店。<
22、;/p><p> 總之,圖書銷售管理系統(tǒng)旨在提供一個可以操作的,方便查詢,易于修改的輔助管理系統(tǒng)。同時提供了系統(tǒng)智能輔助與用戶選擇兩種方式,提高查詢效率。</p><p><b> 二、需求分析 </b></p><p><b> 系統(tǒng)需求 </b></p><p> 書店管理系統(tǒng)需要滿足來自三
23、個方面需求:第一,書店工作人員通過計算機來管理各類圖書,進行圖書分類編號,調整圖書結構,增加圖書庫存,適應讀者的需求。第二,工作人員對讀者的需求情況能作好全面的掌握,及時得到歷史銷售記錄。第三,也是書店的核心工作,對圖書的銷售管理。</p><p><b> 功能需求</b></p><p> 基于系統(tǒng)需求分析,該系統(tǒng)需要實現(xiàn)以下基本功能:</p>
24、<p><b> 1、權限設置</b></p><p> 本系統(tǒng)的使用用戶分兩種:管理員和普通用戶。管理員具有使用本系統(tǒng)的所有功能,而普通用戶是需要具有日常書店的管理功能即可。用戶權限的設置通過用戶登陸界面的輸入來進行。</p><p><b> 2、圖書銷售</b></p><p> 圖書管理人員通過此
25、模塊來銷售各類圖書并對銷售情況進行記錄,記錄的信息包括圖書銷售的數(shù)量,價格,折扣比例等。在進行銷售圖書時,輸入圖書的編號,系統(tǒng)就可以搜索到該圖書編號對應的圖書信息,然后列出該圖書銷售是需要的基本信息,書名,出版社﹑價格等。銷售可以輸入折扣數(shù)以便打折,在購買相同的多本書時,可以直接輸入圖書數(shù)量,避免重復輸入圖書編號。同時,也提供撤銷銷售記錄的功能,銷售員可以撤銷銷售時的上一條記錄。程序還能自動統(tǒng)計讀者購買的總金額,便于銷售員掌握。<
26、/p><p><b> 3、圖書入庫</b></p><p> 書店工作人員通過此模塊來管理各類圖書庫存的數(shù)目。當一批圖書入庫時,只需要輸入圖書編號和圖書數(shù)量,程序將自動更改庫存的圖書數(shù)量。使用的公式為:現(xiàn)有圖書庫存=原有圖書庫存 + 新入庫圖書數(shù)量。</p><p><b> 4、圖書信息設置</b></p>
27、;<p> 書店工作人員通過次模塊來管理各類圖書信息,包括圖書信息的修改,刪除等。在進行圖書的刪除時,要首先彈出提示窗口讓用戶確認是否刪除,只有在用戶確認后才能夠進行圖書的刪除。在進行圖書的修改時,根據(jù)用戶選定的書進行修改,即列出所有用戶選定的信息,在這個基礎上進行圖書信息的修改。</p><p><b> 5、綜合查詢</b></p><p>
28、綜合查詢提供兩種功能,通過它可以查詢讀者所需要的圖書信息和銷售情況。圖書信息查詢提供了用包括圖書編號和圖書名稱來對圖書信息進行查詢的各種查詢條件,讀者可以根據(jù)查詢方式和條件來進行所需圖書的查詢。同時,在查詢時還提供了進行模糊查詢的功能,即該模塊能夠利用讀者輸入的非完整的查詢條件進行查詢,例如,讀者在書籍編號大查詢條件中輸入“06”,系統(tǒng)就能夠查出所有書籍編號包括“06”的圖書,像“1006”,“0600”等。這樣更加方便了讀者的查詢。銷
29、售查詢提供了按銷售的流水帳方式查詢,查詢時可以得到一段時間圖書銷售情況。</p><p><b> 6、系統(tǒng)設置</b></p><p> 包括圖書分類設置,出版社設置和用戶管理等工作。在該模塊中工作人員可以進行添加和刪除各類圖書所屬分類的名稱,圖書出版社,同時還可進行系統(tǒng)用戶登陸的一些管理,包括添加,刪除用戶,更改用戶的登陸密碼等。</p><
30、;p><b> 7、數(shù)據(jù)庫管理</b></p><p> 對現(xiàn)有數(shù)據(jù)庫進行管理,包括數(shù)據(jù)庫備份和恢復,以方便用戶對數(shù)據(jù)庫的管理和維護工作,提高管理的數(shù)據(jù)庫安全性。</p><p><b> (三)性能需求</b></p><p><b> 1.硬件環(huán)境</b></p>&l
31、t;p> 在最低配置的情況下,系統(tǒng)的性能往往不盡如人意,現(xiàn)在的硬件性能已經(jīng)相當出色,而且價格也很便宜,因此通常給服務器配置高性能硬件。</p><p> ·處理器:Intel Pentium II 266 MX 或更高</p><p><b> ·內存: 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> 三﹑總體設計</b></p><p> (一) 基本設計概念和處理流程</p><p> 本系統(tǒng)主要針對小型書店的規(guī)模小,手工處理繁瑣的情況,實現(xiàn)了書店日常管理的基本功能,操作簡單方便﹑上手快。另外,基于成本以及安全的考慮,假設本系統(tǒng)是一個相對封閉的單機運行系統(tǒng),不提供于其它系統(tǒng)的實時數(shù)據(jù)交互。</p><p> 本系統(tǒng)
34、采用Visual C++ 6.0開發(fā),采用Microsoft Access 2000 作為后臺數(shù)據(jù)庫,在滿足需求的前提下,將系統(tǒng)對運行環(huán)境的性能要求降到最低。</p><p> 系統(tǒng)基本流程是:用戶登陸->主界面->選擇各項功能。</p><p> (二)系統(tǒng)層次模塊圖</p><p> 根據(jù)需求分析的結果,本系統(tǒng)主要劃分以下7個子模塊:權限驗證﹑
35、圖書銷售﹑圖書入庫﹑圖書信息設置﹑綜合查詢﹑系統(tǒng)設置﹑數(shù)據(jù)庫管理等主要的系統(tǒng)。如圖1所示。系統(tǒng)業(yè)務處理流程如圖2所示。</p><p> ?。▓D1) 書店管理系統(tǒng)主模塊</p><p> ?。▓D 2) 系統(tǒng)業(yè)務處理流程圖</p><p><b> (三)數(shù)據(jù)庫設計</b></p><p> 鑒于ODBC(Open D
36、atabase Connectivity)是用于數(shù)據(jù)庫訪問的應用最廣泛的應用程序編程接口,它允許應用程序使用相同的代碼訪問不同的數(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、務活動,用以存儲和管理商務活動所需要的數(shù)據(jù)。Access不僅是一個數(shù)據(jù)庫,而且它具有強大的管理功能。</p><p> 2、使用ODBC數(shù)據(jù)庫接口訪問數(shù)據(jù)庫</p><p> ODBC(Open Database Connectivity, 開放數(shù)據(jù)庫互連)是微軟公司開放服務結構(WOSA, Windows Open Services Architectrue)中有關數(shù)據(jù)庫的一個組成部
38、分,它建立了一組規(guī)范,并提供了一組對數(shù)據(jù)庫訪問的標準API(應用程序編程接口)。</p><p> 本系統(tǒng)通過Visual C++封裝的ODBC API即MFC ODBC類對Access數(shù)據(jù)庫進行操作。把Access數(shù)據(jù)庫注冊到ODBC驅動程序管理器,由MFC ODBC類生成相應的表類。在此基礎上進行添加,修改,刪除等操作。使用MFC ODBC的時候,Windows的ODBC管理程序把數(shù)據(jù)庫訪問的請求傳遞給正確
39、的驅動程序,驅動程序在使用SQL語句指示DBMS(Database Management System,數(shù)據(jù)庫管理系統(tǒng))完成數(shù)據(jù)庫訪問工作。 </p><p><b> 3、數(shù)據(jù)庫需求分析</b></p><p> 根據(jù)系統(tǒng)功能設計的要求以及功能模塊的劃分,對于本系統(tǒng)的數(shù)據(jù)庫,可以列出以下數(shù)據(jù)項和數(shù)據(jù)結構:</p><p> (1)圖書信
40、息表----bookinfo</p><p> 數(shù)據(jù)來源:銷售管理模塊----圖書入庫或圖書信息設置中進行錄入</p><p> (2) 圖書銷售表----booksale</p><p> 數(shù)據(jù)來源:銷售管理模塊----圖書銷售中進行錄入</p><p> (3)圖書銷售臨時表----tempbooksale</p>
41、<p> 數(shù)據(jù)來源:銷售管理模塊----圖書銷售中進行錄入并清空</p><p> (4)出版社信息表----publisherinfo</p><p> 數(shù)據(jù)來源:系統(tǒng)設置----出版社設置中進行錄入</p><p> (5)圖書類別表----booktypeinfo</p><p> 數(shù)據(jù)來源:系統(tǒng)設置----圖書類別
42、設置中進行錄入</p><p> (6)系統(tǒng)用戶信息表----userinfo</p><p> 數(shù)據(jù)來源:系統(tǒng)管理模塊----用戶設置中進行錄入</p><p> 4、數(shù)據(jù)庫概念結構設計</p><p> 數(shù)據(jù)庫的表之間相互關聯(lián)可以保證數(shù)據(jù)庫數(shù)據(jù)的一致性,但是很有限。由程序代碼來實現(xiàn)能更好的檢查數(shù)據(jù)庫數(shù)據(jù)的一致性。所以本系統(tǒng)的數(shù)據(jù)庫
43、表相互獨立。</p><p> 四、詳細設計與實現(xiàn) </p><p><b> (一)系統(tǒng)主控平臺</b></p><p> 1.主控平臺界面的設計 </p><p> 充分考慮易于操作的系統(tǒng)需求,主控制平臺使用簡單和直觀的布局設計。.</p><p> 2.主控平臺界面的實現(xiàn)<
44、/p><p> (1)主體框架:使用MFC AppWizard創(chuàng)建一個單文檔結構的應用程序工程,建立起系統(tǒng)主體框架,生成應用程序類(CBookShopMISApp)﹑文檔類(CBookShopMISDoc)﹑視圖類(CBookShopMISView)和主框架類(CMainFram).</p><p> (2)菜單:根據(jù)系統(tǒng)總體設計中功能模塊的劃分,使用資源編輯器創(chuàng)建系統(tǒng)菜單。</p&
45、gt;<p> (二)權限設置模塊 </p><p> 此模塊主要是根據(jù)用戶輸入的名稱和密碼驗證用戶身份并且決定用戶的操作權限,并把用戶信息設置到當前用戶類中。</p><p><b> 權限設置IPO圖</b></p><p><b> 輸入:用戶名和密碼</b></p><p&
46、gt;<b> 處理: </b></p><p> (1)程序開始啟動系統(tǒng)登陸對話框。</p><p> (2)用戶輸入用戶名和密碼。</p><p> (3)從用戶表中檢查是否有相應的用戶名和密碼。</p><p> (4)如果用戶名或密碼錯誤,進行提示;如果錯誤次數(shù)達到三次,則提示并退出。</p>
47、;<p> (5)如果正確,則根據(jù)該用戶的權限類別進行權限設置。</p><p> (6)進入主程序界面</p><p><b> 輸出:主程序界面</b></p><p> 2、權限設置模塊的實現(xiàn)</p><p> 通過定義CLoginDialog類來實現(xiàn)權限設置模塊功能。其主要代碼如下:<
48、;/p><p> (1) 根據(jù)用戶名和密碼驗證用戶身份和分配權限</p><p> //在登陸按鈕被點擊后,進行權限驗證。</p><p> void CLoginDialog::OnOK() </p><p> 參考文獻 [1] 葉子,進.
49、實現(xiàn)[J].計算機工程與科學,2009,1(07):61-64. [2] 基于MATLAB 實現(xiàn)的指紋圖像預處理[J].2008,34(04):836-856. [3] http://mhktec.com/baoshijieyulecheng/
50、 [4] http://nmfgj.com/baomahuiyulecheng/ [5] By-gnksguybb [6] 李 寧.指紋增強算法研究[D].濟南:山東大學,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ù)已達到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> 用戶輸入圖書編號,并點擊 “搜索” 按鈕,系統(tǒng)進行圖書搜索</p><
60、;p> 如果無此編號的圖書,進行提示;反之,則列出該圖書的基本信息。</p><p> 輸入圖書數(shù)量,然后,按回車鍵計算出該筆銷售的金額。</p><p> 按“下一本”按鈕,則進行下一本書的銷售。</p><p> 按“結賬”按鈕,則完成此次的銷售功能。并算出總金額。</p><p> 點擊銷售列表,按“撤銷”按鈕,則取消該
61、書的銷售。</p><p> 按“退出”按鈕,則退出圖書銷售。</p><p> 輸出:更新圖書信息表和圖書銷售表。</p><p> 2、圖書銷售模塊的實現(xiàn)</p><p> 根據(jù)圖書銷售模塊的IPO圖,通過定義CBookSaleDialog類來實現(xiàn)圖書銷售模塊的功能。其主要實現(xiàn)代碼如下:</p><p>
62、 (1) CBookSaleDialog類使用的圖書信息表記錄集CBookSet﹑圖書銷售表記錄集CBookSaleSet和臨時圖書銷售表記錄集CTempSaleSet.,操作完成后,更新和調整圖書信息表,增加圖書銷售表記錄,臨時銷售表為空。</p><p> (2) 圖書銷售。流程: 選擇圖書編號->點擊搜索按鈕->輸入圖書折扣和圖書數(shù)量->回車鍵->點擊下一本->或結賬->
63、;退出。</p><p> // 根據(jù)圖書編號進行搜索,如果存在,則顯示圖書詳細信息</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> // 計算銷售值</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、// 獲取當前時間</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> // 添加銷售的圖書到臨時銷售表</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> // 結賬</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> //------------ 添加進銷售列表中-------------------</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) 撤銷功能。流程:點擊銷售列表,點擊撤銷按鈕即可完成。</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、時表中刪除該銷售記錄</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> // 恢復圖書原先數(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ù)量,可以在此輸入圖書詳細信息,但不是必需的。</p><p> 將圖書添加到圖書信息表中</p>
117、<p> 輸出:更新圖書信息表</p><p> 2. 圖書入庫模塊的實現(xiàn)</p><p> 根據(jù)圖書入庫模塊的IPO圖,通過定義CBookInputDialog類來實現(xiàn)該模塊的主體功能。</p><p> 相關的記錄集類CBookSet。</p><p><b> 新書錄入。</b></p&g
118、t;<p> 處理過程:判斷用戶是否全部輸入必填的圖書信息,然后根據(jù)用戶輸入的圖書編號查詢圖書信息表是否有重復編號,是則在原有圖書信息基礎上增加圖書的數(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 書店管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文----書店管理系統(tǒng)
- 畢業(yè)論文---書店管理系統(tǒng)
- 畢業(yè)論文——網(wǎng)絡書店銷售管理系統(tǒng)
- 網(wǎng)絡書店銷售管理系統(tǒng)——畢業(yè)論文
- 畢業(yè)論文網(wǎng)上書店管理系統(tǒng)
- 網(wǎng)上書店銷售管理系統(tǒng)【畢業(yè)論文】
- 網(wǎng)絡書店銷售管理系統(tǒng)——畢業(yè)論文
- [vb畢設]書店管理系統(tǒng)(vb+access)
- 書店系統(tǒng)設計畢業(yè)論文
- vb012書店管理系統(tǒng)(vb+access)
- vb012書店管理系統(tǒng)(vb+access)
- 書店銷售系統(tǒng)畢業(yè)論文
- 網(wǎng)上書店管理系統(tǒng)【畢業(yè)論文,絕對精品】
- 書店圖書庫存管理系統(tǒng)畢業(yè)論文
- 網(wǎng)上書店畢業(yè)論文---網(wǎng)上書店系統(tǒng)
- 網(wǎng)上書店管理系統(tǒng)【畢業(yè)論文,絕對精品】
- 畢業(yè)設計-----vb書店管理系統(tǒng)設計和實現(xiàn)
- 畢業(yè)設計----vb書店管理系統(tǒng)設計和實現(xiàn)
- 網(wǎng)上書店系統(tǒng)畢業(yè)論文
評論
0/150
提交評論