2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩80頁(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>  基于VC++的工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p><b>  摘 要</b></p><p>  隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,計(jì)算機(jī)在企業(yè)管理中應(yīng)用越來(lái)越普及。利用計(jì)算機(jī)實(shí)現(xiàn)企業(yè)人事工資的管理勢(shì)在必行。本系統(tǒng)是結(jié)合公司實(shí)際的財(cái)務(wù)制度,經(jīng)過(guò)實(shí)際的需求分析,采用功能強(qiáng)大的Visual C++ 6.0做為開(kāi)發(fā)工具而開(kāi)發(fā)出來(lái)的單機(jī)版工資管理系統(tǒng)。&

2、lt;/p><p>  工資管理系統(tǒng)是針對(duì)企業(yè)的工資管理業(yè)務(wù)進(jìn)行計(jì)算機(jī)處理而開(kāi)發(fā)的應(yīng)用軟件。整個(gè)系統(tǒng)從符合操作簡(jiǎn)便、界面友好、靈活、實(shí)用、安全的要求出發(fā),完成人事、工資管理的全過(guò)程,企業(yè)的工資管理是公司管理的一個(gè)重要內(nèi)容。該系統(tǒng)由基本信息管理、工資管理、工資查詢、系統(tǒng)管理、幫助等子模塊組成,功能基本涵蓋普通企業(yè)的工資管理業(yè)務(wù)范圍。企業(yè)應(yīng)用本系統(tǒng)后,可以有效的提高工資管理水平。本文從需求分析、可行性分析、總體設(shè)計(jì)、數(shù)據(jù)

3、庫(kù)設(shè)計(jì)、功能模塊編程實(shí)現(xiàn)等方面闡述了本系統(tǒng)的設(shè)計(jì)過(guò)程。為便于說(shuō)明,文中繪制了程序結(jié)構(gòu)框圖、部分界面圖和數(shù)據(jù)表。最后附有主要的源程序代碼清單。</p><p>  關(guān)鍵詞 :數(shù)據(jù)庫(kù) Visual C++ 6.0 工資管理</p><p>  The design approach and implementation of the wages management system ba

4、sed on vc++</p><p>  Abstract </p><p>  With the development of the computer technology and computers are universally used in business enterprise manage more and more, so it is imperati

5、ve to implement The Management of Enterprise Personnel Wages using computers. Actual company finance is combinative in this system. I have already made demand analysis and adopted Visual C++ 6.0 which is mighty in functi

6、on as the tool to develop the management of enterprise personnel wages system that is the single machine version.</p><p>  Salary Management System is specially designed for the application of device managin

7、g of enterprise. The whole system must match the request which are operation simple, the interface amity, vivid, practical and safe and complete the management of personal and wages process. The Management of Enterprise

8、Personnel Wage is an important content in company manage. The system is consisted with six subsystems. They are system maintenance, querying, forming and listing. These functions can meet the dema</p><p>  K

9、eywords: Database; Visual C++ 6.0; Salary management</p><p><b>  目 錄</b></p><p><b>  1 引言1</b></p><p>  2 系統(tǒng)需求分析2</p><p><b>  3 可行性分

10、析3</b></p><p><b>  4 總體設(shè)計(jì)4</b></p><p>  4.1 系統(tǒng)功能結(jié)構(gòu)4</p><p>  4.2 設(shè)計(jì)目標(biāo)4</p><p><b>  5 系統(tǒng)設(shè)計(jì)5</b></p><p>  5.1 使用的相關(guān)技術(shù)介紹5&

11、lt;/p><p>  5.2 數(shù)據(jù)庫(kù)設(shè)計(jì)5</p><p>  5.2.1 數(shù)據(jù)庫(kù)概要說(shuō)明5</p><p>  5.2.2 部分?jǐn)?shù)據(jù)表的結(jié)構(gòu)6</p><p>  5.2.3 部分E-R模型的設(shè)計(jì)7</p><p>  6 主要功能模塊設(shè)計(jì)9</p><p>  6.1 建立工程框架

12、9</p><p>  6.2 主窗口設(shè)計(jì)11</p><p>  6.2.1 菜單資源設(shè)計(jì)11</p><p>  6.2.2 客戶區(qū)設(shè)計(jì)12</p><p>  6.3 登錄模塊設(shè)計(jì)13</p><p>  6.3.1 實(shí)現(xiàn)目標(biāo)13</p><p>  6.3.2 設(shè)計(jì)步驟13&

13、lt;/p><p>  6.3.3 代碼分析14</p><p>  6.4 員工錄入模塊設(shè)計(jì)15</p><p>  6.4.1 實(shí)現(xiàn)目標(biāo)15</p><p>  6.4.2 設(shè)計(jì)步驟16</p><p>  6.4.3 代碼分析16</p><p>  6.5 員工工資添加模塊設(shè)計(jì)1

14、9</p><p>  6.5.1 實(shí)現(xiàn)目標(biāo)19</p><p>  6.5.2 設(shè)計(jì)步驟19</p><p>  6.5.3 代碼分析20</p><p>  6.6 用戶管理模塊設(shè)計(jì)25</p><p>  6.6.1 實(shí)現(xiàn)目標(biāo)25</p><p>  6.6.2 設(shè)計(jì)步驟25&

15、lt;/p><p>  6.6.3 代碼分析26</p><p>  6.7 總體查詢模塊設(shè)計(jì)29</p><p>  6.7.1 實(shí)現(xiàn)目標(biāo)29</p><p>  6.7.2 設(shè)計(jì)步驟29</p><p>  6.7.3 代碼分析33</p><p><b>  7 結(jié)論39

16、</b></p><p><b>  謝辭40</b></p><p><b>  參考文獻(xiàn)41</b></p><p><b>  附錄42</b></p><p><b>  外文翻譯68</b></p><p&

