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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

5、th rapid developing 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 ite

6、ms.. At present, a series of information 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 l

7、ower efficiency and higher energy-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 m

8、anagement, 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 system is to offer a user-friendly and

9、supplementary managing system to satisfy detailed needs of managing practice and business process. </p><p>  [Key Words] developing programme sales managing system </p><p>  books managem

10、ent business process </p><p>  managing system in bookshops.</p><p><b>  目 錄</b></p><p><b>  一、前言(1)</b></p><p>  二、需求分析(2)</p>

11、<p> ?。ㄒ唬┫到y(tǒng)需求(2)</p><p>  (二)功能需求(2)</p><p>  1、權(quán)限設(shè)置(2)</p><p>  2、圖書(shū)銷售(2)</p><p>  3、圖書(shū)入庫(kù)(3)</p><p>  4、圖書(shū)信息設(shè)置(3)</p><p>  5、綜合查詢

12、(3)</p><p>  6、系統(tǒng)設(shè)置(4)</p><p>  7、數(shù)據(jù)庫(kù)管理(4)</p><p>  (三)性能需求(4)</p><p>  1、硬件環(huán)境(4)</p><p>  2、軟件環(huán)境(4)</p><p>  三、總體設(shè)計(jì)(5)</p><

13、p> ?。ㄒ唬┗驹O(shè)計(jì)概念和處理流程(5)</p><p>  (二)系統(tǒng)層次模塊圖(5)</p><p> ?。ㄈ?shù)據(jù)庫(kù)設(shè)計(jì)(6)</p><p>  1、數(shù)據(jù)庫(kù)介紹(6)</p><p>  2、使用ODBC數(shù)據(jù)庫(kù)接口訪問(wèn)數(shù)據(jù)庫(kù)(6)</p><p>  3、數(shù)據(jù)庫(kù)需求分析(7)</p&g

14、t;<p>  4、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)(9)</p><p>  四、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)(9)</p><p> ?。ㄒ唬┫到y(tǒng)主控平臺(tái)(9)</p><p>  1、主控平臺(tái)界面的設(shè)計(jì)(9)</p><p>  2、主控平臺(tái)界面的實(shí)現(xiàn)(9)</p><p>  (二)權(quán)限設(shè)置模塊(9)</p

15、><p>  1、權(quán)限設(shè)置模塊IPO圖(10)</p><p>  2、權(quán)限設(shè)置模塊的實(shí)現(xiàn)(10)</p><p>  (三)圖書(shū)銷售模塊(11)</p><p>  1、圖書(shū)銷售模塊IPO圖(11)</p><p>  2、圖書(shū)銷售模塊的實(shí)現(xiàn)(12)</p><p>  (四)圖書(shū)入庫(kù)模

16、塊(17)</p><p>  1、圖書(shū)入庫(kù)模塊IPO圖(17)</p><p>  2、圖書(shū)入庫(kù)模塊的實(shí)現(xiàn)(18)</p><p> ?。ㄎ澹﹫D書(shū)信息設(shè)置模塊(19)</p><p>  1、圖書(shū)信息設(shè)置模塊IPO圖(19)</p><p>  2、圖書(shū)信息設(shè)置模塊的實(shí)現(xiàn)(20)</p>&

17、lt;p> ?。┚C合查詢模塊(22)</p><p>  1、圖書(shū)查詢子模塊(22)</p><p>  2、銷售查詢子模塊(24)</p><p>  (七)系統(tǒng)設(shè)置模塊(26)</p><p> ?。ò耍?shù)據(jù)庫(kù)管理模塊(31)</p><p>  1、數(shù)據(jù)庫(kù)管理模塊IPO圖(31) </

18、p><p>  2、數(shù)據(jù)庫(kù)管理模塊的實(shí)現(xiàn)(32)</p><p>  五、結(jié)論與體會(huì)(34)</p><p><b>  參考文獻(xiàn)(35)</b></p><p><b>  致謝(35)</b></p><p>  書(shū)店管理系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)</p><

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

20、整圖書(shū)結(jié)構(gòu)。同時(shí)由于不可避免的人為因素,造成數(shù)據(jù)的遺漏,誤報(bào)等。使用計(jì)算機(jī)對(duì)書(shū)店圖書(shū)信息進(jìn)行管理,具有手工所無(wú)法比擬的優(yōu)點(diǎn)。例如:檢索迅速﹑查找方便﹑可靠性高﹑保密性好﹑壽命長(zhǎng)﹑成本低﹑高效率﹑對(duì)進(jìn)書(shū)有較好的預(yù)測(cè)性等。</p><p>  為了更好地適應(yīng)當(dāng)前書(shū)店的銷售需求,緩解手工管理存在的弊端,開(kāi)發(fā)了書(shū)店管理系統(tǒng),該系統(tǒng)向用戶提供的服務(wù)將在傳統(tǒng)的“入庫(kù)->銷售->盤(pán)點(diǎn)”基礎(chǔ)上,進(jìn)一步提供全方位的信息

