C++課程設(shè)計人事管理系統(tǒng)_第1頁
C++課程設(shè)計人事管理系統(tǒng)_第2頁
C++課程設(shè)計人事管理系統(tǒng)_第3頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、面向?qū)ο缶幊碳夹g(shù)課程設(shè)計實驗報告姓名:學(xué)號:班級: 指導(dǎo)老師:日期:目錄:設(shè)計任務(wù)與要求31. 設(shè)計目的32. 課程設(shè)計的要求.系統(tǒng)分析31. 需求分析:32. 功能分析:33. 系統(tǒng)功能模塊4. 功能的實現(xiàn)35. 模塊框架圖三. 系統(tǒng)設(shè)計 4四. 問題分析和實驗總結(jié) .10課程設(shè)計部分源代碼11一.設(shè)計任務(wù)與要求設(shè)計題目:人事管理系統(tǒng)1設(shè)計目的:制作人事管理系統(tǒng),實現(xiàn)對增加數(shù)據(jù)記錄,刪除記錄,排序記錄,篩選記 錄數(shù)據(jù)的要求。2.課程設(shè)計的要求A. 用access創(chuàng)建人事管理數(shù)據(jù)表,該表記錄職工的基本信息,其中包括 職工編號,職工姓名,所在部門,職工年齡,工作時間,基本工資,職稱 和監(jiān)理等信息

2、。B. 創(chuàng)建新的數(shù)據(jù)源C. 論述對“ MFC AppEizard (exe)”生成的應(yīng)用程序的框架的認識,理解 和開發(fā)心得二系統(tǒng)分析1需求分析:可利用該程序?qū)崿F(xiàn)對員工信息的記錄和瀏覽 能夠?qū)β毠ば畔⑦M行輸入、刪除、排序、以及篩選等操作;2功能分析:新增記錄:系統(tǒng)能在原有記錄的基礎(chǔ)上增加新的記錄。 刪除記錄:對數(shù)據(jù)表中的數(shù)據(jù)進行刪除。篩選記錄:根據(jù)職工標號對職工進行篩選進行精確查找職工人員。 排序記錄:對職工信息編號進行從小到大的排序3系統(tǒng)功能模塊人事管理系統(tǒng)有:新增記錄、深處記錄、排序記錄、篩選及瀏覽記錄。4功能的實現(xiàn):1) “篩選及瀏覽記錄”模塊:在access中建表時,在職工編號欄開啟關(guān)鍵

3、詞索引功能, 篩選時在對話 框的編輯框內(nèi)輸入要篩選的職工標號即可進行篩選。2) “新增記錄”模塊:再新建一個對話框創(chuàng)建一個新類,給每個編輯框綁定變量,在人事管理 系統(tǒng)view.cpp中添加自擬頭文件3) “數(shù)據(jù)刪除模塊”顯示當前的數(shù)據(jù)內(nèi)容,點擊刪除按鈕將該職工的所有信息刪除。4) “排序記錄”模塊顯示當前數(shù)據(jù)內(nèi)容,點擊排序按鈕將當前表中所有員工信息從小到大排 序。5模塊框架圖二、系統(tǒng)設(shè)計人事管理系統(tǒng).mdb表的初始化結(jié)果3人妄占商磚識工拠號朋工姓芒ZD1何冊ice oin 斟11UJDL李英1CQQP3張成東圧工年劇、20工圧ET問皋本工資 風(fēng)稱10 10:58:562000192013/9/

4、1250ttl 19Hb/3/ll4a 丄 &S5/13./12950副獲侵65C剛巨血創(chuàng)愷血1界面設(shè)計4運行時主界面增加記錄界面增加信息成功:篩選界面篩選成功:Vr77K排序和刪除界面刪除了李英的信息排序功能:2、程序設(shè)計通過主窗體調(diào)用其他窗體,在調(diào)用增加記錄時要彈出新的對話框,一邊輸入要添加的信息。篩選記錄時,要實現(xiàn)在創(chuàng)建access數(shù)據(jù)庫時打開索引功能。這樣再點擊篩選記錄是只要在新對話框中輸入關(guān)鍵詞(職工編號)便可。四、課程設(shè)計的問題分析和實驗總結(jié)此次的人事管理系統(tǒng)的設(shè)計,主要是運用MFC操作,以讓程序更加的便于操作和使用,這其中也出現(xiàn)了不少問題,走了很多彎路,比如:1. 創(chuàng)建數(shù)據(jù)源,用

