员工工资管理系统Word格式.docx
- 文档编号:17337174
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:19
- 大小:24.15KB
员工工资管理系统Word格式.docx
《员工工资管理系统Word格式.docx》由会员分享,可在线阅读,更多相关《员工工资管理系统Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
退出
用户登录
主界面
修改
删除
添加
工资计算
确定
统计结果
图1系统模块图
2.5 数据库设计
(1)实体E-R图
这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
E-R图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。
将现实世界的实体,属性和联系转化为抽象的概括的概念模型。
构成E-R图的基本要素是实体型、属性和联系。
员工信息的实体-属性图,如图2所示。
图2员工工资实体-属性图
选择“文件”→“新建”菜单,在右边任务窗格中单击“空数据库”,弹出一个对话框,指定数据库名员工工资管理系统.mdb。
单击“创建”按钮。
就创建了数据库,,该课程一共需要2张表,分别存放相应的数据信息,其中工资数据表是关键表,用于存放基础数据信息。
它涉及职员信息和工资情况的表;
另一张表用来存放登录的用户名和密码用来登录的时候用。
[2]
(2)员工的工资数据库表
员工的工资数据库表的设计界面如图3所示
图3工资数据表
员工工资数据库表的数据结构如表1所示
表1员工工资数据库表
字段名称
字段类型
字段大小
员工编号
字符型
8
部门编号
工龄
数值型
1000
姓名
10
职称
12
基础工资
奖金
车补
饭补
其他补助
(3)员工的登录表
员工的登录对话框记录着用户需要的登录的用户名和密码,表结构如图3所示:
表2用户的登录表
Username
Password
6
员工登录对话框表的设计界面如图4所示
图4员工的登录数据表
(4)ODBC数据源
Windows中的ODBC组件是出现在系统的“控制面板”管理工具中。
双击ODBC图标,进入ODBC数据源管理器。
运行ODBC组件,进入ODBC数据源管理器。
单击“添加”按钮,弹出有一驱动程序列表的“创建新数据源”对话框,在该对话框中选择MicrosoftAccessDriver。
单击“完成”按钮,进入指定驱动程序的安装对话框,数据源名称设为“员工工资管理系统”,单击“选择”按钮将本实验中的数据库。
单击“确定”按钮,刚才创建的用户数据源被添加在“ODBC数据源管理器”的“用户数据源”列表中。
2.6 具体界面设计
打开计算机,启动VisualC++6.0系统创建一个单文档应用程序,在工程名称框中输入Win32应用程序项目名称员工工资管理系统。
(1)登录界面的设计
系统登录表单主要任务是输入密码,其作用是保护系统数据的安全性。
只有合法用户才可以使用本系统。
当系统运行时,首先打开登录窗体,只有有权限的用户才能进入系统。
在【用户名】文本框中输入后按Tab键,程序将自动查询用户名并跳到【密码】文本框中,输入密码后按Enter键即可进入系统,登陆界面的实现如图5示:
[3][4]
图5登陆界面
具体的步骤如下:
①将本项目工作区窗口切换到ResourceView页面插入一个对话框资源,打开属性对话框,设置字体设置,向对话框中添加两个编辑框:
“请输入用户名”(IDC_EDIT_USERNAME)、“请输入密码”(IDC_EDIT_USERPASSWD)为登陆界面对话框资源模板添加控件如表3所示。
表3登陆界面控件属性设置
添加的控件
ID号
标题
静态文本框
IDC_STATIC
用户名:
密码:
编辑框
IDC_EDIT_USERNAME
IDC_EDIT_USERPASSWD
按钮
IDC_BUTTON_OK
IDC_BUTTON_CANCEL
取消
②双击对话框模板或按【Ctrl+W】快捷键为对话框资源建立类向导。
为该对话框类取个名字:
CDlg_login。
③左键双击IDC_EDIT_USERNAME(或者单击后,点击右边的addvariables),为IDC_EDIT1增加一个对应在类中的名字:
m_login_name。
点击’确定’。
同样也对IDC_EDIT_USERPASSWD也取一个名字:
m_login_pwd。
④【Ctrl+W】快捷键,进入类向导界面,为IDC_BUTTON_OK和IDC_BUTTON_CANCEL添加代码voidCdenglu:
:
OnOK()
{
//TODO:
Addextravalidationhere
UpdateData();
m_username.TrimLeft();
if(m_username.IsEmpty())
MessageBox("
请输入用户名!
"
);
return;
}
CDatabasedatabase;
database.OpenEx(_T("
DSN=工资管理数据库"
),CDatabase:
noOdbcDialog);
CRecordsetrecset(&
database);
CStringmSqlStr;
mSqlStr="
SELECT*FROM登录对话框WHEREusername='
;
mSqlStr=mSqlStr+m_username;
mSqlStr=mSqlStr+"
'
ANDpassword='
mSqlStr=mSqlStr+m_password;
/
if(!
recset.Open(CRecordset:
forwardOnly,mSqlStr,CRecordset:
readOnly))
AfxMessageBox("
登陆界面表打开失败!
}
recset.IsEOF())
//Openallfunctionforuser
登录成功"
else
{AfxMessageBox("
登录失败!
voidCdenglu:
OnCancel()
{
//TODO:
Addextracleanuphere
CDialog:
OnCancel();
exit(0);
⑤在mainFrm.cpp文件的前面添加:
#include"
dlg_login.h"
。
在运行过程中,点击OK后,主窗体会显示出来,并没有在用户名以及密码框中输入。
要求输入正确的用户名和密码,主窗体才能显示出来。
增加一个成员函数,点击OK。
(2)系统编辑界面的设计
进入主界面,主要是编辑员工的基本信息,可以对这些基本信息进行添加删除修改等一些操作,具体的设计界面如图6所示
图6用户主界面
(3)员工工资管理系统表单对话框资源模板添加部分控件如表4所示。
表4表单对话框控件及属性
IDC_QUESTION
IDC_ANSWER
IDC_REANAME
IDC_IDNUM
IDC_AGE
IDC_PHINE
年份
月份
员工姓名
员工部门
基本工资
业绩工资
津贴
各种补助
水电费
组框
编辑模块
查询模块
IDC_BUTTON
查询
①双击对话框模板或按【Ctrl+W】快捷键为对话框资源建立类向导。
在弹出MFCClassWizard对话框,切换到MemberVaribles选项卡,在Classname框中为上述控件添加相关联的数据成员变量。
②具体代码如下
//CMyViewdatabasesupport
CRecordset*CMyView:
OnGetRecordset()
returnm_pSet;
//CMyViewmessagehandlers
BOOLCMyView:
OnCommand(WPARAMwParam,LPARAMlParam)
Addyourspecializedcodehereand/orcallthebaseclass
CStringstr;
CMainFrame*pFrame=(CMainFrame*)AfxGetApp()->
m_pMainWnd;
CStatusBar*pStatus=&
pFrame->
m_wndStatusBar;
if(pStatus)
CRecordsetStatusrStatus;
m_pSet->
GetStatus(rStatus);
str.Format("
当前记录:
%d/总记录:
%d"
1+rStatus.m_lCurrentRecord,m_pSet->
GetRecordCount());
pStatus->
SetPaneText(1,str);
returnCRecordView:
OnCommand(wParam,lParam);
}voidCMyView:
OnChaxunzgbh()
Addyourcontrolnotificationhandlercodehere
m_ZGBH.TrimLeft();
m_ZGBH.TrimRight();
if(m_ZGBH.IsEmpty())
要查询的员工编号不能为空"
}
Close();
m_strFilter.Format("
ZGBH='
%S'
m_ZGBH);
//查询字符串m_ZGBH
m_strSort="
YF"
Open();
if(!
IsEOF())
UpdateData(FALSE);
没有查到你要找的纪录!
voidCMyView:
OnButtonAdd()
CEditDlgdlg;
if(dlg.DoModal()==IDOK)
AddNew();
/
m_NF=dlg.m_intNF;
m_YF=dlg.m_intYF;
m_ZGBH=dlg.m_strZGBH;
m_ZGXM=dlg.m_strZGXM;
m_ZGBM=dlg.m_strZGBM;
m_JBGZ=dlg.m_longJBGZ;
m_YJGZ=dlg.m_longYJGZ;
m_JJ=dlg.m_longJJ;
m_JT=dlg.m_longJT;
m_GZBZ=dlg.m_longGZBZ;
m_SDF=dlg.m_longSDF;
m_FZ=dlg.m_longFZ;
m_HF=dlg.m_longHF;
m_CX=dlg.m_longCX;
m_BX=dlg.m_longBX;
Update();
Requery();
OnButtonDelete()
CRecordsetStatusstatus;
GetStatus(status);
Delete();
if(status.m_lCurrentRecord==0)
MoveNext();
MoveFirst();
OnButtonEdit()
dlg.m_intNF=m_pSet->
m_NF;
dlg.m_intYF=m_pSet->
m_YF;
dlg.m_strZGBH=m_pSet->
m_ZGBH;
dlg.m_strZGXM=m_pSet->
m_ZGXM;
dlg.m_strZGBM=m_pSet->
m_ZGBM;
dlg.m_longJBGZ=m_pSet->
m_JBGZ;
dlg.m_longYJGZ=m_pSet->
m_YJGZ;
dlg.m_longJJ=m_pSet->
m_JJ;
dlg.m_longJT=m_pSet->
m_JT;
dlg.m_longGZBZ=m_pSet->
m_GZBZ;
dlg.m_longSDF=m_pSet->
m_SDF;
dlg.m_longFZ=m_pSet->
m_FZ;
dlg.m_longHF=m_pSet->
m_HF;
dlg.m_longCX=m_pSet->
m_CX;
dlg.m_longBX=m_pSet->
m_BX;
//IDOK
m_pSet->
Edit();
//m_pSet->
voidCEditDlg:
m_strZGBH.TrimLeft();
m_strZGXM.TrimLeft();
m_strZGBM.TrimLeft();
if(m_strZGBH.IsEmpty())
员工编号不能为空!
if(m_strZGXM.IsEmpty())
员工姓名不能为空!
if(m_strZGBM.IsEmpty())
员工部门不能为空!
OnOK();
(4)系统工资统计界面的设计
员工的最后实际发的工资是经过计算后的,这个界面就是体现出这个计算的过程,应发工资减掉各种扣钱,得到最后的工资,设计界面如图7所示
图7用户主界面
①为IDC_GUOJI对话框资源模板添加控件如表5所示
表5单对话框控件及属性
应发合计
扣除合计
实发工资
IDC_IDUNM
IDC_GUOJI
IDC_CMDE
②按Ctrl+W键,弹出MFCClassWizard对话框,切换到MemberVaribles选项卡,在Classname框中选择IDC_GUOJI,为上述控件添加相关联的数据成员变量。
③代码如下:
OnButtonTongji()
CTongjidlg;
dlg.m_YFHJ=m_pSet->
m_JBGZ+m_pSet->
m_YJGZ+m_pSet->
m_JJ+m_pSet->
m_JT+m_pSet->
dlg.m_KCHJ=m_pSet->
m_SDF+m_pSet->
m_FZ+m_pSet->
m_HF+m_pSet->
m_BX+m_pSet->
dlg.m_SFGZ=
dlg.m_YFHJ-dlg.m_KCHJ;
dlg.DoModal();
/}
3设计结果与分析
3.1 系统登录界面设计
进入程序后,首先出现的是【员工登陆】对话框,在【用户名】文本框中输入后按Tab键,程序将自动查询用户名并跳到【密码】文本框中,输入密码后按Enter键即可进入系统,执行denglu.cpp文件,调用CEditDlg:
OnOK()函数。
登录对话框如图8所示。
图8员工登录对话框
3.2 系统主界面设计
登录成功后将显示主界面主界面如图9所示,在此界面可以选择各种按钮进行不同的操作。
比如点击【添加】按钮,系统将执行EditDlg.cpp文件,调用voidCMyView:
OnButtonAdd()函数。
然后将进出编辑对话框,对数据进行添加操作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 员工 工资管理 系统