21、服務(wù)。它具有以下幾個(gè)特點(diǎn):</p><p>  1、可以存儲(chǔ)店中所有圖書(shū)的資料以及庫(kù)存情況,具有安全,高效的特性。</p><p>  2、只需一到二名檔案錄入員即可操作系統(tǒng),節(jié)省大量人力。</p><p>  3、可以迅速查到所需信息。</p><p>  4、系統(tǒng)對(duì)軟,硬件方面的需求不高,軟件要求易學(xué),容易掌握,可以很簡(jiǎn)單方便地管理圖書(shū)信

22、息。硬件的配置要求不能太高,這樣可以很好的適應(yīng)當(dāng)前的各類書(shū)店。</p><p>  總之,圖書(shū)銷售管理系統(tǒng)旨在提供一個(gè)可以操作的,方便查詢,易于修改的輔助管理系統(tǒng)。同時(shí)提供了系統(tǒng)智能輔助與用戶選擇兩種方式,提高查詢效率。</p><p><b>  二、需求分析 </b></p><p><b>  系統(tǒng)需求 </b>&l

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

24、于系統(tǒng)需求分析,該系統(tǒng)需要實(shí)現(xiàn)以下基本功能:</p><p><b>  1、權(quán)限設(shè)置</b></p><p>  本系統(tǒng)的使用用戶分兩種:管理員和普通用戶。管理員具有使用本系統(tǒng)的所有功能,而普通用戶是需要具有日常書(shū)店的管理功能即可。用戶權(quán)限的設(shè)置通過(guò)用戶登陸界面的輸入來(lái)進(jìn)行。</p><p><b>  2、圖書(shū)銷售</b&g

25、t;</p><p>  圖書(shū)管理人員通過(guò)此模塊來(lái)銷售各類圖書(shū)并對(duì)銷售情況進(jìn)行記錄,記錄的信息包括圖書(shū)銷售的數(shù)量,價(jià)格,折扣比例等。在進(jìn)行銷售圖書(shū)時(shí),輸入圖書(shū)的編號(hào),系統(tǒng)就可以搜索到該圖書(shū)編號(hào)對(duì)應(yīng)的圖書(shū)信息,然后列出該圖書(shū)銷售是需要的基本信息,書(shū)名,出版社﹑價(jià)格等。銷售可以輸入折扣數(shù)以便打折,在購(gòu)買(mǎi)相同的多本書(shū)時(shí),可以直接輸入圖書(shū)數(shù)量,避免重復(fù)輸入圖書(shū)編號(hào)。同時(shí),也提供撤銷銷售記錄的功能,銷售員可以撤銷銷售時(shí)的上

26、一條記錄。程序還能自動(dòng)統(tǒng)計(jì)讀者購(gòu)買(mǎi)的總金額,便于銷售員掌握。</p><p><b>  3、圖書(shū)入庫(kù)</b></p><p>  書(shū)店工作人員通過(guò)此模塊來(lái)管理各類圖書(shū)庫(kù)存的數(shù)目。當(dāng)一批圖書(shū)入庫(kù)時(shí),只需要輸入圖書(shū)編號(hào)和圖書(shū)數(shù)量,程序?qū)⒆詣?dòng)更改庫(kù)存的圖書(shū)數(shù)量。使用的公式為:現(xiàn)有圖書(shū)庫(kù)存=原有圖書(shū)庫(kù)存 + 新入庫(kù)圖書(shū)數(shù)量。</p><p><

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

28、詢</b></p><p>  綜合查詢提供兩種功能,通過(guò)它可以查詢讀者所需要的圖書(shū)信息和銷售情況。圖書(shū)信息查詢提供了用包括圖書(shū)編號(hào)和圖書(shū)名稱來(lái)對(duì)圖書(shū)信息進(jìn)行查詢的各種查詢條件,讀者可以根據(jù)查詢方式和條件來(lái)進(jìn)行所需圖書(shū)的查詢。同時(shí),在查詢時(shí)還提供了進(jìn)行模糊查詢的功能,即該模塊能夠利用讀者輸入的非完整的查詢條件進(jìn)行查詢,例如,讀者在書(shū)籍編號(hào)大查詢條件中輸入“06”,系統(tǒng)就能夠查出所有書(shū)籍編號(hào)包括“06”

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