5、控制面板設(shè)置數(shù)據(jù)源文件時老是出錯。解決方法:先在 access中創(chuàng)建人事管理系統(tǒng)表,然后在控制面板中原則添加指定數(shù)據(jù)源。2. 在寫對話框類成員函數(shù)時總出現(xiàn)大小寫錯誤,導(dǎo)致程序編譯不能通過。解決辦法:仔細檢查源代碼,利用錯誤提示改正。3. 在編寫子對話框成員函數(shù)時,編譯老提示該類未申明。解決辦法:原因是未在 view.cpp文件中添加對應(yīng)的類頭文件,所以在對應(yīng)位置添加頭 文件。4. 在添加函數(shù)中,發(fā)現(xiàn)實驗指導(dǎo)的步驟結(jié)果增加記錄函數(shù)運行結(jié)果不能正常添加記錄。解決辦法:點擊增加函數(shù)時,應(yīng)該彈出輸入信息對話框,以便新增職工信息,新增完畢 后,點擊確定完成添加操作。上網(wǎng)查閱資料后,完善了增加函數(shù)代碼,并

6、新增了一個對 話框和對應(yīng)類CDIgAdd,使其能完成其指定功能。本程序部分源代碼:/ 人事管理系統(tǒng) View.cpp : implementation of the CMyView class/#include stdafx.h#inelude 人事管理系統(tǒng).h#i nclude DlgQuery.h#i nclude DlgAdd.h#i nclude 人事管理系統(tǒng)Set.h#in clude 人事管理系統(tǒng)Doc.h#include 人事管理系統(tǒng)View.h#ifdef _DEBUG#defi ne new DEBUG_NEW#un def THIS_FILEstatic char THIS

7、_FILE = _FILE_;#en dif/ CMyViewIMPLEMENT_DYNCREATE(CMyView, CRecordView)BEGIN_MESSAGE_MAP(CMyView, CRecordView)AFX_MSG_MAP(CMyView)ON_BN_CLICKED(IDC_BUTTON_ADD, On Butt on Add) ON_BN_CLICKED(IDC_BUTTON_DEL, On Butt on Del) ON_BN_CLICKED(IDC_BUTTON_FILTER, On Butt onF ilter) ON_BN_CLICKED(IDC_BUTTON_

8、SORT, On Butt on Sort) AFX_MSG_MAP/ Stan dard prin ti ng comma ndsON_COMMAND(ID_FILE_PRINT, CRecordView:。nF ilePri nt) ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView:O nFilePri nt) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView:O nFilePri ntPreview) END_MESSAGE_MAP()/ CMyView con structi on/destructi o

9、nCMyView:CMyView():CRecordView(CMyView:IDD)/AFX_DATA_INIT(CMyView)m_pSet = NULL;ZT 11 TIm_gzsj = 0;AFX_DATA_INIT/ TODO: add con struct ion code hereCMyView:CMyView()void CMyView:DoDataExcha nge(CDataExcha nge* pDX)CRecordView:DoDataExcha nge(pDX);AFX_DATA_MAP(CMyView)DDX_FieldText(pDX, IDC_EDIT_JBG

10、Z, m_pSet-m _jbg z, m_pSet);DDX_FieldText(pDX, IDC_EDIT_JL, m_pSet- m_jl, m_pSet);DDX_FieldText(pDX, IDC_EDIT_SZBM, m_pSet-m_szbm, m_pSet);DDX_FieldText(pDX, IDC_EDIT_ZC, m_pSet-m_zc, m_pSet);DDX_FieldText(pDX, IDC_EDIT_ZGBH, m_pSet-m_zgbh, m_pSet);DDX_FieldText(pDX, IDC_EDIT_ZGNL, m_pSet-m_zg nl, m

11、_pSet);DDX_FieldText(pDX, IDC_EDIT_ZGXB, m_pSet-m_zgxb, m_pSet);DDX_FieldText(pDX, IDC_EDIT_ZGXM, m_pSet-m_zgxm, m_pSet); DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER_GZSJ, m_pSet-m_gzsj); AFX_DATA_MAPBOOL CMyView:PreCreateWi ndow(CREATESTRUCT & cs)/ TODO: Modify the Window class or styles here by modif

