人事信息管理系统.docx

上传人:b****3 文档编号:6104000 上传时间:2023-05-09 格式:DOCX 页数:19 大小:290.97KB
下载 相关 举报
人事信息管理系统.docx_第1页
第1页 / 共19页
人事信息管理系统.docx_第2页
第2页 / 共19页
人事信息管理系统.docx_第3页
第3页 / 共19页
人事信息管理系统.docx_第4页
第4页 / 共19页
人事信息管理系统.docx_第5页
第5页 / 共19页
人事信息管理系统.docx_第6页
第6页 / 共19页
人事信息管理系统.docx_第7页
第7页 / 共19页
人事信息管理系统.docx_第8页
第8页 / 共19页
人事信息管理系统.docx_第9页
第9页 / 共19页
人事信息管理系统.docx_第10页
第10页 / 共19页
人事信息管理系统.docx_第11页
第11页 / 共19页
人事信息管理系统.docx_第12页
第12页 / 共19页
人事信息管理系统.docx_第13页
第13页 / 共19页
人事信息管理系统.docx_第14页
第14页 / 共19页
人事信息管理系统.docx_第15页
第15页 / 共19页
人事信息管理系统.docx_第16页
第16页 / 共19页
人事信息管理系统.docx_第17页
第17页 / 共19页
人事信息管理系统.docx_第18页
第18页 / 共19页
人事信息管理系统.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

人事信息管理系统.docx

《人事信息管理系统.docx》由会员分享,可在线阅读,更多相关《人事信息管理系统.docx(19页珍藏版)》请在冰点文库上搜索。

人事信息管理系统.docx

人事信息管理系统

目录

1:

课程设计介绍1

2:

开发环境1

3:

设计目的1

4:

设计要求:

2

5:

流程图和模块图2

6:

设计内容:

5

6.1.数据库与数据表的设计5

6.2.创建工资管理系统基本框架6

6.3.开发工资处理界面6

6.4.主对话框IDD_MY_FORM中控件的加入与布局7

6.5.为命令按钮增加函数并编制过程代码8

7:

调试11

8.程序清单16

9.心得体会23

参考文献24

1:

课程设计介绍

设计题目:

人事信息管理系统

设计介绍:

利用所学知识,开发小型应用系统,使学生掌握运用可视化编程技术编写调试应用系统程序,训练学生独立开发应用系统、进行数据处理的综合能力,理解工程的概念和头文件的使用,熟悉封装、继承和多态性等这些面向对象编程的特点。

2:

开发环境

系统环境:

操作系统需要WindowsXp以上版本;

开发工具MicrosoftVisualc++6.0;

数据库使用MicrosoftofficeAccess2003;

3:

设计目的

将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。

通过课程设计,学生在下述各方面的能力应该得到锻炼:

(1)进一步巩固、加深学生所学专业课程《可视化程序设计》的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。