17、gt;<b>  1 引言</b></p><p>  隨著我國(guó)國(guó)民經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展和具有中國(guó)特色的社會(huì)主義市場(chǎng)經(jīng)濟(jì)體制的迅速完善,各個(gè)行業(yè)都在積極使用現(xiàn)代化的管理工具,不斷改善企業(yè)的服務(wù)質(zhì)量,提高工作效率。無(wú)論是行政職能,還是生產(chǎn)運(yùn)作的管理要求的不斷提高,在很大程度上使企業(yè)不得不改變傳統(tǒng)的經(jīng)營(yíng)管理方式以適應(yīng)快速發(fā)展的社會(huì)主義市場(chǎng)經(jīng)濟(jì)體制,改變企業(yè)管理方式和方法已經(jīng)成為企業(yè)發(fā)展的先決條件,

18、建立一個(gè)科學(xué)高效的信息管理系統(tǒng)是解決這一問(wèn)題的好方法。</p><p>  運(yùn)用現(xiàn)代化技術(shù)對(duì)企業(yè)內(nèi)部的財(cái)務(wù)進(jìn)行管理,是提高企業(yè)工作效率的有效手段。工資管理作為企業(yè)內(nèi)部財(cái)務(wù)管理的一個(gè)重要方面,逐步被企業(yè)管理者所重視。通過(guò)計(jì)算機(jī)管理系統(tǒng)對(duì)員工工資進(jìn)行全面的統(tǒng)計(jì)與管理,全面解決了工資管理過(guò)程中所遇到的各種問(wèn)題,并且克服了傳統(tǒng)管理方式中的易出錯(cuò)等問(wèn)題。工資管理系統(tǒng)成為企業(yè)現(xiàn)代化管理中的首選管理工具。</p>

19、<p><b>  2 系統(tǒng)需求分析</b></p><p>  員工工資管理系統(tǒng)是保證企業(yè)對(duì)員工工資的管理可以有秩序的進(jìn)行的管理軟件。員工工資管理系統(tǒng)是用于企業(yè)對(duì)員工工資進(jìn)行的集中分發(fā)管理,開(kāi)發(fā)的總體任務(wù)是實(shí)現(xiàn)工資管理的系統(tǒng)化、規(guī)范化和自動(dòng)化,從而達(dá)到提高工資管理效率的目的[1]。</p><p>  工資管理系統(tǒng)主要根據(jù)公司的要求進(jìn)行設(shè)計(jì),并了解了公司

20、工資的工作流程,該系統(tǒng)是由基本信息管理、工資查詢、工資管理、系統(tǒng)管理和幫助等幾個(gè)功能模塊組成,規(guī)劃系統(tǒng)功能模塊如下:</p><p>  (1)基本信息管理模塊</p><p>  基本信息管理模塊主要包括員工錄入、員工刪除兩個(gè)部分。</p><p><b>  (2)工資查詢模塊</b></p><p>  工資查詢模

21、塊主要包括基本工資查詢、浮動(dòng)工資查詢、加班/休假查詢、總體查詢四個(gè)部分。</p><p><b>  (3)工資管理模塊</b></p><p>  工資管理模塊主要包括工資發(fā)放管理、基本工資管理、浮動(dòng)工資管理三個(gè)部分。</p><p><b>  (4)系統(tǒng)管理模塊</b></p><p>  系

22、統(tǒng)管理模塊主要包括用戶管理、修改密碼、退出系統(tǒng)三個(gè)部分。</p><p><b>  (5)幫助模塊</b></p><p>  幫助模塊主要包括關(guān)于一個(gè)部分。</p><p><b>  3 可行性分析</b></p><p>  傳統(tǒng)的工資管理方法,都是通過(guò)人工統(tǒng)計(jì)和計(jì)算的管理方式進(jìn)行的。這樣的

23、管理方法不但費(fèi)時(shí)費(fèi)力,也容易產(chǎn)生計(jì)算上的錯(cuò)誤和疏漏;計(jì)算機(jī)技術(shù)的全面普及,打破了財(cái)務(wù)管理的傳統(tǒng)管理方法,提高了管理效率的同時(shí),克服了傳統(tǒng)管理方法中易產(chǎn)生的問(wèn)題,使管理員能夠有序的、全面的對(duì)每一位職工進(jìn)行管理,嚴(yán)格按照工資條款及發(fā)放制度計(jì)算并發(fā)放員工工資。</p><p>  企業(yè)工資管理系統(tǒng)可以完成日常工資的管理,如查詢、修改、增加、刪除以及存儲(chǔ)等操作,迅速準(zhǔn)確地完成各種工資數(shù)據(jù)的統(tǒng)計(jì)和匯總工作,快速打印出工資報(bào)

24、表等,大大提高了企業(yè)工資管理效率[2]。</p><p><b>  4 總體設(shè)計(jì)</b></p><p>  系統(tǒng)總體設(shè)計(jì)是把需求轉(zhuǎn)化為軟件系統(tǒng)的最重要的環(huán)節(jié)。系統(tǒng)總體設(shè)計(jì)的優(yōu)劣在根本上決定了軟件系統(tǒng)的質(zhì)量[3]。</p><p>  4.1 系統(tǒng)功能結(jié)構(gòu)</p><p>  工資系統(tǒng)的功能結(jié)構(gòu)如圖1所示。</p

25、><p><b>  圖1 系統(tǒng)功能圖</b></p><p><b>  4.2 設(shè)計(jì)目標(biāo)</b></p><p>  本系統(tǒng)是根據(jù)中小企業(yè)的實(shí)際需求而開(kāi)發(fā)的,完全能夠?qū)崿F(xiàn)企業(yè)對(duì)客戶的自動(dòng)化管理,通過(guò)本系統(tǒng)可以達(dá)到以下目標(biāo):</p><p>  (1)系統(tǒng)運(yùn)行穩(wěn)定,安全可靠。</p>

