欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    VC课设公司员工工资管理系统.doc

    • 资源ID:1220868       资源大小:1.12MB        全文页数:23页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    VC课设公司员工工资管理系统.doc

    1、公司员工工资管理系统1课程设计目的公司员工工资管理系统是典型的人员信息管理系统,其主要的功能是把人员管理过程信息化,自动化以减轻人工的重复繁琐劳动。其开发主要包括后台数据库的建立维护以及前台应用程序的开发两个方面。对于后台数据库要求建立一个稳定的数据库,保持数据的一致性,完整性,安全性也是必要的。对于前台要求稳定,实用,易用。本系统是为公司人事管理的各种工作而设计的。根据需求分析,需要实现对系统用户,基本信息(公司部门,人员相关信息等),考勤考评的管理。经过分析,本系统使用SQL SERVER做为其后台数据库,采用ADO数据库链接技术;Visual C+做为开发工具, 提供了相当齐备的类库、友

    2、好的编程界面和多种多样的数据库访问技术。其中ADO使得编写数据库应用程序变得简单容易。 公司人事管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性,完整性,安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。2功能描述系统功能分析企业工资管理系统需要完成的功能主要有 * 系统数据初始化 * 员工基本信息数据的输入 * 员工基本信息数据的修改、删除 * 企业工资的基本设定 * 员工工资的浏览 * 员工个人工资表的查询3方案论证 3.1总体设计系统功能模块设计如下图所示。员工工资管理系 统工资汇总工资基本设置员工

    3、信息资料输入员工增删员工查询员工修改基本工资员工奖金工资福利个人罚款工资总表个人工资查询图1 系统功能模块3.2详细设计3.2.1数据库设计通过对企业工资管理的内容和数据流程分析,设计的数据项和数据结构如下。* 员工基本状况包括的数据库项有员工号、员工姓名、性别、所在部门、生日、家庭住址、联系电话等。因为本程序中只涉及到工资管理,故为了说明简单在数据库中只包含进了与员工的工资相关的资料,如入厂时间、所在部门、岗位、工资级别等。* 工资级别的工资金额,包括的数据库项有工资技能等级、工资额。* 企业部门及工作岗位信息包括的数据库项有部门名称、工作岗位名称、岗位工资等。* 公司福利金额包含的数据库项

    4、有福利值。* 工资信息包含的数据库项有员工号、员工姓名、员工基础工资、公司福利、员工实得工资。3.2.2 数据库概念结构设计根据公司员工信息管理系统设计的信息数据和系统功能模块结构,公司员工信息管理系统数据库包括工资详情表、登陆框结构表、工资详情表、员工信息表。为数据库员工工资表添加如下数据表。表1 工资详情表结构字段名称数据类型说明编号自动编号ID文本员工号departmen文本部门号name文本姓名salary数字工资remark文本备注表2 登陆框结构字段名称数据类型说明Name文本用户名password文本密码表3 工资详情表结构字段名称数据类型说明编号自动编号ID文本员工号depar

    5、tment文本部号basic数字基本工资bonus数字奖金welfare数字福利fine数字罚款total数字总工资表4 员工信息表结构字段名称数据类说明编号自动编号ID文本员工号department文本部门号name文本姓名sex文本性别tob文本职务tel文本电话address文本住址3.3 创建数据源为数据库创建用户DSN,数据源名称为“员工工资表”。图2 创建数据源3.3.1 数据库结构的实现在需求分析、概念结构设计的继承上得数据库的逻辑结构之后,我们就可以在数据库系统中实现该逻辑结构。数据库的逻辑结构直接使用项目管理器来实现在这之前先建一个名为salary 工资的项目保存在磁盘,如D

    6、 salary 。存储为D:salarydatabasesalary.dbc。为数据库添加数据表存储为Dsalarydatabasetms.dbf.3.3.2程序界面设计 (1)员工工资模块设计图3 员工工资管理模块查询控件的设计在CEX_Viewl 类中添加按扭控件查询IDC_BUTTON_QUERYY 的BN_CLICKED 消息映射并添加下列代码。void CEx_View:OnButtonQuery()UpdateData();m_strQuery.TrimLeft ();if(m_strQuery.IsEmpty ()MessageBox(要查询的员工号不能为空);return;if

    7、(m_pSet-IsOpen ()m_pSet-Close();m_pSet-m_strFilter.Format(ID=%s,m_strQuery);m_pSet-m_strSort=department;m_pSet-Open();if(!m_pSet-IsEOF()UpdateData(FALSE);elseMessageBox(没有查到你要找员工的记录!);(2)添加、修改、删除控件的设计添加一对话框资源ID 号为IDD_SALARY_TABLE ,将表单资源的控件复制到对话框即可,然后为对话框资源创建一个对话框类CSalaryDlg,在MFC 中为控件添加成员变量如下图所示。图4 员

    8、工工资表界面图5 为控件添加成员变量然后为IDOK 添加BN_CLICKED 消息映射并添加下列代码:void CSalaryDlg:OnOK()UpdateData();m_strID.TrimLeft();m_strDepartment.TrimLeft();if(m_strID.IsEmpty()MessageBox(员工号不能为空!);elseif(m_strDepartment.IsEmpty()MessageBox(部门号不能为空!);elseCDialog:OnOK();然后CEx_View 类中的三个按扭IDC_REC_ADDIDC_REC_EDITIDC_REC_DEL 添加

    9、BN_CLICKED 消息映射,并添加下列代码:void CEx_View:OnRecAdd()CSalaryDlg dlg;if(dlg.DoModal()=IDOK)m_pSet-AddNew();m_pSet-m_department =dlg.m_strDepartment;m_pSet-m_ID =dlg.m_strID;m_pSet-m_name =dlg.m_strName;m_pSet-m_salary =dlg.m_fSalary;m_pSet-Update();m_pSet-Requery();void CEx_View:OnRecEdit()CSalaryDlg dlg;

    10、dlg.m_strDepartment =m_pSet-m_department;dlg.m_strID =m_pSet-m_ID;dlg.m_strName =m_pSet-m_name;dlg.m_fSalary =m_pSet-m_salary;if(dlg.DoModal()=IDOK)m_pSet-Edit();m_pSet-m_department =dlg.m_strDepartment;m_pSet-m_ID =dlg.m_strID;m_pSet-m_name =dlg.m_strName;m_pSet-m_salary =dlg.m_fSalary;m_pSet-Updat

    11、e();m_pSet-Requery();UpdateData(FALSE);void CEx_View:OnRecDel()CRecordsetStatus status;m_pSet-GetStatus(status);m_pSet-Delete();if(status.m_lCurrentRecord=0)m_pSet-MoveNext();elsem_pSet-MoveFirst();UpdateData(FALSE);(3)工资详情模块的设计图6 工资详情设计为对话框资源创建一个对话框类CDetailDlg,在MFC 中为控件添加成员变量如下图所示。图7 为控件添加成员变量为表单资源

    12、的按扭添加BN_CLICKED 消息映射并添加下列代码。void CEx_View:OnButtonDetail()CDetailDlg dlg;dlg.DoModal();在CDetailDlg 类中添加按扭控件查询IDC_BUTTON_QUERYY2 的BN_CLICKED 消息映射并添加下列代码void CDetailDlg:OnButtonQuery2()UpdateData();m_strQuery2.TrimLeft ();if(m_strQuery2.IsEmpty ()MessageBox(要查询的员工号不能为空!);return;CString str;str=m_strQu

    13、ery2;CDetailSet cSet;cSet.m_strFilter.Format(ID=%s,str);cSet.Open();if(!cSet.IsEOF()m_strDepartment=cSet.m_department;m_fBasic=cSet.m_basic;m_fBonus=cSet.m_bonus;m_fWelfare=cSet.m_welfare;m_fFine=cSet.m_fine;m_fTotal=cSet.m_total;m_strID=cSet.m_ID;UpdateData(FALSE);elseMessageBox(查询的员工记录不存在!);if(cSe

    14、t.IsOpen()cSet.Close();添加一对话框资源ID 号为IDD_DETAIL_TABEL 将工资详情的控件复制到对话框即可。然后为话框资源创建一个对话框类CDtabelDlg 在MFC 中为控件添加成员变量如下图所示。图8 工资详情表界面然后为IDOK 添加BN_CLICKED 消息映射,并添加下列代码:void CDtabelDlg:OnOK()UpdateData();m_strID.TrimLeft();m_strDepartment.TrimLeft();if(m_strID.IsEmpty()MessageBox(员工号不能为空!);elseif(m_strDepar

    15、tment.IsEmpty()MessageBox(部门号不能为空!);elseCDialog:OnOK();然后CDetailDlg 类中的三个按扭,IDC_REC_ADD,IDC_REC_EDIT,IDC_REC_DEL 添加BN_CLICKED 消息映射,并添加下列代码:void CDetailDlg:OnButtonAdd2()CDtabelDlg dlg;if(dlg.DoModal()=IDOK)CDetailSet pSet;pSet.AddNew();pSet.m_department =dlg.m_strDepartment;pSet.m_ID =dlg.m_strID;pS

    16、et.m_basic =dlg.m_fBasic;pSet.m_bonus =dlg.m_fBonus;pSet.m_welfare =dlg.m_fWelfare;pSet.m_fine =dlg.m_fFine;pSet.m_total =dlg.m_fTotal;pSet.Update();pSet.Requery();void CDetailDlg:OnButtonEdit2()CDetailSet pSet;pSet.Open();UpdateData();pSet.Edit();pSet.m_department=m_strDepartment;pSet.m_ID= m_strID

    17、;pSet.m_basic=m_fBasic;pSet.m_bonus= m_fBonus;pSet.m_welfare=m_fWelfare;pSet.m_fine= m_fFine;pSet.m_total= m_fTotal;UpdateData(FALSE);pSet.Update();pSet.Requery();pSet.Close();MessageBox(修改成功);void CDetailDlg:OnButtonDel2()UpdateData();CDetailSet cSet;cSet.Open();cSet.m_strFilter=ID=+m_strID+;cSet.R

    18、equery();cSet.Delete();cSet.Close();UpdateData(false);(4) 登陆框的设计如上的方法依次为其创建对话框类DengluDlg 和CRecordSet 派生类CDengluSet 在MFC中为控件添加成员变量。登陆框界面如下图所示。图9 登陆框界面然后为IDOK 添加BN_CLICKED 消息映射,并添加下列代码:BOOL CDengluDlg:check()UpdateData();CDengluSet pSet;pSet.Open();if(m_stryonghu.IsEmpty()|m_strmima.IsEmpty() MessageB

    19、ox(请输用户名和密码!);return false;pSet.m_strFilter.Format(name=%s,m_stryonghu);pSet.Requery();if(pSet.m_name!=m_stryonghu|pSet.m_password!=m_strmima) MessageBox(密码或用户名有错!);return false;return true;void CDengluDlg:OnOK()CWnd *m_pMainWnd;if(!check()return;CDialog:OnOK();m_pMainWnd=AfxGetMainWnd();CDialog:OnO

    20、K();4 系统测试4.1系统测试结果系统测试结果如图所示。图10 进入登陆框测试用户进入主界面如下图所示。图11 进入主界面测试4.2 异常处理由于时间匆忙以及本人水平有限,本程序存在的问题比较多,自认为主要有以下几个方面。(1)程序没有对输入的员工信息诸如 工号、姓名、部门号等进行检测其合理性所以在工号姓名、部门号等中可以输入字母或在名字中可以输入数字就在所难免了作为一个员工信息管理,这样的安全性是致命的。要解决这个问题就要在重载函数中加入各种判断语句工作量比较大。(2)由于水平有限没有制作图形界面多媒体等美化程序的设置只是一些简单的对话框和界面,看起来难免有些单调不够完善。(3)程序的功

    21、能也是一个问题员工的信息太简单,可进行的操作也少可能有些功能实现起来显得有些别扭。5心得体会通过这次课题设计,我觉得做好一个程序,灵活运用是关键。把基础学好不一定能把程序编好,但基础知识不好,一定编不出好程序。做大规模的程序不只是一个人努力就行了,一定要有团队合作能力。编程最主要是思路清晰,只要你把思路理顺了,就有利于你在编程的过程中少走弯路。 要想学好这门课我觉得除了在课堂上认真学习之外也要做好以下几点:1.认真对待每一个程序的编写 2.做好对每一个所编程序的总结 3.写程序尽量要规范、严谨,效率尽量要高 4.养成自我测试的习惯 5.多看一些别人编的程序,把好的思路和方法记下来,以备不时之需

    22、 6.要有恃之以恒的精神以及严谨的科学研究作风 在努力奋斗中,我终于把本次课题设计顺利完成。回想起课题设计过程中面对程序错误一大堆的失望与成功完成程序中每一个模块的喜悦时,我真正的体会到了:细节决定成败;学术不管是哪一门,只要你用心去对待它,它也会用心地来回报你,这也正印证了一句话:“一分耕耘一分收获”。6 参考文献1 郑阿奇,丁有和.Visual C+教程M.北京:清华大学出版社,2016.3:346-3492 马石安,魏文平.Visual C+程序设计与应用教程题解及课程设计M.北京:清华大学出版社,2015.7:101-2303 郑莉. C+语言程序设计案例教程M.北京:清华大学出版社,

    23、2016.7:24-1394 黄明.面向对象程序设计习题详解M.北京:机械工业出版社,2015.9:32-1055 徐士良.C常用算法程序集M.北京:清华大学出版社,2015.9:29-916 黄维通.Visual C+面向对象与可视化设计(第2版)M.北京: 清华大学出版社,2014.12:36-1057 附录(部分源代码)在CEX_Viewl 类中添加按扭控件查询IDC_BUTTON_QUERYY 的BN_CLICKED 消息映射并添加下列代码。void CEx_View:OnButtonQuery()UpdateData();m_strQuery.TrimLeft ();if(m_str

    24、Query.IsEmpty ()MessageBox(要查询的员工号不能为空);return;if(m_pSet-IsOpen ()m_pSet-Close();m_pSet-m_strFilter.Format(ID=%s,m_strQuery);m_pSet-m_strSort=department;m_pSet-Open();if(!m_pSet-IsEOF()UpdateData(FALSE);elseMessageBox(没有查到你要找员工的记录!);然后为IDOK 添加BN_CLICKED 消息映射并添加下列代码:void CSalaryDlg:OnOK()UpdateData()

    25、;m_strID.TrimLeft();m_strDepartment.TrimLeft();if(m_strID.IsEmpty()MessageBox(员工号不能为空!);elseif(m_strDepartment.IsEmpty()MessageBox(部门号不能为空!);elseCDialog:OnOK();然后CEx_View 类中的三个按扭IDC_REC_ADDIDC_REC_EDITIDC_REC_DEL 添加BN_CLICKED 消息映射,并添加下列代码:void CEx_View:OnRecAdd()CSalaryDlg dlg;if(dlg.DoModal()=IDOK)

    26、m_pSet-AddNew();m_pSet-m_department =dlg.m_strDepartment;m_pSet-m_ID =dlg.m_strID;m_pSet-m_name =dlg.m_strName;m_pSet-m_salary =dlg.m_fSalary;m_pSet-Update();m_pSet-Requery();void CEx_View:OnRecEdit()CSalaryDlg dlg;dlg.m_strDepartment =m_pSet-m_department;dlg.m_strID =m_pSet-m_ID;dlg.m_strName =m_pS

    27、et-m_name;dlg.m_fSalary =m_pSet-m_salary;if(dlg.DoModal()=IDOK)m_pSet-Edit();m_pSet-m_department =dlg.m_strDepartment;m_pSet-m_ID =dlg.m_strID;m_pSet-m_name =dlg.m_strName;m_pSet-m_salary =dlg.m_fSalary;m_pSet-Update();m_pSet-Requery();UpdateData(FALSE);void CEx_View:OnRecDel()CRecordsetStatus statu

    28、s;m_pSet-GetStatus(status);m_pSet-Delete();if(status.m_lCurrentRecord=0)m_pSet-MoveNext();elsem_pSet-MoveFirst();UpdateData(FALSE);为表单资源的按扭添加BN_CLICKED 消息映射并添加下列代码。void CEx_View:OnButtonDetail()CDetailDlg dlg;dlg.DoModal();在CDetailDlg 类中添加按扭控件查询IDC_BUTTON_QUERYY2 的BN_CLICKED 消息映射并添加下列代码void CDetailDlg:OnButtonQuery2()UpdateData();m_strQuery2.TrimLeft ();if(m_strQuery2.IsEmpty ()MessageBox(要查询的员工号不能为空!);return;CString str;str=m_strQuery2;CDetailSet cSet;cSet.m_


    注意事项

    本文(VC课设公司员工工资管理系统.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开