(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。

(3)利用所学知识,开发小型应用系统,掌握运用VC++语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。

(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。

(5)掌握自顶而下的设计方法,将大问题进行模块化,领会结构化程序设计的方法。

(6)熟练掌握C++语言的基本语法,灵活运用各种数据类型。

(7)进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)和修改程序。

4:

设计要求:

(1)创建类并使用类对象完成相应的任务。

(2)设计中的每一个功能均由类对象来完成。

(3)理解工程的概念和头文件的使用。

(4)深入理解封装、继承和多态这的等面向对象的编程的特点。

(5)自备软盘进行存储备份,以免机器故障、或其他同学的误操作而丢失程序。

(6)在硬盘上建立自己的目录,将程序文件存储到该目录下,即有利于调试文件,又保证了文件的安全性。

5:

流程图

 

6:

设计内容:

6.1.数据库与数据表的设计

 作为工资管理系统,它是数据库应用系统数据处理的典范,数据库应用系统开发的前提是首先开发数据库和数据库中的数据表。

因此在本案例中,我们采用MicrosoftAccess2003创建数据库和数据表。

为此我们先定义一个“商品销售数据表”的结构,如表所示。

 “商品销售数据表”结构

 

 字段名称

字段类型

字段大小

供货商名称

文本

整型

供货商编号

数字

整型

地址

文本

整形

联系人

文本

整型

联系电话

文本

整形

电子邮件

文本

整形

编号

数字

长整型

商品名称

数字

长整型

价格

数字

长整型

件数

数字

长整型

种类

数字

长整型

产地

数字

长整型

库存

数字

长整型

商品编号

数字

长整型

销售日期

数字

长整型

进价

数字

长整型

售价

数字

长整型

进货日期

数字

长整型

6.2.创建工资管理系统基本框架

在前面我们已经创建了“商品销售管理数据表”、“商品数据表”,“供货商信息数据表”。

它可为应用程序提供一个数据源。

应用程序就是对该数据源的记录进行访问、删除以及数据管理的一切操作。

有了这一切的工作,我们就可以着手进行应用系统的构建了。

我们先要用ODBC驱动将我们建好的数据库。

在MicrosoftVisualc++6.0中建立工程,在选择数据源的时候选择开放式数据源连接的驱动程序类型作为系统的数据源也就是ODBC。

6.3.开发工资处理界面

应用系统向导只能生成一个应用程序基本框架,该框架还不具备任何功能,我们在框架的基础上进行系统各种功能的制作。

通常一个应用程序框架生成两个对话框,一个是IDD_ABOUTBOX对话框,它是一个说明该系统的对话框,是由向导自动完成该对话框仍然是基本的。

在基本框架中另外一个对话框就是主对话框IDD_MY_FORM,而它就是我们加工制作的主要内容,数据源也是专门为该对话框引入的。

6.4.主对话框IDD_MY_FORM中控件的加入与布局

在工资管理系统中,主对话框主要用于处理工资管理的一切内容。

根据自己设计和功能的需要在此窗口上添加需要的控件,如图。

为各个控件修改属性,具体属性如下表。

标签对象的基本属性

 ID

标题内容

IDC_STATICCAPTION

供货商信息

IDC_STATICNE

供货商编号

IDC_STATIDZ

地址

IDC_STATILXR

联系人

IDC_STATILXDH

联系电话

IDC_STATIDZYJ

电子邮件

IDC_STATIBH

编号

IDC-STTISPXSXX

商品销售信息

IDC_STATISPMC

商品名称

IDC_STATIJG

价格

IDC_STATIJS

件数

IDC_STATISPBH

商品编号

IDC_STATIXSRQ

销售日期

IDC_STATIZL

种类

IDC_STATICD

产地

IDC_STATICC

库存

IDC_STATIJJ

进价

IDC_STATISJ

售价

IDC_STATIJHRQ

进货日期

IDC_STATISPXX

商品信息

6.5.为命令按钮增加函数并编制过程代码

在此我们需要用一些命令来完成对数据的操作,需要为命令按钮建立函数和编制过程代码。

(1).“第一条记录”命令按钮代码

voidCMyView:

:

OnBUTTONfirst()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveFirst();

if(m_pSet->IsBOF())

{

MessageBox("记录已在第一条");

m_pSet->MoveNext();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

(2)、上一条按钮命令的代码

voidCMyView:

:

OnBUTTONprev()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MovePrev();

if(m_pSet->IsBOF())

{

MessageBox("记录已在第一条");

m_pSet->MoveNext();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

(3)、下一条按钮命令的代码

voidCMyView:

:

OnBUTTONnext()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveNext();

if(m_pSet->IsEOF())

{

MessageBox("记录已是最后一条!

");

m_pSet->MovePrev();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

(4)、最后一条按钮的代码

voidCMyView:

:

OnBUTTONlast()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveLast();

if(m_pSet->IsEOF())

{

MessageBox("记录已是最后一条!

");

m_pSet->MovePrev;

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

(6)、删除记录的代码

voidCMyView:

:

OnRADIOsxjl()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->Edit();

UpdateData();

m_pSet->Update();

m_pSet->Requery();

m_pSet->CancelUpdate();

}

(7)修改记录的代码

voidCMyView:

:

OnRADIOscjl()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->Delete();

m_pSet->MoveNext();

if(m_pSet->IsEOF())

m_pSet->MoveLast();

if(m_pSet->IsBOF())

m_pSet->SetFieldNull(NULL);

UpdateData(FALSE);

}

(8)、统计的代码

voidCMyView:

:

OnBUTTONtongji()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->Edit();

m_pSet->m_ydgz=m_pSet->m_jbgz+m_pSet->m_jj+m_pSet->m_yj+m_pSet->m_jt+m_pSet->m_gzbz;

m_pSet->m_ykgz=m_pSet->m_cx+m_pSet->m_hf+m_pSet->m_bx+m_pSet->m_fz+m_pSet->m_sdf;

m_pSet->m_sdgz=m_pSet->m_ydgz-m_pSet->m_ykgz;

UpdateData(FALSE);

m_pSet->Requery();

}

7:

调试

1.主界面:

2.下一条

3.上一条

5.最后一条

 

6.第一条

 

7.删除操作

那个直接都没了

 

8修改操作

 

8.程序清单

#include"stdafx.h"

#include"销售管理系统.h"

#include"¹供货商信息Set.h"

#include"商品销售信息Doc.h"

#include"商品信息View.h"

#ifdef_DEBUG

#definenewDEBUG_NEW

#undefTHIS_FILE

staticcharTHIS_FILE[]=__FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

//CMyView

BOOLm_Add=false;

IMPLEMENT_DYNCREATE(CMyView,CRecordView)

BEGIN_MESSAGE_MAP(CMyView,CRecordView)

//{{AFX_MSG_MAP(CMyView)

ON_BN_CLICKED(IDC_BUTTON_first,OnBUTTONfirst)

ON_BN_CLICKED(IDC_BUTTON_prev,OnBUTTONprev)

ON_BN_CLICKED(IDC_BUTTON_next,OnBUTTONnext)

ON_BN_CLICKED(IDC_BUTTON_last,OnBUTTONlast)

ON_BN_CLICKED(IDC_RADIO_zjjl,OnRADIOzjjl)

ON_BN_CLICKED(IDC_RADIO_sxjl,OnRADIOsxjl)

ON_BN_CLICKED(IDC_RADIO_scjl,OnRADIOscjl)

ON_BN_CLICKED(IDC_BUTTON_tongji,OnBUTTONtongji)

//}}AFX_MSG_MAP

//Standardprintingcommands

ON_COMMAND(ID_FILE_PRINT,CRecordView:

:

OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_DIRECT,CRecordView:

:

OnFilePrint)

ON_COMMAND(ID_FILE_PRINT_PREVIEW,CRecordView:

:

OnFilePrintPreview)

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

//CMyViewconstruction/destruction

CMyView:

:

CMyView()

:

CRecordView(CMyView:

:

IDD)

{

//{{AFX_DATA_INIT(CMyView)

m_pSet=NULL;

//}}AFX_DATA_INIT

//TODO:

addconstructioncodehere

}

CMyView:

:

~CMyView()

{

}

voidCMyView:

:

DoDataExchange(CDataExchange*pDX)

{

CRecordView:

:

DoDataExchange(pDX);

//{{AFX_DATA_MAP(CMyView)

DDX_FieldText(pDX,IDC_EDIT_bm,m_pSet->m_bm,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_cx,m_pSet->m_cx,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_gzbz,m_pSet->m_gzbz,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_hf,m_pSet->m_hf,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_jbgz,m_pSet->m_jbgz,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_jj,m_pSet->m_jj,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_jt,m_pSet->m_jt,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_sdf,m_pSet->m_sdf,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_nf,m_pSet->m_nf,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_yf,m_pSet->m_yf,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_yj,m_pSet->m_yj,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_zgbh,m_pSet->m_zgbh,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_zgxm,m_pSet->m_zgxm,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_zw,m_pSet->m_zw,m_pSet);

DDX_FieldText(pDX,IDC_EDIT1_bx,m_pSet->m_bx,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_sdgz,m_pSet->m_sdgz,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_ydgz,m_pSet->m_ydgz,m_pSet);

DDX_FieldText(pDX,IDC_EDIT_ykgz,m_pSet->m_ykgz,m_pSet);

DDX_FieldText(pDX,IDC_EDIT1_fz,m_pSet->m_fz,m_pSet);

//}}AFX_DATA_MAP

}

BOOLCMyView:

:

PreCreateWindow(CREATESTRUCT&cs)

{

//TODO:

ModifytheWindowclassorstylesherebymodifying

//theCREATESTRUCTcs

returnCRecordView:

:

PreCreateWindow(cs);

}

voidCMyView:

:

OnInitialUpdate()

{

m_pSet=&GetDocument()->m_mySet;

CRecordView:

:

OnInitialUpdate();

GetParentFrame()->RecalcLayout();

ResizeParentToFit();

}

/////////////////////////////////////////////////////////////////////////////

//CMyViewprinting

BOOLCMyView:

:

OnPreparePrinting(CPrintInfo*pInfo)

{//defaultpreparation

returnDoPreparePrinting(pInfo);

}

voidCMyView:

:

OnBeginPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

{

//TODO:

addextrainitializationbeforeprinting

}

voidCMyView:

:

OnEndPrinting(CDC*/*pDC*/,CPrintInfo*/*pInfo*/)

{

//TODO:

addcleanupafterprinting

}

/////////////////////////////////////////////////////////////////////////////

//CMyViewdiagnostics

#ifdef_DEBUG

voidCMyView:

:

AssertValid()const

{

CRecordView:

:

AssertValid();

}

voidCMyView:

:

Dump(CDumpContext&dc)const

{

CRecordView:

:

Dump(dc);

}

CMyDoc*CMyView:

:

GetDocument()//non-debugversionisinline

{

ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CMyDoc)));

return(CMyDoc*)m_pDocument;

}

#endif//_DEBUG

/////////////////////////////////////////////////////////////////////////////

//CMyViewdatabasesupport

CRecordset*CMyView:

:

OnGetRecordset()

{returnm_pSet;

}

/////////////////////////////////////////////////////////////////////////////

//CMyViewmessagehandlers

voidCMyView:

:

OnBUTTONfirst()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveFirst();

if(m_pSet->IsBOF())

{

MessageBox("记录已经在第一条¡");

m_pSet->MoveNext();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

voidCMyView:

:

OnBUTTONprev()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MovePrev();

if(m_pSet->IsBOF())

{

MessageBox("记录已经在第一条¡");

m_pSet->MoveNext();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

 

voidCMyView:

:

OnBUTTONnext()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveNext();

if(m_pSet->IsEOF())

{MessageBox("记录已经在最后一条¡");

m_pSet->MovePrev();

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

voidCMyView:

:

OnBUTTONlast()

{//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->MoveLast();

if(m_pSet->IsEOF())

{

MessageBox("记录已经在最后一条!

");

m_pSet->MovePrev;

UpdateData(FALSE);

return;

}

UpdateData(FALSE);

}

voidCMyView:

:

OnRADIOzjjl()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

m_pSet->AddNew();

UpdateData(FALSE);

}

voidCMyView:

:

OnRADIOsxjl()

{

//TODO:

Addyourcontrolnotificat

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2