26、<p>  (2)界面設(shè)計(jì)美觀,人機(jī)交互界面友好。</p><p>  (3)信息查詢靈活、方便、快捷、準(zhǔn)確,數(shù)據(jù)存儲(chǔ)安全可靠。</p><p>  (4)采用多種方式查詢數(shù)據(jù)。</p><p>  (5)操作員可以隨時(shí)修改自己的口令。</p><p>  (6)對(duì)用戶輸入的數(shù)據(jù),系統(tǒng)進(jìn)行嚴(yán)格的數(shù)據(jù)檢驗(yàn),盡可能排除人為的錯(cuò)誤。<

27、;/p><p><b>  5 系統(tǒng)設(shè)計(jì)</b></p><p>  5.1 使用的相關(guān)技術(shù)介紹</p><p>  Visual C++是Microsoft Visual Studio開(kāi)發(fā)組件中最為強(qiáng)大的編程工具。一方面,它是當(dāng)今最為流行的系統(tǒng)開(kāi)發(fā)語(yǔ)言,另一方面,它能夠和Microsoft的操作系統(tǒng)無(wú)縫結(jié)合,開(kāi)發(fā)出高性能的Windows應(yīng)用程序[

28、3]。在數(shù)據(jù)庫(kù)領(lǐng)域,Visual C++的表現(xiàn)也異常搶眼,它提供了多種數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù),支持幾乎所有的數(shù)據(jù)庫(kù)系統(tǒng),如SQL Server,DB2,Sybase,F(xiàn)oxPro,Access等;而且還提供了良好的開(kāi)發(fā)環(huán)境和豐富的文檔支持??傊肰isual C++可以開(kāi)發(fā)出功能強(qiáng)大、性能優(yōu)良和界面友好的數(shù)據(jù)庫(kù)應(yīng)用程序,這也正是許多公司長(zhǎng)期以來(lái)采用Visual C++開(kāi)發(fā)數(shù)據(jù)庫(kù)系統(tǒng)的重要原因[3]。Visual C++提供了可視化的編程環(huán)境

29、,不僅可以編寫面向用戶的應(yīng)用程序,而且還適用于編寫直接對(duì)系統(tǒng)或設(shè)備操作的底層程序[4]。</p><p>  SQL Server 2000在SQL Server 7.0版的基礎(chǔ)上擴(kuò)展了數(shù)據(jù)庫(kù)管理系統(tǒng)的性能、可靠性、質(zhì)量和易用性。由于增加了這幾種新的功能,因此它成為大規(guī)模聯(lián)機(jī)事務(wù)處理(OLTP)、數(shù)據(jù)倉(cāng)庫(kù)和電子商務(wù)應(yīng)用程序的優(yōu)秀數(shù)據(jù)庫(kù)平臺(tái)[5]。SQL Server 2000是基于SQL客戶/服務(wù)器(C/S)模式

30、的數(shù)據(jù)庫(kù)系統(tǒng),其圖形化界面使數(shù)據(jù)庫(kù)管理更加簡(jiǎn)潔、靈活,同時(shí)又具有豐富的編程接口,為用戶從事程序開(kāi)發(fā)提供了更多的方便。使用SQL Server 2000可以獲得非凡的可伸縮性和可靠性。通過(guò)向上伸縮和向外擴(kuò)展的能力,SQL Server滿足了苛刻的電子商務(wù)和企業(yè)應(yīng)用程序要求。</p><p>  ADO是ActiveX Data Object(ActiveX數(shù)據(jù)對(duì)象)的縮寫,是目前最流行的客戶端數(shù)據(jù)庫(kù)技術(shù)。ADO是建

31、立在OLE DB底層技術(shù)之上的高級(jí)編程接口[6]。</p><p><b>  5.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p>  5.2.1 數(shù)據(jù)庫(kù)概要說(shuō)明</p><p>  在使用數(shù)據(jù)庫(kù)之前,先創(chuàng)建數(shù)據(jù)庫(kù)[7]。數(shù)據(jù)表是包含數(shù)據(jù)庫(kù)中所有數(shù)據(jù)的數(shù)據(jù)庫(kù)對(duì)象,表定義為列的集合[8]。數(shù)據(jù)庫(kù)GZFFXT中包括員工基礎(chǔ)信息表、員工基本工資表、員工浮動(dòng)工

32、資表、員工加班/休假表、工資發(fā)放明細(xì)表、用戶表6個(gè)數(shù)據(jù)表。</p><p>  圖2所示的即為本系統(tǒng)中數(shù)據(jù)庫(kù)中的數(shù)據(jù)表結(jié)構(gòu)圖,該數(shù)據(jù)表結(jié)構(gòu)圖包含系統(tǒng)所有數(shù)據(jù)表??梢郧逦胤从硵?shù)據(jù)庫(kù)信息。</p><p>  圖2 數(shù)據(jù)庫(kù)概要說(shuō)明</p><p>  5.2.2 部分?jǐn)?shù)據(jù)表的結(jié)構(gòu)</p><p>  表1 Ygjcxxb(員工基礎(chǔ)信息表)&

33、lt;/p><p>  表2 Ygjbgzb(員工基本工資表)</p><p>  表3 Ygfdgzxmb(員工浮動(dòng)工資表)</p><p>  表4 Ygjbsjb(員工加班休假表)</p><p>  5.2.3 部分E-R模型的設(shè)計(jì)</p><p>  圖3 系統(tǒng)部分實(shí)體—屬性圖</p>&l

34、t;p>  圖4 系統(tǒng)部分實(shí)體—屬性圖</p><p>  圖5 系統(tǒng)部分實(shí)體—屬性圖</p><p>  圖6 系統(tǒng)部分實(shí)體—屬性圖</p><p>  圖7 系統(tǒng)部分實(shí)體—屬性圖</p><p>  6 主要功能模塊設(shè)計(jì)</p><p>  6.1 建立工程框架</p><p>