12、yi ng/ the CREATESTRUCT csreturn CRecordView:PreCreateWi ndow(cs);void CMyView: Onln itialUpdate()m_pSet = & GetDocume nt()-m_mySet;CRecordView:O nlni tialUpdate();GetPare ntFrame()-RecalcLayout();ResizePare ntToFit();/2!于/ CMyView printingBOOL CMyView:O nPreparePri nti ng(CPri ntl nfo* plnfo)/ defa

13、ult preparati onreturn DoPreparePri nti ng(pl nfo);void CMyView:O nBegi nPrintin g(CDC* /*pDC*/, CPri ntlnfo* /*pI nfo*/)/ TODO: add extra initialization before printingvoid CMyView:O nEn dPri ntin g(CDC* /*pDC*/, CPri ntI nfo* /*pI nfo*/)/ TODO: add clea nup after printing/ CMyView diag no stics#if

14、def _DEBUGvoid CMyView:AssertValid() constCRecordView:AssertValid();void CMyView:Dump(CDumpCo ntext & dc) constCRecordView:Dump(dc);CMyDoc* CMyView:GetDocume nt() / non-debug version is inlineASSERT(m_pDocume nt-lsKi ndOf(RUNTIME_CLASS(CMyDoc); return (CMyDoc*)m_pDocume nt;#endif /_DEBUG/ CMyView da

15、tabase supportCRecordset* CMyView:O nGetRecordset()return m_pSet;/ CMyView message han dlersvoid CMyView:O nButto nAdd()/ TODO: Add your con trol no tificati on han dler code here/* m_pSet-AddNew();m_pSet-Update(); 更新記錄集m_pSet-Requery();/ 重新提取數(shù)據(jù)m_pSet-MoveLast(); 移動下一條記錄UpdateData(FALSE);/更新視圖 */try

16、CDlgAdd DlgAdd;if(DlgAdd.DoModal()=IDOK)模式窗口方式打開,結(jié)束前不能操縱父窗口”m_pSet-AddNew(); m_pSet-m_zgbh=DlgAdd.m_zgbh; m_pSet-m_zgxm=DlgAdd.m_zgxm; m_pSet-m_zg nl=DlgAdd.m_zg nl; m_pSet-m_zgxb=DlgAdd.m_zgxb; m_pSet-m_zc=DlgAdd.m_zc; m_pSet-m_szbm=DlgAdd.m_szbm; m_pSet-m_jbgz=DlgAdd.m_jbgz; m_pSet-m_gzsj=DlgAdd.m

17、_gzsj; m_pSet- ml=DlgAdd.m _jl; m_pSet-Update(); 更新記錄集 m_pSet-Requery();重新提取記錄集 m_pSet-MoveLast(); 移動下一條記錄 UpdateData(FALSE);/更 新視圖catch (CDBExceptio n* e)MessageBox(e-m_strError);/對于異常信息的處理,這里是簡單的輸出錯誤的信息 void CMyView:O nButto nDel()/ TODO: Add your con trol no tificati on han dler code here m_pSet-Delete();m_pSet-MoveNext();if(m_pSet-lsEOF() m_pSet-MoveLast();if(m_pSet-IsBOF() m_pSet-SetFieldNull(NULL);UpdateData(FALSE); void CMyView:O nButto nFilter() / TODO: Add your con trol no tificati on han dler code hereCDlgQuery Dlgquery;CStri ng value;if(

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論