30、添加,刪除用戶,更改用戶的登陸密碼等。</p><p><b>  7、數(shù)據(jù)庫(kù)管理</b></p><p>  對(duì)現(xiàn)有數(shù)據(jù)庫(kù)進(jìn)行管理,包括數(shù)據(jù)庫(kù)備份和恢復(fù),以方便用戶對(duì)數(shù)據(jù)庫(kù)的管理和維護(hù)工作,提高管理的數(shù)據(jù)庫(kù)安全性。</p><p><b> ?。ㄈ┬阅苄枨?lt;/b></p><p><b&g

31、t;  1.硬件環(huán)境</b></p><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>

32、</p><p>  ·硬盤(pán)空間: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ù)庫(kù):Micro

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

34、的實(shí)時(shí)數(shù)據(jù)交互。</p><p>  本系統(tǒng)采用Visual C++ 6.0開(kāi)發(fā),采用Microsoft Access 2000 作為后臺(tái)數(shù)據(jù)庫(kù),在滿足需求的前提下,將系統(tǒng)對(duì)運(yùn)行環(huán)境的性能要求降到最低。</p><p>  系統(tǒng)基本流程是:用戶登陸->主界面->選擇各項(xiàng)功能。</p><p>  (二)系統(tǒng)層次模塊圖</p><p&g

35、t;  根據(jù)需求分析的結(jié)果,本系統(tǒng)主要?jiǎng)澐忠韵?個(gè)子模塊:權(quán)限驗(yàn)證﹑圖書(shū)銷售﹑圖書(shū)入庫(kù)﹑圖書(shū)信息設(shè)置﹑綜合查詢﹑系統(tǒng)設(shè)置﹑數(shù)據(jù)庫(kù)管理等主要的系統(tǒng)。如圖1所示。系統(tǒng)業(yè)務(wù)處理流程如圖2所示。</p><p> ?。▓D1) 書(shū)店管理系統(tǒng)主模塊</p><p> ?。▓D 2) 系統(tǒng)業(yè)務(wù)處理流程圖</p><p><b>  (三)數(shù)據(jù)庫(kù)設(shè)計(jì)</b>&l

36、t;/p><p>  鑒于ODBC(Open Database Connectivity)是用于數(shù)據(jù)庫(kù)訪問(wèn)的應(yīng)用最廣泛的應(yīng)用程序編程接口,它允許應(yīng)用程序使用相同的代碼訪問(wèn)不同的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),本系統(tǒng)采用ODBC的方式訪問(wèn)數(shù)據(jù)庫(kù)。 </p><p><b>  1、數(shù)據(jù)庫(kù)介紹 </b></p><p>  Access 2000數(shù)據(jù)庫(kù)管理

37、系統(tǒng)是Microsoft Office 的重要組成部分,適用于小型商務(wù)活動(dòng),用以存儲(chǔ)和管理商務(wù)活動(dòng)所需要的數(shù)據(jù)。Access不僅是一個(gè)數(shù)據(jù)庫(kù),而且它具有強(qiáng)大的管理功能。</p><p>  2、使用ODBC數(shù)據(jù)庫(kù)接口訪問(wèn)數(shù)據(jù)庫(kù)</p><p>  ODBC(Open Database Connectivity, 開(kāi)放數(shù)據(jù)庫(kù)互連)是微軟公司開(kāi)放服務(wù)結(jié)構(gòu)(WOSA, Windows Open

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

39、的時(shí)候,Windows的ODBC管理程序把數(shù)據(jù)庫(kù)訪問(wèn)的請(qǐng)求傳遞給正確的驅(qū)動(dòng)程序,驅(qū)動(dòng)程序在使用SQL語(yǔ)句指示DBMS(Database Management System,數(shù)據(jù)庫(kù)管理系統(tǒng))完成數(shù)據(jù)庫(kù)訪問(wèn)工作。 </p><p><b>  3、數(shù)據(jù)庫(kù)需求分析</b></p><p>  根據(jù)系統(tǒng)功能設(shè)計(jì)的要求以及功能模塊的劃分,對(duì)于本系統(tǒng)的數(shù)據(jù)庫(kù),可以列出以下數(shù)據(jù)項(xiàng)和

40、數(shù)據(jù)結(jié)構(gòu):</p><p>  (1)圖書(shū)信息表----bookinfo</p><p>  數(shù)據(jù)來(lái)源:銷售管理模塊----圖書(shū)入庫(kù)或圖書(shū)信息設(shè)置中進(jìn)行錄入</p><p>  (2) 圖書(shū)銷售表----booksale</p><p>  數(shù)據(jù)來(lái)源:銷售管理模塊----圖書(shū)銷售中進(jìn)行錄入</p><p>  (3)圖

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

42、><p>  數(shù)據(jù)來(lái)源:系統(tǒng)設(shè)置----圖書(shū)類別設(shè)置中進(jìn)行錄入</p><p>  (6)系統(tǒng)用戶信息表----userinfo</p><p>  數(shù)據(jù)來(lái)源:系統(tǒng)管理模塊----用戶設(shè)置中進(jìn)行錄入</p><p>  4、數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)</p><p>  數(shù)據(jù)庫(kù)的表之間相互關(guān)聯(lián)可以保證數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性,但是很有限