35、;  直接利用MFC AppWizard應(yīng)用程序向?qū)?chuàng)建一個(gè)基于對(duì)話框的應(yīng)用程序[9],對(duì)話框是Windows應(yīng)用程序中的一種常用資源,其主要功能是輸出信息和接收用戶的輸入數(shù)據(jù)[10]。</p><p>  在Visual C++中建立工資管理系統(tǒng)的基本框架,步驟如下:</p><p>  單擊菜單“File-->New”命令,打開(kāi)“New”對(duì)話框,單擊“Projects”選項(xiàng)卡,選

36、擇“MFC AppWizard(exe)”,輸入工程名,并設(shè)置路徑,如圖8所示。</p><p>  圖8 “New”對(duì)話框</p><p>  單擊“OK”按鈕,“MFC AppWizard-Step1”對(duì)話框已經(jīng)打開(kāi),如圖9所示,選項(xiàng)“Dialog based”,接著單擊“Next”按鈕。</p><p>  圖9 “MFC AppWizard-Step 1

37、”對(duì)話框</p><p>  在彈出的“MFC AppWizard-Step 2 of 4”對(duì)話框中,輸入對(duì)話框標(biāo)題,如圖10所示。</p><p>  圖10 “MFC AppWizard-Step 2 of 4”對(duì)話框</p><p>  在接下來(lái)的對(duì)話框中保持默認(rèn)的選項(xiàng)。設(shè)置好的屬性如圖11所示,單擊“OK”按鈕后,就完成了新建工程。</p>

38、<p>  圖11 設(shè)計(jì)好的工程屬性</p><p><b>  6.2 主窗口設(shè)計(jì)</b></p><p>  6.2.1 菜單資源設(shè)計(jì)</p><p>  在程序設(shè)計(jì)中,我們所要做的很大一部分工作是對(duì)程序的輸入進(jìn)行響應(yīng),而我們最常用的選擇方式就是用菜單進(jìn)行選擇。在Visual C++ 6.0中,菜單功能的實(shí)現(xiàn)(比如增減菜單和菜單

39、項(xiàng),定義菜單的ID,菜單的布局以及菜單的初始化,提示信息等)都是通過(guò)資源文件和相關(guān)函數(shù)來(lái)實(shí)現(xiàn)的[11]。</p><p>  主窗口菜單設(shè)置的主要步驟如下:</p><p>  (1) 單擊“ResourceView”選項(xiàng)卡,右鍵單擊“GZGLXT Resources”選項(xiàng),選擇“Insert”菜單項(xiàng),打開(kāi)“Insert Resource”窗口,如圖12所示。</p><

40、;p>  圖12 “Insert Resource”窗口</p><p>  (2) 選擇“Menu”文件夾,單擊“New”按鈕,在GZGLXT Resources目錄下新增一個(gè)Menu目錄項(xiàng),菜單ID為IDR_MENU1。雙擊此菜單,對(duì)此菜單項(xiàng)的屬性進(jìn)行設(shè)計(jì)。</p><p>  6.2.2 客戶區(qū)設(shè)計(jì)</p><p>  (1) 打開(kāi)對(duì)話框IDD_GZG

41、LXT_DIALOG屬性窗口,在對(duì)話框中添加1個(gè)Picture控件,用來(lái)存放圖片。在Menu組合框中選擇IDR_MENU1。如圖13所示。</p><p>  圖13 系統(tǒng)主界面</p><p>  (2) 打開(kāi)ClassWizard窗口,為菜單項(xiàng)ID_EXIT添加代碼。程序調(diào)用OnOK()函數(shù)關(guān)閉對(duì)話框,退出系統(tǒng)。</p><p>  void CGZGLXTD

42、lg::OnExit() </p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p><b>  OnOK();</b></p><p><b>  }</b></p

43、><p>  6.3 登錄模塊設(shè)計(jì)</p><p>  6.3.1 實(shí)現(xiàn)目標(biāo)</p><p>  登錄模塊功能是完成用戶登錄本系統(tǒng)的操作[2],用戶登錄對(duì)話框的設(shè)計(jì)如圖14所示。</p><p>  圖14 登錄對(duì)話框</p><p>  6.3.2 設(shè)計(jì)步驟</p><p>  (1) 向項(xiàng)目中

44、添加一個(gè)新Dialog資源,資源ID為IDD_LOGIN。在IDD_LOGIN對(duì)話框資源中單擊鼠標(biāo)右鍵,執(zhí)行彈出快捷菜單的“Properties”菜單命令,打開(kāi)“Dialog Properties”對(duì)話框。在“Dialog Properties”對(duì)話框中選擇General選項(xiàng)卡,更改其“Caption”文本框內(nèi)容為“登錄框”。</p><p>  (2) 從Controls面板上向Dialog資源中添加2個(gè)Sta

45、tic、1個(gè)Picture、2個(gè)Edit,更改資源的屬性,并為資源設(shè)置相對(duì)應(yīng)的變量,如表5所示。</p><p><b>  表5 資源設(shè)置</b></p><p>  6.3.3 代碼分析</p><p>  (1) 引用的外部變量。</p><p>  extern CCzyxxb ffxxb;</p>

