版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 人事管理系統(tǒng)</b></p><p> 《面向?qū)ο蟮木幊碳夹g(shù)》</p><p><b> 課程設(shè)計實驗報告</b></p><p> 應(yīng)用程序的名稱:人事管理系統(tǒng)</p><p> 2.應(yīng)用程序的主題和目的:制作能用于創(chuàng)建人事信息管理的系統(tǒng),</p>
2、<p> 創(chuàng)建人事管理數(shù)據(jù)表,反映職工的基本信息。其中含有,“職工編號”,“職工姓名”,“職工性別”,“職工年齡”,“基本工資”,“所在部門”。“工作時間”,“簡歷”,“職稱”等字段。可以對人員信息進行適當(dāng)?shù)奶幚?,以滿足單位或企業(yè)需要。</p><p> 能夠執(zhí)行以下四種操作:</p><p> 可以輸入職工的完整信息以增加新成員</p><p>
3、; 可以選擇性的刪除職工的信息</p><p> 可以實現(xiàn)對職工人員進行排序</p><p> 可以實現(xiàn)對某個職工進行篩選</p><p> 3.應(yīng)用程序的簡介:</p><p> 設(shè)計目的:創(chuàng)建人事管理數(shù)據(jù)表,該表反映職工的基本信息,其中包含職工編號、職工姓名、職工性別、所在部門、職工年齡、工作日期、基本工資、職稱、職務(wù)和簡歷等字
4、段。應(yīng)用系統(tǒng)主控界面應(yīng)包括記錄編輯和記錄查詢等功能模塊。記錄編輯功能完成職工記錄編輯的“增加記錄”、“刪除記錄”、“篩選記錄”和“排序記錄”等功能。</p><p> 功能介紹:“增加記錄”功能可以彈出提示信息對話框,對話框含有九個分別對應(yīng)人員信息的靜態(tài)控件,和九個編輯框,用于用戶輸入要增加的人員的九條信息。</p><p> “刪除記錄”功能可以用來刪除某個人員或某些人員的信息。系統(tǒng)
5、中會顯示該信息已被刪除。該信息也會從數(shù)據(jù)庫中刪除。</p><p> “篩選記錄”功能可以用來提供給用戶篩選出需要查看的人員的信息,該人事管理系統(tǒng)會彈出一個對話框,提示用戶輸入要篩選的人員的職工編號,從而篩選出該人員的信息。此時系統(tǒng)會彈出被篩選出的人員的全部信息。</p><p> “排序記錄”功能可以用來用戶對數(shù)據(jù)庫中的所有人員根據(jù)職工編號進行排序。使用該功能后按下一個記錄鍵,可以看
6、到所有的人員已按照職工編號排好順序了。</p><p><b> 基本內(nèi)容:</b></p><p> 每一個界面都是一個類,類上的選擇按鈕由該類的成員函數(shù)實現(xiàn),而職工信息則是數(shù)據(jù)成員。主界面的類是:CMyView,成員函數(shù)有OnButtonAdd( )(增加記錄);OnButtonDel( )(刪除記錄);OnButtonPaiXu( )(排序記錄); O
7、nButtonSort( )(篩選記錄)</p><p> CMySet,定義指針為:m_pSet調(diào)用數(shù)據(jù)成員。</p><p> ?。?1)所有的人員信息都存在Access數(shù)據(jù)庫中。用Office中的Access軟件創(chuàng)建數(shù)據(jù)庫,創(chuàng)建“人事管理數(shù)據(jù)表”輸入所有的人員信息,然后配置ODBC數(shù)據(jù)源。</p><p> ?。?)用VC++創(chuàng)建人事管理應(yīng)用程序框架。在V
8、C++中 創(chuàng)建一個MFC。</p><p> (3)制作人事管理主窗口,放入九個靜態(tài)標(biāo)簽控件和九個編輯框控件,分別在九個靜態(tài)控件屬性中設(shè)置名稱分別與“職工編號 ”,“職工姓名”,“職工性別”,“工作時間”等九條信息對應(yīng)。加完控件后設(shè)置完屬性。最后為每個編輯框綁定數(shù)據(jù)源字段。</p><p> (4)錯誤分析與排除:在綁定后唯獨“工作時間”無法綁定,用方法二進行排除錯誤哦。不用Cstri
9、ng定義工作時間,刪掉原有編輯框控件,添加“日期時間選取器”控件。并與m_gzsj綁定。此時便有唯一映射,然后修改函數(shù)DoDateExchange();編譯運行并按下一條記錄。</p><p> ?。?)為系統(tǒng)實現(xiàn)“增加記錄”,“刪除記錄”,“篩選記錄”,“排序記錄”功能,添加四個功能按鈕。為“增加記錄”,和“篩選記錄”創(chuàng)建新的對話框和創(chuàng)建新類及類成員變量,再分別綁定。創(chuàng)建“增加記錄”功能對話框用于提醒用戶輸入人
10、員信息。雙擊四個按鈕分別輸入四段代碼以實現(xiàn)四個人事管理功能。</p><p> ?。?)最后的運行,分別測試四個功能。并保存。</p><p> 主要技術(shù):面向?qū)ο笤O(shè)計與MFC,數(shù)據(jù)庫</p><p> 運行環(huán)境:此設(shè)計采用VC++編譯,并能在WIN7下運行</p><p><b> 。</b></p>
11、<p> 4.運行程序總體設(shè)計結(jié)構(gòu)圖,類層次圖,主要運行界面介紹</p><p><b> 總體設(shè)計結(jié)構(gòu)圖:</b></p><p><b> 類層次圖</b></p><p><b> 運行界面</b></p><p><b> 5.創(chuàng)新和難
12、點</b></p><p> 如果完全按照課程設(shè)計指導(dǎo)書模板的進行,當(dāng)進行到“增加記錄”功能時便出現(xiàn)問題。總是輸不進去,增加不了新成員,而且還會突然跳到最后一個人員信息。即覆蓋了之前的信息。最初運行到此處時,不知如何是好。編譯有無錯,卻運行不出來,經(jīng)過搜書,百度等方式明白關(guān)鍵所在,需要新建資源對話框,并新建類和類成員變量以實現(xiàn)信息的錄入。于是我添加了一的Dialog對話框并添加九個 靜態(tài)控件 和九個
13、 編輯框控件 然后綁定此類變量。并在void CMyView::OnBUTTONAdd( )中添加相應(yīng)代碼把新建立的類對象a對應(yīng)的數(shù)據(jù)成員值賦值給m-pSet,最終得以實現(xiàn)添加功能。并且在點擊“增加記錄”功能按鈕時會彈出:“請輸入要增加的人員信息”對話框,用戶可直接在編輯框中輸入要增加的人員信息即可把該成員添加到人事管理系統(tǒng)中去。看上去更美觀,明白。</p><p> 有關(guān)數(shù)據(jù)源的問題,當(dāng)再次打開或放到別的機子
14、上運行時老是會出現(xiàn)LINK2001,2011等問題。</p><p> 6.課程設(shè)計中目前存在的問題</p><p> “篩選記錄”功能實現(xiàn)一次后,無法恢復(fù),必須再次運行后才可以實現(xiàn)其他功能。否則如果先運行“篩選記錄”那么無法返回運行其他三個功能。</p><p> 7.設(shè)計實踐過程中的心得體會。</p><p> 通過這次的課程設(shè)計
15、,我對與MFC有了初步了解,在調(diào)試,編譯,運行的過程中,加深了對面向?qū)ο蟮睦斫狻W畛鮿?chuàng)建MFC做這個人事管理系統(tǒng)時,C++面向?qū)ο蟮目梢暬屛覍Υ水a(chǎn)生了興趣,但慢慢的當(dāng)我在做“增加記錄”功能時,由于老是出現(xiàn)問題 ,我開始沒了耐心。心里浮躁了起來,越是浮躁就越找不出錯誤原因所在。于是在整個過程中,我明白,編程過程一定要有耐心,要多嘗試,多思考。還有在學(xué)習(xí)編程的過程中培養(yǎng)自學(xué)能力很重要。以這種可視化的方式可以讓我們講理論與實踐結(jié)合起來,培養(yǎng)
16、起興趣。</p><p><b> 附 錄</b></p><p><b> 安裝使用說明:</b></p><p> 雙擊.exe文件后,就會彈出一個人事管理系統(tǒng)的對話框。此對話框中上面四分之三空間是職工的九條信息名稱和對應(yīng)的信息,底部是四個功能按鈕,分別是:“增加記錄”,“刪除記錄”,“排序記錄”,“篩選記錄”
17、。</p><p> 點擊“增加記錄”后會彈出新的窗口,此窗口和主窗口類似,用戶輸入要增加的職工信息后,點擊“確定”鍵即可將該成員信息增加到人事管理系統(tǒng)中。</p><p> 點擊“刪除記錄”后,系統(tǒng)會刪除當(dāng)前的成員信息,并在主窗口顯示已刪除。</p><p> 點擊“排序記錄”按鈕后,所有的人員按“職工編號”進行有小到大的排序。按左右轉(zhuǎn)換記錄鍵即可觀察到。&
18、lt;/p><p> 點擊“篩選記錄”按鈕后,彈出一個對話框,提醒用戶輸入要篩選的成員“職工編號”,系統(tǒng)會篩選出該成員,并顯示該成員的所有信息。</p><p><b> 源代碼</b></p><p> // 人事管理系統(tǒng)View.cpp : implementation of the CMyView class</p>&l
19、t;p> #include "stdafx.h"</p><p> #include "人事管理系統(tǒng).h"</p><p> #include"Add.h"</p><p> #include "Dguolv.h"</p><p> #includ
20、e "人事管理系統(tǒng)Set.h"</p><p> #include "人事管理系統(tǒng)Doc.h"</p><p> #include "人事管理系統(tǒng)View.h"</p><p> #ifdef _DEBUG</p><p> #define new DEBUG_NEW<
21、/p><p> #undef THIS_FILE</p><p> static char THIS_FILE[] = __FILE__;</p><p><b> #endif</b></p><p> ////////////////////</p><p> // CMyView<
22、;/p><p> IMPLEMENT_DYNCREATE(CMyView, CRecordView)</p><p> BEGIN_MESSAGE_MAP(CMyView, CRecordView)</p><p> //{{AFX_MSG_MAP(CMyView)</p><p> ON_BN_CLICKED(IDC_BUTTON_Ad
23、d, OnBUTTONAdd)</p><p> ON_BN_CLICKED(IDC_BUTTON_Del, OnBUTTONDel)</p><p> ON_BN_CLICKED(IDC_BUTTON_Find, OnBUTTONFind)</p><p> ON_BN_CLICKED(IDC_BUTTON_Sort, OnBUTTONSort)</p
24、><p> //}}AFX_MSG_MAP</p><p> // Standard printing commands</p><p> ON_COMMAND(ID_FILE_PRINT, CRecordView::OnFilePrint)</p><p> ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecor
25、dView::OnFilePrint)</p><p> ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView::OnFilePrintPreview)</p><p> END_MESSAGE_MAP()</p><p> /////////////////////////////////////////////////
26、////////</p><p> // CMyView construction/destruction</p><p> CMyView::CMyView()</p><p> : CRecordView(CMyView::IDD)</p><p><b> {</b></p><p>
27、; //{{AFX_DATA_INIT(CMyView)</p><p> m_pSet = NULL;</p><p> //}}AFX_DATA_INIT</p><p> // TODO: add construction code here</p><p><b> }</b></p>&
28、lt;p> CMyView::~CMyView()</p><p><b> {</b></p><p><b> }</b></p><p> void CMyView::DoDataExchange(CDataExchange* pDX)</p><p><b> {&
29、lt;/b></p><p> CRecordView::DoDataExchange(pDX);</p><p> //{{AFX_DATA_MAP(CMyView)</p><p> DDX_DateTimeCtrl(pDX,IDC_DATETIMEPICKER_GZSJ, m_pSet->m_gzsj);</p><p&g
30、t; DDX_FieldText(pDX, IDC_EDIT_JBGZ, m_pSet->m_jbgz, m_pSet);</p><p> DDX_FieldText(pDX, IDC_EDIT_JL, m_pSet->m_jl, m_pSet);</p><p> DDX_FieldText(pDX, IDC_EDIT_SZDW, m_pSet->m_szdm,
31、 m_pSet);</p><p> DDX_FieldText(pDX, IDC_EDIT_ZC, m_pSet->m_zc, m_pSet);</p><p> DDX_FieldText(pDX, IDC_EDIT_ZGBH, m_pSet->m_zgbh, m_pSet);</p><p> DDX_FieldText(pDX, IDC_E
32、DIT_ZGNL, m_pSet->m_zgnl, m_pSet);</p><p> DDX_FieldText(pDX, IDC_EDIT_ZGXB, m_pSet->m_zgxb, m_pSet);</p><p> DDX_FieldText(pDX, IDC_EDIT_ZGXM, m_pSet->m_zgxm, m_pSet);</p><
33、;p> //}}AFX_DATA_MAP</p><p><b> }</b></p><p> BOOL CMyView::PreCreateWindow(CREATESTRUCT& cs)</p><p><b> {</b></p><p> // TODO: Modi
34、fy the Window class or styles here by modifying</p><p> // the CREATESTRUCT cs</p><p> return CRecordView::PreCreateWindow(cs);</p><p><b> }</b></p><p>
35、 void CMyView::OnInitialUpdate()</p><p><b> {</b></p><p> m_pSet = &GetDocument()->m_mySet;</p><p> CRecordView::OnInitialUpdate();</p><p> GetP
36、arentFrame()->RecalcLayout();</p><p> ResizeParentToFit();</p><p><b> }</b></p><p> ///////////////////////////////////////////////////////// CMyView printing</
37、p><p> BOOL CMyView::OnPreparePrinting(CPrintInfo* pInfo)</p><p><b> {</b></p><p> // default preparation</p><p> return DoPreparePrinting(pInfo);</p>
38、;<p><b> }</b></p><p> void CMyView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)</p><p><b> {</b></p><p> // TODO: add extra initializati
39、on before printing</p><p><b> }</b></p><p> void CMyView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)</p><p><b> {</b></p><p> // TOD
40、O: add cleanup after printing</p><p><b> }</b></p><p> /////////////////////////////////////////////////////////</p><p> // CMyView diagnostics</p><p>
41、#ifdef _DEBUG</p><p> void CMyView::AssertValid() const</p><p><b> {</b></p><p> CRecordView::AssertValid();</p><p><b> }</b></p><
42、;p> void CMyView::Dump(CDumpContext& dc) const</p><p><b> {</b></p><p> CRecordView::Dump(dc);</p><p><b> }</b></p><p> CMyDoc* CMyV
43、iew::GetDocument() // non-debug version is inline</p><p><b> {</b></p><p> ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));</p><p> return (CMyDoc*)m_pDocumen
44、t;</p><p><b> }</b></p><p> #endif //_DEBUG</p><p> ////////////////////////////////////////////////////////</p><p> // CMyView database support</p&g
45、t;<p> CRecordset* CMyView::OnGetRecordset()</p><p><b> {</b></p><p> return m_pSet;</p><p><b> }</b></p><p> //////////////////////
46、///////////////////////////////////// CMyView message handlers</p><p> void CMyView::OnBUTTONAdd() </p><p><b> {</b></p><p> // TODO: Add your control notification ha
47、ndler code here</p><p> Add a;//建立對話框Add的對象</p><p> // CDataExchange *pDX;</p><p> if (a.DoModal()==IDOK)//打開對話框Add</p><p><b> {</b></p><p>
48、; m_pSet->AddNew();</p><p> m_pSet->m_zgbh=a.m_zgbh;</p><p> m_pSet->m_zgxm=a.m_zgxm;</p><p> m_pSet->m_zgxb=a.m_zgxb;</p><p> m_pSet->m_zgnl=a.m_zg
49、nl;</p><p> m_pSet->m_jbgz=a.m_jbgz;</p><p> m_pSet->m_zc=a.m_zc;</p><p> m_pSet->m_jl=a.m_jl;</p><p> m_pSet->m_szdm=a.m_szdw;</p><p> m_
50、pSet->m_gzsj=a.m_gzsj;</p><p> //DDX_DateTimeCtrl(pDX,IDC_DATETIMEPICKER_GZSJ, m_pSet->m_gzsj);</p><p> m_pSet->Update();//更新記錄集</p><p> m_pSet->Requery();//重新提取數(shù)據(jù)<
51、;/p><p> m_pSet->MoveLast();//移動下一條記錄</p><p> UpdateData(FALSE);//更新視圖</p><p><b> }</b></p><p><b> }</b></p><p> void CMyView:
52、:OnBUTTONDel() </p><p><b> {</b></p><p> // TODO: Add your control notification handler code here</p><p> m_pSet->Delete();</p><p> m_pSet->MoveNe
53、xt();</p><p> if (m_pSet->IsEOF())</p><p> m_pSet->MoveLast();</p><p> if (m_pSet->IsBOF())</p><p> m_pSet->SetFieldNull(NULL);</p><p> Up
54、dateData(FALSE);</p><p><b> }</b></p><p> void CMyView::OnBUTTONFind() </p><p><b> {</b></p><p> // TODO: Add your control notification hand
55、ler code here</p><p> CDguolv Dlgquery;</p><p> CString value;</p><p> if (Dlgquery.DoModal()==IDOK)//“模式窗口方式打開,結(jié)束前不能操縱父窗口”</p><p><b> {</b></p>
56、<p> value="職工編號=+"+Dlgquery.m_guol+"";</p><p> m_pSet->m_strFilter=value;</p><p> m_pSet->Requery();</p><p> UpdateData(FALSE);</p><p&
57、gt;<b> }</b></p><p><b> }</b></p><p> void CMyView::OnBUTTONSort() </p><p><b> {</b></p><p> // TODO: Add your control notifica
58、tion handler code here</p><p> m_pSet->m_strSort="職工編號";</p><p> m_pSet->Requery();</p><p> UpdateData(FALSE);</p><p><b> }</b></p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人事管理系統(tǒng)-課程設(shè)計報告
- 人事管理系統(tǒng)課程設(shè)計報告
- 課程設(shè)計報告---企業(yè)人事管理系統(tǒng)
- 人事管理系統(tǒng)delphi課程設(shè)計報告
- 人事管理系統(tǒng)課程設(shè)計
- 人事管理系統(tǒng)課程設(shè)計
- 人事管理系統(tǒng)c語言課程設(shè)計報告
- java課程設(shè)計報告mini人事管理系統(tǒng)
- 課程設(shè)計--人事管理系統(tǒng)設(shè)計
- c++課程設(shè)計報告--人事管理系統(tǒng)
- excel課程設(shè)計報告-- 公司人事管理系統(tǒng)
- 人事管理課程設(shè)計報告
- 企業(yè)人事管理系統(tǒng)課程設(shè)計
- 課程設(shè)計(企業(yè)人事管理系統(tǒng))
- 課程設(shè)計---企業(yè)人事管理系統(tǒng)
- php人事管理系統(tǒng)課程設(shè)計
- 高校人事管理系統(tǒng)課程設(shè)計
- 課程設(shè)計----公司人事管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計報告---人事管理系統(tǒng)
- 軟件工程課程設(shè)計報告——人事管理系統(tǒng)
評論
0/150
提交評論