43、。由程序代碼來(lái)實(shí)現(xiàn)能更好的檢查數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性。所以本系統(tǒng)的數(shù)據(jù)庫(kù)表相互獨(dú)立。</p><p>  四、詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) </p><p><b>  (一)系統(tǒng)主控平臺(tái)</b></p><p>  1.主控平臺(tái)界面的設(shè)計(jì) </p><p>  充分考慮易于操作的系統(tǒng)需求,主控制平臺(tái)使用簡(jiǎn)單和直觀的布局設(shè)計(jì)。.<

44、/p><p>  2.主控平臺(tái)界面的實(shí)現(xiàn)</p><p>  (1)主體框架:使用MFC AppWizard創(chuàng)建一個(gè)單文檔結(jié)構(gòu)的應(yīng)用程序工程,建立起系統(tǒng)主體框架,生成應(yīng)用程序類(CBookShopMISApp)﹑文檔類(CBookShopMISDoc)﹑視圖類(CBookShopMISView)和主框架類(CMainFram).</p><p>  (2)菜單:根據(jù)系統(tǒng)

45、總體設(shè)計(jì)中功能模塊的劃分,使用資源編輯器創(chuàng)建系統(tǒng)菜單。</p><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>  輸入:

46、用戶名和密碼</b></p><p><b>  處理: </b></p><p>  (1)程序開(kāi)始啟動(dòng)系統(tǒng)登陸對(duì)話框。</p><p>  (2)用戶輸入用戶名和密碼。</p><p>  (3)從用戶表中檢查是否有相應(yīng)的用戶名和密碼。</p><p>  (4)如果用戶名或密碼錯(cuò)

47、誤,進(jìn)行提示;如果錯(cuò)誤次數(shù)達(dá)到三次,則提示并退出。</p><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>  通過(guò)定義CL