46、<p>  (2) 響應(yīng)“登錄”按鈕的代碼。</p><p>  void CLogin::OnOK() </p><p><b>  {</b></p><p>  // TODO: Add extra validation here</p><p>  //將對(duì)話框中編輯框的數(shù)據(jù)讀取到成員變量中<

47、/p><p>  UpdateData(true);</p><p>  if(m_name=="")</p><p><b>  {</b></p><p>  MessageBox("請(qǐng)輸入用戶名");</p><p><b>  return;&

48、lt;/b></p><p><b>  }</b></p><p>  //如果讀取數(shù)據(jù)和用戶輸入不同,則返回</p><p>  if(ffxxb.HaveCzy(m_name,m_pwd)!=1)</p><p><b>  {</b></p><p>  Mes

49、sageBox("用戶名或密碼錯(cuò)誤!");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  ffxxb.SetCzyName(m_name);</p><p><b>  jb="1";

50、</b></p><p>  //判斷當(dāng)前用戶級(jí)別</p><p>  if(ffxxb.HaveCzyjb(m_name,m_pwd,jb)==1)</p><p><b>  {</b></p><p>  ffxxb.SetCzyjb(jb);</p><p><b>

51、  }</b></p><p>  CDialog::OnOK();</p><p><b>  }</b></p><p>  下面在主對(duì)話框中添加代碼,使對(duì)話框在啟動(dòng)時(shí)首先打開(kāi)登錄對(duì)話框。在主窗口選擇OnInitDialog函數(shù),該函數(shù)將打開(kāi)登錄對(duì)話框,如果用戶不是通過(guò)單擊“登錄”按鈕關(guān)閉對(duì)話框,則調(diào)用OnOK函數(shù)關(guān)閉主對(duì)話框,

52、具體代碼如下:</p><p>  BOOL CWordGLXTDlg::OnInitDialog()</p><p><b>  {</b></p><p>  CDialog::OnInitDialog();</p><p><b>  ......</b></p><p&g

53、t;  // TODO: Add extra initialization here</p><p>  CLogin gin;</p><p>  if(gin.DoModal()!=IDOK)</p><p><b>  OnOK();</b></p><p><b>  ......</b>&

54、lt;/p><p>  return TRUE; // return TRUE unless you set the focus to a control</p><p><b>  }</b></p><p>  6.4 員工錄入模塊設(shè)計(jì)</p><p>  6.4.1 實(shí)現(xiàn)目標(biāo)</p><p>

55、;  添加員工信息,員工錄入對(duì)話框的設(shè)計(jì)如圖15所示。</p><p>  圖15 員工錄入對(duì)話框</p><p>  6.4.2 設(shè)計(jì)步驟</p><p>  (1) 向項(xiàng)目中添加一個(gè)新Dialog資源,資源ID為IDD_YGTJK。在IDD_YGTJK對(duì)話框資源中單擊鼠標(biāo)右鍵,執(zhí)行彈出快捷菜單的“Properties”菜單命令,打開(kāi)“Dialog Proper

56、ties”對(duì)話框。在“Dialog Properties”對(duì)話框中選擇General選項(xiàng)卡,更改其“Caption”文本框內(nèi)容為“員工錄入”。</p><p>  (2) 從Controls面板上向Dialog資源中添加4個(gè)Static、2個(gè)Combo、2個(gè)Edit,更改資源的屬性,并為資源設(shè)置相對(duì)應(yīng)的變量,如表6所示。</p><p><b>  表6 資源設(shè)置</b&

57、gt;</p><p>  6.4.3 代碼分析</p><p>  (1) 打開(kāi)ClassWizard窗口,添加在OnInitDialog成員函數(shù),向OnInitDialog添加代碼如下。</p><p>  BOOL CYgjctjdlg::OnInitDialog() </p><p><b>  {</b><

58、;/p><p>  CDialog::OnInitDialog();</p><p>  // TODO: Add extra initialization here</p><p>  SetIcon(m_hIcon, TRUE);</p><p>  m_sex.AddString("男");</p><

59、;p>  m_sex.AddString("女");</p><p>  m_whcd.InsertString(0,"???quot;);</p><p>  m_whcd.InsertString(1,"本科");</p><p>  m_whcd.InsertString(2,"研究生"

60、;);</p><p>  return TRUE; // return TRUE unless you set the focus to a control</p><p>  // EXCEPTION: OCX Property Pages should return FALSE</p><p><b>  }</b></p>

61、<p>  (2) 當(dāng)用戶單擊“添加“按鈕時(shí),實(shí)現(xiàn)添加員工功能,其響應(yīng)代碼如下</p><p>  void CYgjctjdlg::OnOK() </p><p><b>  {</b></p><p>  // TODO: Add extra validation here</p><p>  CYgj

62、cxxb xxb;</p><p>  UpdateData(true);</p><p>  if(m_id=="")</p><p><b>  {</b></p><p>  MessageBox("編號(hào)不能為空");</p><p><b>

63、;  return;</b></p><p><b>  }</b></p><p>  if(m_name=="")</p><p><b>  {</b></p><p>  MessageBox("姓名不能為空");</p>&

64、lt;p><b>  return;</b></p><p><b>  }</b></p><p>  if(xxb.HaveId(m_id)==1)</p><p><b>  {</b></p><p>  MessageBox("員工編號(hào)已存在"

65、;);</p><p><b>  return;</b></p><p><b>  }</b></p><p>  xxb.SetYGid(m_id);</p><p>  xxb.SetYGxm(m_name);</p><p>  CString sex,whcd;&

66、lt;/p><p>  m_sex.GetWindowText(sex);</p><p>  if(sex=="")</p><p><b>  {</b></p><p>  MessageBox("性別不能為空");</p><p><b>  

67、return;</b></p><p><b>  }</b></p><p>  //從組合框中讀取文本</p><p>  m_sex.GetLBText(m_sex.GetCurSel(),strsex);</p><p>  xxb.SetSex(strsex);</p><p&g

68、t;  m_whcd.GetWindowText(whcd);</p><p>  if(whcd=="")</p><p><b>  {</b></p><p>  MessageBox("文化程度不能為空");</p><p><b>  return;</b

69、></p><p><b>  }</b></p><p>  m_whcd.GetLBText(m_whcd.GetCurSel(),strwhcd);</p><p>  xxb.SetWHcd(strwhcd);</p><p>  xxb.sql_insert();</p><p>

70、  //向浮動(dòng)工資表添加編號(hào)、姓名</p><p>  CYgfdgzxmb xmb;</p><p>  xmb.SetYGid(m_id);</p><p>  xmb.SetYGxm(m_name);</p><p>  xmb.sql_insert();</p><p>  //向基本工資表添加編號(hào)、姓名<

71、;/p><p>  CYgjbgzb gzb;</p><p>  gzb.SetYGid(m_id);</p><p>  gzb.SetYGxm(m_name);</p><p>  gzb.sql_insert();</p><p>  //向加班休假表添加編號(hào)、姓名</p><p>  CY

72、gjbsjb sjb;</p><p>  sjb.SetYGid(m_id);</p><p>  sjb.SetYGxm(m_name);</p><p>  sjb.sql_insert();</p><p>  CDialog::OnOK();</p><p><b>  }</b><

73、;/p><p>  避免漏輸現(xiàn)象:對(duì)于一個(gè)軟件來(lái)說(shuō),在保證一定功能的基礎(chǔ)上,給使用者留出的出錯(cuò)機(jī)會(huì)越少,那么開(kāi)發(fā)出來(lái)的軟件越成功。本系統(tǒng)在用戶漏輸某個(gè)重要字段時(shí),系統(tǒng)會(huì)彈出提示對(duì)話框警告,這個(gè)功能主要是在保存時(shí)判斷文本框的值是否為空,如果不為空,就繼續(xù)向下執(zhí)行;如果為空,彈出錯(cuò)誤提示[12]。</p><p>  6.5 員工工資添加模塊設(shè)計(jì)</p><p>  6.5

74、.1 實(shí)現(xiàn)目標(biāo)</p><p>  添加員工實(shí)際發(fā)放的工資情況,員工工資添加對(duì)話框設(shè)計(jì)如圖16所示。</p><p>  圖16 員工工資添加對(duì)話框</p><p>  6.5.2 設(shè)計(jì)步驟</p><p>  (1) 向項(xiàng)目中添加一個(gè)新Dialog資源,資源ID為IDD_YGGONGZITJ。在IDD_YGGONGZITJ對(duì)話框資源中單擊

75、鼠標(biāo)右鍵,執(zhí)行彈出快捷菜單的 “Properties”菜單命令,打開(kāi)“Dialog Properties”對(duì)話框。在“Dialog Properties”對(duì)話框中選擇General選項(xiàng)卡,更改其“Caption”文本框內(nèi)容為“員工工資添加”。</p><p>  (2) 從Controls面板上向Dialog資源中添加19個(gè)Static、17個(gè)Edit、2個(gè)Button控件,更改資源的屬性,并為資源設(shè)置相對(duì)應(yīng)的變

76、量,如表7所示。</p><p><b>  表7 資源設(shè)置</b></p><p>  6.5.3 代碼分析</p><p>  (1) 雙擊“IDC_EDIT9”控件,自動(dòng)生成OnChangeEdit9函數(shù),實(shí)現(xiàn)用戶添加加班天數(shù)時(shí),加班工資自動(dòng)計(jì)算并顯示,具體代碼如下:</p><p>  void CYggztj

77、dlg::OnChangeEdit9() </p><p><b>  {</b></p><p>  // TODO: If this is a RICHEDIT control, the control will not</p><p>  // send this notification unless you override the

78、CDialog::OnInitDialog()</p><p>  // function and call CRichEditCtrl().SetEventMask()</p><p>  // with the ENM_CHANGE flag ORed into the mask.</p><p>  UpdateData(true);</p>&

79、lt;p>  CString str;</p><p>  str.Format("%d",m_jiabts*40);</p><p>  m_jiabgz.SetWindowText(str);</p><p>  UpdateData(false);</p><p>  // TODO: Add your con

80、trol notification handler code here</p><p><b>  }</b></p><p>  (2) 雙擊“上月余額”按鈕,系統(tǒng)自動(dòng)添加消息響應(yīng)函數(shù)OnBUTTONsyye,具體代碼如下。</p><p>  void CYggztjdlg::OnBUTTONsyye() </p><p

81、><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(true);</p><p>  if(m_id=="")</p><p><b>

82、  {</b></p><p>  MessageBox("請(qǐng)先填寫員工編號(hào)");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  ADOConn m_AdoConn;</p><p&

83、gt;  m_AdoConn.OnInitADOConn();</p><p>  t = CTime::GetCurrentTime();</p><p><b>  int m,y;</b></p><p>  CString str;</p><p>  m=t.GetMonth()-1;</p>&

84、lt;p>  y=t.GetYear();</p><p><b>  if(m==0)</b></p><p><b>  {</b></p><p><b>  m=12;</b></p><p><b>  y=y-1;</b></p&g

85、t;<p><b>  }</b></p><p>  CGzffmxb mxb;</p><p>  if(mxb.Havesyye(m_id,y,m)==1)</p><p><b>  {</b></p><p>  CString sql;</p><p&g

86、t;  sql.Format("select * from gzffmxb where ygid='%s' and year(sjian)='%i' and month(sjian)='%i'",m_id,y,m);</p><p>  m_AdoConn.GetRecordSet((_bstr_t)sql);</p><p&

87、gt;  str=(char*)(_bstr_t)m_AdoConn.m_pRecordset->GetCollect("Yu_E");</p><p>  m_syye.SetWindowText(str);</p><p><b>  }</b></p><p><b>  else</b>&

88、lt;/p><p><b>  {</b></p><p>  m_syye.SetWindowText("0");</p><p><b>  }</b></p><p>  UpdateData(false);</p><p>  m_AdoConn.Ex

89、itConnect();</p><p><b>  }</b></p><p>  在頭文件中添加下列代碼。</p><p><b>  CTime t;</b></p><p>  (3) 雙擊“應(yīng)發(fā)工資”按鈕,系統(tǒng)自動(dòng)添加消息響應(yīng)函數(shù)OnBUTTONyfgz,具體代碼如下:</p>

90、<p>  void CYggztjdlg::OnBUTTONyfgz() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(true);</p>&

91、lt;p>  CString syye;</p><p>  m_syye.GetWindowText(syye);</p><p>  if(syye=="")</p><p><b>  {</b></p><p>  MessageBox("請(qǐng)先添加上月余額");<

92、;/p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  int yfgz;</b></p><p>  yfgz=atoi(syye)+m_jbgz+m_glgz+m_zwgz+m_shbz+m_zfbz-m_ylbx

93、j;</p><p>  yfgz+=(-m_bxf+m_jiabts*40-m_sjts*40-m_grsds);</p><p>  CString str;</p><p>  str.Format("%d",yfgz);</p><p>  m_yfgz.SetWindowText(str);</p>

94、<p><b>  }</b></p><p>  (4) 為“添加”按鈕添加代碼,實(shí)現(xiàn)添加員工工資功能,代碼如下:</p><p>  void CYggztjdlg::OnOK() </p><p><b>  {</b></p><p>  // TODO: Add extra v

95、alidation here</p><p>  UpdateData(true);</p><p>  CYgjcxxb xxb;</p><p>  CString yfgz;</p><p>  m_yfgz.GetWindowText(yfgz);</p><p>  if(m_id==""

96、)</p><p><b>  {</b></p><p>  MessageBox("編號(hào)不能為空");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  if(xxb.

97、HaveId(m_id)!=1)</p><p><b>  {</b></p><p>  MessageBox("員工編號(hào)不存在");</p><p><b>  return;</b></p><p><b>  }</b></p>&l

98、t;p>  if(m_name=="")</p><p><b>  {</b></p><p>  MessageBox("姓名不能為空");</p><p><b>  return;</b></p><p><b>  }</b&g

99、t;</p><p>  if(xxb.Havename(m_id,m_name)!=1)</p><p><b>  {</b></p><p>  MessageBox("員工不存在");</p><p><b>  return;</b></p><p&

100、gt;<b>  }</b></p><p>  if(yfgz=="")</p><p><b>  {</b></p><p>  MessageBox("應(yīng)發(fā)工資不能為空");</p><p><b>  return;</b>&l

101、t;/p><p><b>  }</b></p><p>  CGzffmxb mxb;</p><p>  mxb.SetYGid(m_id);</p><p>  mxb.SetYGxm(m_name);</p><p>  mxb.SetGLgz(m_glgz);</p><

102、p>  mxb.SetJBgz(m_jbgz);</p><p>  mxb.SetYLbxj(m_ylbxj);</p><p>  mxb.SetZWgz(m_zwgz);</p><p>  mxb.SetBXf(m_bxf);</p><p>  mxb.SetGRsds(m_grsds);</p><p&g

103、t;  mxb.SetSHbz(m_shbz);</p><p>  mxb.SetZFbz(m_zfbz);</p><p>  mxb.SetJiaBts(m_jiabts);</p><p>  int jiabgz;</p><p>  jiabgz=m_jiabts*40;</p><p>  mxb.Set

104、JiaBgz(jiabgz);</p><p>  mxb.SetSjts(m_sjts);</p><p><b>  int sjkk;</b></p><p>  sjkk=m_sjts*40;</p><p>  mxb.SetSJkk(sjkk);</p><p>  mxb.SetYF

105、je(atoi(yfgz));</p><p>  mxb.SetSFje(m_sfgz);</p><p>  mxb.sql_insert();</p><p>  CYgjbsjb sjb;</p><p>  sjb.SetJiaBts(m_jiabts);</p><p>  sjb.SetJiaBgz(ji

106、abgz);</p><p>  sjb.SetSjts(m_sjts);</p><p>  sjb.SetSJkk(sjkk);</p><p>  sjb.sql_update(m_id);</p><p>  CDialog::OnOK();</p><p><b>  }</b><

107、/p><p>  6.6 用戶管理模塊設(shè)計(jì)</p><p>  6.6.1 實(shí)現(xiàn)目標(biāo)</p><p>  實(shí)現(xiàn)新建、刪除用戶功能,用戶管理對(duì)話框設(shè)計(jì)如圖17所示。</p><p>  圖17 用戶管理對(duì)話框</p><p>  6.6.2 設(shè)計(jì)步驟</p><p>  (1) 向項(xiàng)目中添加一個(gè)新D

108、ialog資源,資源ID為IDD_XINJYH。在IDD_XINJYH對(duì)話框資源中單擊鼠標(biāo)右鍵,執(zhí)行彈出快捷菜單的“Properties”菜單命令,打開(kāi)“Dialog Properties”對(duì)話框。在“Dialog Properties”對(duì)話框中選擇General選項(xiàng)卡,更改其“Caption”文本框內(nèi)容為“用戶管理”。</p><p>  (2) 從Controls面板上向Dialog資源中添加4個(gè)Static

109、、1個(gè)Combo、3個(gè)Edit、1個(gè)Button控件,更改資源的屬性,并為資源設(shè)置相對(duì)應(yīng)的變量,如表8所示。</p><p><b>  表8 資源設(shè)置</b></p><p>  6.6.3 代碼分析</p><p>  (1) 添加OnInitDialog()函數(shù),初始化Combo控件,具體代碼如下:</p><p&g

110、t;  BOOL CXinjyhdlg::OnInitDialog() </p><p><b>  {</b></p><p>  CDialog::OnInitDialog();</p><p>  // TODO: Add extra initialization here</p><p>  SetIcon(m_

111、hIcon, TRUE);</p><p>  m_jb.AddString("系統(tǒng)管理員");</p><p>  m_jb.AddString("普通管理員");</p><p>  return TRUE; // return TRUE unless you set the focus to a control<

112、/p><p>  // EXCEPTION: OCX Property Pages should return FALSE</p><p><b>  }</b></p><p>  (2) 為“添加”按鈕添加消息響應(yīng)函數(shù),代碼如下:</p><p>  void CXinjyhdlg::OnOK() </p>

113、<p><b>  {</b></p><p>  // TODO: Add extra validation here</p><p>  UpdateData(true);</p><p>  if(m_name=="")</p><p><b>  {</b>&

114、lt;/p><p>  MessageBox("請(qǐng)輸入用戶名");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  CString jb;</p><p>  m_jb.GetWindowText

115、(jb);</p><p>  if(jb=="")</p><p><b>  {</b></p><p>  MessageBox("級(jí)別不能為空");</p><p><b>  return;</b></p><p><b

116、>  }</b></p><p>  if(m_pwd=="")</p><p><b>  {</b></p><p>  MessageBox("請(qǐng)輸入密碼");</p><p><b>  return;</b></p>

117、<p><b>  }</b></p><p>  if(m_pwd1=="")</p><p><b>  {</b></p><p>  MessageBox("請(qǐng)確認(rèn)密碼");</p><p><b>  return;</b&

118、gt;</p><p><b>  }</b></p><p>  if(m_pwd!=m_pwd1)</p><p><b>  {</b></p><p>  MessageBox("兩次密碼不同");</p><p><b>  retur

119、n;</b></p><p><b>  }</b></p><p>  CCzyxxb xxb;</p><p>  if(xxb.Havename(m_name)==1)</p><p><b>  {</b></p><p>  MessageBox(&qu

120、ot;用戶以存在,請(qǐng)重新輸入");</p><p><b>  return;</b></p><p><b>  }</b></p><p>  xxb.SetCzyName(m_name);</p><p>  xxb.SetPwd(m_pwd);</p><p&g

121、t;  m_jb.GetLBText(m_jb.GetCurSel(),strjb);</p><p>  if(strjb=="系統(tǒng)管理員")</p><p>  strjb="1";</p><p><b>  else</b></p><p>  strjb="0&

122、quot;;</p><p>  xxb.SetCzyjb(strjb);</p><p>  xxb.sql_insert();</p><p>  CDialog::OnOK();</p><p><b>  }</b></p><p>  (3) 為“刪除”按鈕添加消息響應(yīng)函數(shù),代碼如下:&

123、lt;/p><p>  void CXinjyhdlg::OnButton1() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(true);</p&

124、gt;<p>  if(MessageBox("是否刪除當(dāng)前記錄","請(qǐng)確認(rèn)",MB_YESNO)==IDYES)</p><p><b>  {</b></p><p>  CCzyxxb xxb;</p><p>  xxb.sql_delete(m_name);</p>

125、<p><b>  }</b></p><p><b>  }</b></p><p>  (4) 當(dāng)用戶單擊主界面菜單中的“用戶管理”菜單項(xiàng)時(shí),將執(zhí)行OnMenuyhgl函數(shù),具體代碼如下:</p><p>  void CGZGLXTDlg::OnMenuyhgl() </p><p>

126、;<b>  {</b></p><p>  // TODO: Add your command handler code here</p><p>  if(ffxxb.GetCzyjb()=="1")</p><p><b>  {</b></p><p>  CXinjyh

127、dlg dlg;</p><p>  dlg.DoModal();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  MessageBox("沒(méi)有權(quán)

128、限");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  6.7 總體查詢模塊設(shè)計(jì)</p><p>  6.7.1 實(shí)現(xiàn)目標(biāo)</p&g

129、t;<p>  便于用戶查詢員工的工資,公司發(fā)放工資總額??傮w查詢對(duì)話框設(shè)計(jì)如圖18所示。</p><p>  圖18 “總體查詢”對(duì)話框</p><p>  6.7.2 設(shè)計(jì)步驟</p><p>  (1) 向項(xiàng)目中添加一個(gè)新Dialog資源,資源ID為IDD_ZTCX。在IDD_ZTCX對(duì)話框資源中單擊鼠標(biāo)右鍵,執(zhí)行彈出快捷菜單的“Propert

130、ies”菜單命令,打開(kāi)“Dialog Properties”對(duì)話框。在“Dialog Properties”對(duì)話框中選擇General選項(xiàng)卡,更改其“Caption”文本框內(nèi)容為“總體查詢”。</p><p>  (2) 從Controls面板上向Dialog資源中添加1個(gè)Static、1個(gè)DataCombo、2個(gè)Check Box控件、1個(gè)ADO Data控件、1個(gè)DataGrid、1個(gè)Date Time、1個(gè)

131、Button控件,更改資源的屬性,并為資源設(shè)置相對(duì)應(yīng)的變量,如表9所示。</p><p><b>  表9 資源設(shè)置</b></p><p>  (3) ADO Data控件具體設(shè)置如下。</p><p> ?、儆益I單擊該控件,從彈出的菜單中單擊“Properties”項(xiàng),彈出“ADO Data控件屬性”對(duì)話框。</p><

132、;p> ?、谠凇癎eneral”選項(xiàng)卡取消“Visible”復(fù)選框的選擇,因?yàn)橐话闶褂肁DO Data控件的對(duì)話框控件不可見(jiàn)。</p><p> ?、蹎螕簟巴ㄓ谩边x項(xiàng)卡,選擇“使用連接字符串”選項(xiàng),然后單擊“生成”按鈕,如圖19所示。</p><p>  圖19 設(shè)置數(shù)據(jù)源</p><p> ?、芙又鴱棾觥皵?shù)據(jù)連接屬性”對(duì)話框,在“提供者”頁(yè)中選擇“Micr

溫馨提示

  • 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)論