48、oginDialog類來(lái)實(shí)現(xiàn)權(quán)限設(shè)置模塊功能。其主要代碼如下:</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><b>  {</b></p>

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

50、;  if(m_UserSet.IsOpen())</p><p>  m_UserSet.Close();</p><p>  m_UserSet.m_strFilter.Format(" username= '%s' and userpassword = '%s'",</p><p>  m_strUserNa

51、me, m_strUserPwd);</p><p>  m_UserSet.Open(CRecordset::snapshot, NULL, CRecordset::none);</p><p>  if(m_UserSet.IsEOF()){</p><p>  m_UserSet.Close();</p><p>  if(++i ==

52、 3){</p><p>  AfxMessageBox("很抱歉,您的輸入錯(cuò)誤次數(shù)已達(dá)到3次.\n系統(tǒng)即將退出.");</p><p><b>  exit(1);</b></p><p><b>  }</b></p><p>  AfxMessageBox("密碼

53、錯(cuò)誤, 請(qǐng)重試!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  else{</b></p><p>  ptheApp->m_PresentUser.SetUserInfo(m_Us

54、erSet.m_username,</p><p>  m_UserSet.m_userpassword,m_UserSet.m_isAdmin);</p><p>  m_UserSet.Close();</p><p>  AfxMessageBox("密碼正確,登陸成功!");</p><p><b>  

55、}</b></p><p><b>  }</b></p><p>  catch(CDBException *e){</p><p>  e->ReportError();</p><p><b>  return;</b></p><p><b&g

56、t;  }</b></p><p>  CDialog::OnOK();</p><p><b>  }</b></p><p><b>  (三)圖書(shū)銷售模塊</b></p><p>  1.圖書(shū)銷售IPO圖</p><p>  輸入:圖書(shū)編號(hào)﹑圖書(shū)數(shù)量和折扣(

57、缺省為不打折)。</p><p><b>  處理:</b></p><p><b>  圖書(shū)銷售對(duì)話框啟動(dòng)</b></p><p>  用戶輸入圖書(shū)編號(hào),并點(diǎn)擊 “搜索” 按鈕,系統(tǒng)進(jìn)行圖書(shū)搜索</p><p>  如果無(wú)此編號(hào)的圖書(shū),進(jìn)行提示;反之,則列出該圖書(shū)的基本信息。</p>

58、<p>  輸入圖書(shū)數(shù)量,然后,按回車鍵計(jì)算出該筆銷售的金額。</p><p>  按“下一本”按鈕,則進(jìn)行下一本書(shū)的銷售。</p><p>  按“結(jié)賬”按鈕,則完成此次的銷售功能。并算出總金額。</p><p>  點(diǎn)擊銷售列表,按“撤銷”按鈕,則取消該書(shū)的銷售。</p><p>  按“退出”按鈕,則退出圖書(shū)銷售。</

59、p><p>  輸出:更新圖書(shū)信息表和圖書(shū)銷售表。</p><p>  2、圖書(shū)銷售模塊的實(shí)現(xiàn)</p><p>  根據(jù)圖書(shū)銷售模塊的IPO圖,通過(guò)定義CBookSaleDialog類來(lái)實(shí)現(xiàn)圖書(shū)銷售模塊的功能。其主要實(shí)現(xiàn)代碼如下:</p><p>  (1) CBookSaleDialog類使用的圖書(shū)信息表記錄集CBookSet﹑圖書(shū)銷售表記錄集

60、CBookSaleSet和臨時(shí)圖書(shū)銷售表記錄集CTempSaleSet.,操作完成后,更新和調(diào)整圖書(shū)信息表,增加圖書(shū)銷售表記錄,臨時(shí)銷售表為空。</p><p>  (2) 圖書(shū)銷售。流程: 選擇圖書(shū)編號(hào)->點(diǎn)擊搜索按鈕->輸入圖書(shū)折扣和圖書(shū)數(shù)量->回車鍵->點(diǎn)擊下一本->或結(jié)賬->退出。</p><p>  // 根據(jù)圖書(shū)編號(hào)進(jìn)行搜索,如果存在,則顯示

61、圖書(shū)詳細(xì)信息</p><p>  void CBookSaleDialog::OnButtonSearch() </p><p><b>  {</b></p><p>  UpdateData(TRUE);</p><p>  if(m_strBookNo == "") {</p>&

62、lt;p>  MessageBox("圖書(shū)編號(hào)不能為空");</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  CBookSet m_BookSet;</p><p><b>  try{</b

63、></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_BookS

64、et.IsEOF() || (m_BookSet.m_number == 0)) {</p><p>  m_BookSet.Close();</p><p>  AfxMessageBox("該編號(hào)的圖書(shū)不存在,請(qǐng)重新輸入編號(hào)!");</p><p>  ResetMembers();</p><p><b>

65、;  return;</b></p><p><b>  }</b></p><p>  CString strTemp;</p><p>  strTemp.Format("%d",m_BookSet.m_number);</p><p>  m_strBookName = m_Book

66、Set.m_bookname;</p><p>  m_strPublisher = m_BookSet.m_pubname;</p><p>  m_strAuthor = m_BookSet.m_author;</p><p>  CString TempPrice;</p><p>  TempPrice.Format("%.

67、2f",m_BookSet.m_price);</p><p>  m_strPrice = TempPrice; //m_BookSet.m_price;</p><p>  m_BookSet.Close();</p><p>  UpdateData(FALSE);</p><p><b>  }</b>

68、;</p><p>  catch(CDBException *e){</p><p>  e->ReportError();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  // 計(jì)算銷售值<

69、/b></p><p>  void CBookSaleDialog::OnOK() </p><p><b>  {</b></p><p>  UpdateData(TRUE);</p><p>  if(m_strNumber == ""){</p><p>  M

70、essageBox("請(qǐng)輸入銷售圖書(shū)數(shù)量");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  float TempFianalPrice;</p><p>  TempFianalPrice = atoi(m_st

71、rNumber) * atof(m_strPrice) * atoi(m_strDisCount) / 100;</p><p>  m_strFianalPrice.Format("%.2f",TempFianalPrice);</p><p>  UpdateData(FALSE);</p><p><b>  }</b>

72、;</p><p><b>  // 下一本</b></p><p>  void CBookSaleDialog::OnButtonNext() </p><p><b>  {</b></p><p>  UpdateData(TRUE);</p><p>  if(m_

73、strBookNo == ""){</p><p>  MessageBox("請(qǐng)輸入要銷售圖書(shū)的編號(hào)");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(m_strNumber == &

74、quot;"){</p><p>  MessageBox("請(qǐng)輸入要銷售圖書(shū)的數(shù)量");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(atoi(m_strNumber) <=0){<

75、/p><p>  MessageBox("銷售圖書(shū)數(shù)量不能少于一本");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(m_strDisCount == ""){</p><

76、;p>  MessageBox("請(qǐng)輸入該書(shū)要打幾折");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  // 獲取當(dāng)前時(shí)間</b></p><p><b>  CTi

77、me t;</b></p><p>  t = CTime::GetCurrentTime();</p><p>  CString time = "";</p><p>  CString year;</p><p>  CString month;</p><p>  CString

78、 day;</p><p>  year.Format("%d",t.GetYear());</p><p>  month.Format("%d",t.GetMonth());</p><p>  if(t.GetMonth() < 9)</p><p>  month = "0&qu

79、ot; + month;</p><p>  day.Format("%d",t.GetDay());</p><p>  if(t.GetDay() < 9)</p><p>  day = "0" + day;</p><p>  time = year + month + day;</

80、p><p>  CBookSet m_BookSet;</p><p>  CTempSaleSet m_TempSaleSet;</p><p>  int TempNumber;</p><p><b>  try{</b></p><p>  m_BookSet.m_strFilter.Form

81、at("bookno = '%s'",m_strBookNo);</p><p>  m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none);</p><p>  if(!m_BookSet.IsEOF()){</p><p>  TempNumber = m_Bo

82、okSet.m_number - atoi(m_strNumber);</p><p>  if(TempNumber < 0){</p><p>  AfxMessageBox("庫(kù)存不足,請(qǐng)重新輸入銷售圖書(shū)數(shù)量");</p><p><b>  return ;</b></p><p>&l

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

84、 m_BookSet.m_pDatabase->Close();</p><p>  // 添加銷售的圖書(shū)到臨時(shí)銷售表</p><p>  m_TempSaleSet.Open();</p><p>  m_TempSaleSet.AddNew();</p><p>  m_TempSaleSet.m_author = m_strAut

85、hor;</p><p>  m_TempSaleSet.m_publisher = m_strPublisher;</p><p>  m_TempSaleSet.m_bookname = m_strBookName;</p><p>  m_TempSaleSet.m_bookno = m_strBookNo;</p><p>  m_T

86、empSaleSet.m_number = atoi(m_strNumber);</p><p>  m_TempSaleSet.m_discount = atoi(m_strDisCount);</p><p>  m_TempSaleSet.m_sum = atof(m_strFianalPrice);</p><p>  m_TempSaleSet.m_pri

87、ce = atof(m_strPrice);</p><p>  m_TempSaleSet.m_date = atol(time);</p><p>  m_TempSaleSet.Update();</p><p>  m_TempSaleSet.Close();</p><p>  m_TempSaleSet.m_pDatabase-&

88、gt;Close();</p><p>  // 顯示在銷售列表中</p><p>  m_TempSaleSet.Open();</p><p>  m_TempSaleSet.MoveLast();</p><p>  int pos = m_ListSale.GetItemCount();</p><p>  C

89、String TempNumber;</p><p>  CString TempPrice;</p><p>  CString TempDiscount;</p><p>  CString TempSum;</p><p>  TempNumber.Format("%d",m_TempSaleSet.m_number

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

91、,m_TempSaleSet.m_sum);</p><p>  m_ListSale.InsertItem(pos, m_TempSaleSet.m_bookname);</p><p>  m_ListSale.SetItemText(pos,1,TempNumber);</p><p>  m_ListSale.SetItemText(pos,2,TempPr

92、ice);</p><p>  m_ListSale.SetItemText(pos,3,TempDiscount);</p><p>  m_ListSale.SetItemText(pos,4,TempSum);</p><p>  m_TempSaleSet.Close();</p><p>  ResetMembers();</

93、p><p><b>  }</b></p><p><b>  }</b></p><p>  catch(CDBException *e){</p><p>  e->ReportError();</p><p><b>  return;</b>&

94、lt;/p><p><b>  }</b></p><p><b>  }</b></p><p><b>  // 結(jié)賬</b></p><p>  void CBookSaleDialog::OnButtonBill() </p><p><b&g

95、t;  {</b></p><p>  UpdateData();</p><p>  if(m_strBookNo != "")</p><p>  OnButtonNext();</p><p>  float m_Sum = 0;</p><p>  CTempSaleSet m_

96、TempSaleSet;</p><p>  CBookSaleSet m_BookSaleSet;</p><p><b>  try{</b></p><p>  m_TempSaleSet.Open();</p><p>  m_BookSaleSet.Open();</p><p>  m

97、_TempSaleSet.MoveFirst();</p><p>  while(! m_TempSaleSet.IsEOF()){</p><p><b>  //算出總銷售額</b></p><p>  m_Sum = m_Sum + m_TempSaleSet.m_sum;</p><p>  //-------

98、----- 添加進(jìn)銷售列表中-------------------</p><p>  m_BookSaleSet.AddNew();</p><p>  m_BookSaleSet.m_author = m_TempSaleSet.m_author;</p><p>  m_BookSaleSet.m_bookname = m_TempSaleSet.m_

99、bookname;</p><p>  m_BookSaleSet.m_bookno = m_TempSaleSet.m_bookno;</p><p>  m_BookSaleSet.m_date = m_TempSaleSet.m_date;</p><p>  m_BookSaleSet.m_discount = m_TempSaleSet.

100、m_discount;</p><p>  m_BookSaleSet.m_number = m_TempSaleSet.m_number;</p><p>  m_BookSaleSet.m_price = m_TempSaleSet.m_price;</p><p>  m_BookSaleSet.m_moneysum = m_TempSaleS

101、et.m_sum;</p><p>  m_BookSaleSet.m_publisher = m_TempSaleSet.m_publisher;</p><p>  m_BookSaleSet.Update();</p><p>  //---------------------------------------------------</p>

102、<p>  m_TempSaleSet.Delete();</p><p>  m_TempSaleSet.MoveNext();</p><p><b>  }</b></p><p>  m_TempSaleSet.Close();</p><p>  m_TempSaleSet.m_pDatabase-&

103、gt;Close();</p><p>  m_BookSaleSet.Close();</p><p>  m_BookSaleSet.m_pDatabase->Close();</p><p><b>  }</b></p><p>  catch(CDBException *e){</p>&l

104、t;p>  e->ReportError();</p><p><b>  return;</b></p><p><b>  }</b></p><p>  m_strSaleSum.Format("%.2f",m_Sum);</p><p>  UpdateDa

105、ta(FALSE);</p><p><b>  }</b></p><p>  (3) 撤銷功能。流程:點(diǎn)擊銷售列表,點(diǎn)擊撤銷按鈕即可完成。</p><p>  void CBookSaleDialog::OnButtonCancel() </p><p><b>  {</b></p>

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

107、gt;  AfxMessageBox("請(qǐng)選取要?jiǎng)h除的銷售記錄!");</p><p><b>  return ;</b></p><p><b>  }</b></p><p>  // 從臨時(shí)表中刪除該銷售記錄</p><p>  CTempSaleSet m_TempSa

108、leSet;</p><p>  m_TempSaleSet.m_strFilter.Format("bookname = '%s'",BookName);</p><p>  m_TempSaleSet.Open(CRecordset::snapshot, NULL , CRecordset::none);</p><p>  

109、if(!m_TempSaleSet.IsEOF()){</p><p>  TempNumber = m_TempSaleSet.m_number;</p><p>  m_TempSaleSet.Delete();</p><p><b>  }</b></p><p>  m_TempSaleSet.Close();

110、</p><p>  m_TempSaleSet.m_pDatabase->Close();</p><p>  // 恢復(fù)圖書(shū)原先數(shù)量</p><p>  CBookSet m_BookSet;</p><p>  m_BookSet.m_strFilter.Format("bookname = '%s'&q

111、uot;, BookName);</p><p>  m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none);</p><p>  if(!m_BookSet.IsEOF()){</p><p>  m_BookSet.Edit();</p><p>  m_BookSet.m

112、_number = m_BookSet.m_number + TempNumber;</p><p>  m_BookSet.Update();</p><p><b>  }</b></p><p>  m_BookSet.Close();</p><p>  m_BookSet.m_pDatabase->Clo

113、se();</p><p>  ListSale();</p><p><b>  }</b></p><p><b>  (四)圖書(shū)入庫(kù)模塊</b></p><p>  1.圖書(shū)入庫(kù)模塊IPO圖</p><p>  輸入:圖書(shū)編號(hào)和圖書(shū)數(shù)量</p><p

114、><b>  處理:</b></p><p>  圖書(shū)入庫(kù)對(duì)話框啟動(dòng)。</p><p>  等待用戶輸入圖書(shū)的編號(hào)和數(shù)量,可以在此輸入圖書(shū)詳細(xì)信息,但不是必需的。</p><p>  將圖書(shū)添加到圖書(shū)信息表中</p><p>  輸出:更新圖書(shū)信息表</p><p>  2. 圖書(shū)入庫(kù)模塊的

115、實(shí)現(xiàn)</p><p>  根據(jù)圖書(shū)入庫(kù)模塊的IPO圖,通過(guò)定義CBookInputDialog類來(lái)實(shí)現(xiàn)該模塊的主體功能。</p><p>  相關(guān)的記錄集類CBookSet。</p><p><b>  新書(shū)錄入。</b></p><p>  處理過(guò)程:判斷用戶是否全部輸入必填的圖書(shū)信息,然后根據(jù)用戶輸入的圖書(shū)編號(hào)查詢圖

116、書(shū)信息表是否有重復(fù)編號(hào),是則在原有圖書(shū)信息基礎(chǔ)上增加圖書(shū)的數(shù)量;否則添加新的圖書(shū)記錄在圖書(shū)信息表中。</p><p>  // 添加圖書(shū)到圖書(shū)信息庫(kù)中</p><p>  void CBookInputDialog::OnButtonSaveAndGoon() </p><p><b>  {</b></p><p> 

117、 UpdateData(TRUE);</p><p><b>  CTime t;</b></p><p>  t = CTime::GetCurrentTime();</p><p>  CString time = "";</p><p>  CString year;</p>&l

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

119、"%d",t.GetDay());</p><p>  time = year + "-" + month + "-"+ day; </p><p>  if(m_strBookNo == ""){</p><p>  MessageBox("請(qǐng)輸入圖書(shū)編號(hào)");&

120、lt;/p><p><b>  return ;</b></p><p><b>  }</b></p><p>  if(m_strNumber == ""){</p><p>  MessageBox("請(qǐng)輸入圖書(shū)數(shù)量");</p><p&

121、gt;<b>  return;</b></p><p><b>  }</b></p><p>  CBookSet m_BookSet;</p><p><b>  try{</b></p><p>  if(m_BookSet.IsOpen()){</p>

122、<p>  m_BookSet.Close();</p><p>  m_BookSet.m_pDatabase->Close();</p><p><b>  }</b></p><p>  m_BookSet.m_strFilter.Format("bookno = '%s'",m_str

123、BookNo);</p><p>  m_BookSet.Open(CRecordset::snapshot, NULL, CRecordset::none);</p><p>  // 如果庫(kù)中無(wú)此書(shū),則增加</p><p>  if(m_BookSet.IsEOF()){</p><p>  m_BookSet.AddNew();<

124、/p><p>  m_BookSet.m_bookno = m_strBookNo;</p><p>  m_BookSet.m_number = atoi(m_strNumber);</p><p>  m_BookSet.m_bookname = m_strBookName;</p><p>  m_BookSet.m_bookbn =

125、m_strBookBn;</p><p>  m_BookSet.m_booktypename = m_strBookType;</p><p>  m_BookSet.m_pubname = m_strPublisher;</p><p>  m_BookSet.m_author = m_strAuthor;</p><p>  m_Boo

126、kSet.m_price = atof(m_strPrice);</p><p>  m_BookSet.m_date = time;</p><p><b>  }</b></p><p><b>  else{</b></p><p>  m_BookSet.Edit();</p>

127、<p>  m_BookSet.m_number = m_BookSet.m_number + atoi(m_strNumber);</p><p>  m_BookSet.m_date = time;</p><p><b>  }</b></p><p>  m_BookSet.Update();</p><

128、;p>  m_BookSet.Close();</p><p>  m_BookSet.m_pDatabase->Close();</p><p><b>  }</b></p><p>  catch(CDBException *e){</p><p>  e->ReportError();</

129、p><p><b>  }</b></p><p>  OnButtonAdd(); </p><p><b>  }</b></p><p>  (五)圖書(shū)信息設(shè)置模塊</p><p>  圖書(shū)信息模塊由圖書(shū)的信息設(shè)置和圖書(shū)的刪除功能。</p><p>

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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)論