企业人事管理系统课程.docx

上传人:小飞机 文档编号:1777121 上传时间:2022-12-18 格式:DOCX 页数:36 大小:1.77MB
返回 下载 相关 举报
企业人事管理系统课程.docx_第1页
第1页 / 共36页
企业人事管理系统课程.docx_第2页
第2页 / 共36页
企业人事管理系统课程.docx_第3页
第3页 / 共36页
企业人事管理系统课程.docx_第4页
第4页 / 共36页
企业人事管理系统课程.docx_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《企业人事管理系统课程.docx》由会员分享,可在线阅读,更多相关《企业人事管理系统课程.docx(36页珍藏版)》请在三一办公上搜索。

1、实训报告题 目: 企业人事管理系统类 型: 数据库院 系: 信息科技学院专 业: 计算机科学与技术(软件方向)姓 名: 蒙宏达 学 号: 1051210202 日 期: 2012年1月06日 桂林电子科技大学信息科技学院企业人事管理系统一、系统设计1、总体设计本程序使用的是数据库作为存储记录,通过链接使数据读入到程序中显示,修改等操作。本程序以主界面为主,通过弹出对话框来显示数据和提供更多操作。由于本系统是用作企业人事管理,其中涉及到员工工资,所以我花了一些心思来为这个系统加上了一个功能比较完善的计算器,可用于计算工资。 这是主界面 这是点击“显示所有员工信息”按钮弹出的对话框 弹出计算器菜单

2、在员工对话框弹出的计算器界面二、 功能解释清空显示功能:通过点击主菜单上的“清空显示”按钮来清空框内的数据,然后再框内输入要添加的数据。添加功能:可以通过点击主菜单上的“清空显示”按钮来清空框内的数据,或者是在已经显示的数据的基础上来增加或删除框内的数据作为新的数据,然后再把要添加的信息输入框内,然后再点击“添加”按钮来实现添加,添加完成后会有提示告诉用户已完成添加。提示如下:删除功能:可以通过点击主菜单上的“删除”按钮来删除当前框内显示的数据,删除完成后会有提示告诉用户已完成删除。提示如下:修改功能:可以通过点击主菜单上的“修改”按钮来修改当前框内显示的数据,修改完成后会有提示告诉用户已完成

3、修改。提示如下:如未作任何修改则会提示:查找功能:可以通过在查找框内输入要查找的员工,点击主菜单上的“查找”按钮,如果有该员工记录,则在主菜单所有信息框中显示,如没有该记录或未输入要查找的数据则提示: 用户可以按菜单栏上的工具栏或菜单栏还有主界面上的按钮来滚动查看各员工信息。计算器的功能:计算器可以进行小数,负数之间的四则运算,还可以进行进制转换,并能自动文件保存计算记录,如用户想查看计算记录,可点击计算器上的“历史记录”来查看。三、系统实现制作数据源:先用offece access 2003 制作数据源然后在操作系统上注册数据源:各功能实现代码:清空显示功能:void CQiyerenshi

4、guanliView:OnClear() m_pSet-SetFieldNull(NULL);UpdateData(FALSE);AfxMessageBox(您可以在所有空格内输入要添加的数据,然后点击添加按钮_);添加功能:void CQiyerenshiguanliView:OnAddnew() m_pSet-AddNew();UpdateData(TRUE);if (m_pSet-CanUpdate()m_pSet-Update();m_pSet-Requery(); /UpdateData(FALSE);AfxMessageBox(添加成功_);删除功能:void CQiyerensh

5、iguanliView:OnDelete() m_pSet-Delete();m_pSet-MoveFirst();UpdateData(FALSE);AfxMessageBox(完成删除记录!);修改功能:void CQiyerenshiguanliView:OnRevise() m_pSet-Edit();UpdateData(TRUE);if(!m_pSet-Update()AfxMessageBox(您未做任何修改!);return;UpdateData(FALSE);AfxMessageBox(修改完成_);查找功能:void CQiyerenshiguanliView:OnBUTT

6、ONfind() UpdateData();if (m_findname.IsEmpty()AfxMessageBox(您未输入姓名,请输入!);return;m_pSet-MoveFirst();UpdateData(TRUE); while (!m_pSet-IsEOF()&m_pSet-m_column2!=m_findname) m_pSet-MoveNext(); if (m_pSet-IsEOF() AfxMessageBox(无此员工,请确认后再输入!); m_pSet-MoveFirst(); return; UpdateData(FALSE);上一条:void CQiyere

7、nshiguanliView:OnMovepre() m_pSet-MovePrev();UpdateData(FALSE);下一条:void CQiyerenshiguanliView:OnMovenext() m_pSet-MoveNext();UpdateData(FALSE);显示所有员工信息:void CQiyerenshiguanliView:OnShowall() CShowDlg dialog;dialog.DoModal(); /只是弹出对话框,数据库的内存已经通过控件来让系统自动链接,如下图:计算器功能:double a=0,c=0,d=0,f=0;int i=0; /用来

8、标记是否要清除输入记录int k=0; /用来标记按下负号时是否要清除编辑框中的内容char j; char o20;char v40;char l40;char s220;char s820;char s1620;int s; /标记是否按下进制转换按钮,清除主显示框int z=0; /标记是否按下负号或小数点,按下则不能进行进制转换int chu=1;void Cdialogcal:On1() if (i) / 用i判断是否已按下=号,如果按下则清空编辑框 里的内容m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.ReplaceSel(1)

9、; /在小编辑框显示数字m_edit1.ReplaceSel(1); /在大编辑框显示数字 i=0; /让用来标记是否按下等号的i为0,取消按下等号的标记k=0; void Cdialogcal:On0() if (i)m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.ReplaceSel(0);m_edit1.ReplaceSel(0);i=0;k=0;void Cdialogcal:On2() if (i) / 用i判断是否已按下=号,如果按下则清空编辑框 里的内容m_edit1.SetSel(0,-1);m_edit1.ReplaceSe

10、l();m_EDIT2.ReplaceSel(2); /在小编辑框显示数字m_edit1.ReplaceSel(2); /在大编辑框显示数字i=0; /让用来标记是否按下等号的i为0,取消按下等号的标记 k=0;void Cdialogcal:On3() if (i) / 用i判断是否已按下=号,如果按下则清空编辑框 里的内容m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.ReplaceSel(3); /以下数字按钮同上m_edit1.ReplaceSel(3);i=0;k=0;void Cdialogcal:On4() if (i)m_ed

11、it1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.ReplaceSel(4);m_edit1.ReplaceSel(4);i=0;k=0;void Cdialogcal:On5() if (i)m_edit1.SetSel(0,-1);m_edit1.ReplaceSel(); m_EDIT2.ReplaceSel(5);m_edit1.ReplaceSel(5);i=0;k=0;void Cdialogcal:On6() if (i)m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.ReplaceSe

12、l(6);m_edit1.ReplaceSel(6);i=0;k=0;void Cdialogcal:On7() if (i)m_edit1.SetSel(0,-1);m_edit1.ReplaceSel(); m_EDIT2.ReplaceSel(7);m_edit1.ReplaceSel(7);i=0;k=0;void Cdialogcal:On8() if (i)m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.ReplaceSel(8);m_edit1.ReplaceSel(8);i=0;k=0;void Cdialogcal:On9(

13、) if (i)m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.ReplaceSel(9);m_edit1.ReplaceSel(9);i=0;k=0;void Cdialogcal:OnPoint() m_edit1.ReplaceSel(.); m_EDIT2.ReplaceSel(.);i=0;k=0;z=1;void Cdialogcal:OnBUTTON2b() switch (z)case 1:MessageBox(进制转换数不能为负数或零,错误,IDOK);z=0;m_edit1.SetSel(0,-1);m_edit1.Rep

14、laceSel();m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();break;case 0:GetDlgItemText(IDC_EDIT2,o,sizeof(o); /同上s=atoi(o);itoa(s,s2,2);m_edit1.ReplaceSel(-二进制=);m_edit1.ReplaceSel(s2);m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();m_edit1.SetSel(0,-1); i=1;z=0;GetDlgItemText(IDC_EDIT1,v,sizeof(v);ofstream out(

15、all.txt,ios:app);if (!out)cerr不能打开文件!endl;exit(1);GetDlgItemText(IDC_EDITrecord,l,sizeof(l);for(int y=0;vy!=0;y+)outvy;out八进制=);m_edit1.ReplaceSel(s8);m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();m_edit1.SetSel(0,-1); i=1;z=0;GetDlgItemText(IDC_EDIT1,v,sizeof(v);ofstream out(all.txt,ios:app);if (!out)c

16、err不能打开文件!endl;exit(1);GetDlgItemText(IDC_EDITrecord,l,sizeof(l);for(int y=0;vy!=0;y+)outvy;out十六进制=);m_edit1.ReplaceSel(s16);m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();m_edit1.SetSel(0,-1);GetDlgItemText(IDC_EDIT1,v,40);ofstream outfile(all.txt,ios:app);if (!outfile)cerr不能打开文件!endl;exit(1);for (int

17、x=0;x+)outfilevx;if (vx=0)outfilen;break;outfile.close();i=1;z=0; void Cdialogcal:OnJia() GetDlgItemText(IDC_EDIT2,o,sizeof(o); /读取小编辑框的内容并存入数组o中f=atof(o); /把o中的字符型数据转换成浮点型数据a=f;m_edit1.ReplaceSel(+); j=+;i=0; m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();/ void Cdialogcal:OnJian() GetDlgItemText(IDC_ED

18、IT2,o,sizeof(o); /同上f=atof(o);a=f;m_edit1.ReplaceSel(-); j=-;i=0; m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();void Cdialogcal:OnCeng() GetDlgItemText(IDC_EDIT2,o,sizeof(o); /同上f=atof(o);a=f;m_edit1.ReplaceSel(*); j=*;i=0; m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();void Cdialogcal:OnChu() GetDlgItemText

19、(IDC_EDIT2,o,sizeof(o); /同上f=atof(o);a=f;m_edit1.ReplaceSel(/); j=/;i=0;m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();void Cdialogcal:OnDeng() GetDlgItemText(IDC_EDIT2,o,sizeof(o); /同上f=atof(o);c=f; m_edit1.ReplaceSel(=); switch(j)case +:d=a+c;break;case -:d=a-c;break;case *:d=a*c;break;case /:if (c=0)

20、MessageBox(除数不能为零!,错误,IDOK);chu=0;m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();elsed=(1.0*a)/c;break;if (chu)_gcvt(d,10,o); /把浮点型数据转换成字符型数据m_edit1.ReplaceSel(o);/把计算结果显示到大编辑框中i=1;d=0;k=1;m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();GetDlgItemText(IDC_EDIT1,v,sizeo

21、f(v);ofstream out(all.txt,ios:app);if (!out)cerr不能打开文件!endl;exit(1);GetDlgItemText(IDC_EDITrecord,l,sizeof(l);for(int y=0;vy!=0;y+)outvy;outn;out.close();chu=1;z=0;void Cdialogcal:OnFu() m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();if (k)m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_edit1.ReplaceSel(-);m

22、_EDIT2.ReplaceSel(-);i=0;z=1;void Cdialogcal:OnBUTTONclear() m_edit1.SetSel(0,-1);m_edit1.ReplaceSel();m_EDIT2.SetSel(0,-1);m_EDIT2.ReplaceSel();void Cdialogcal:OnBUTTONclearfile() ofstream outfile(all.txt,ios:out); /若文件存在则清除其中全部内容if (!outfile)cerr不能打开文件!endl;exit(1);outfile.close();void Cdialogcal:

23、OnBUTTONrecord() m_view.SetSel(0,-1);m_view.ReplaceSel();ifstream in(all.txt,ios:in);if (! in)cerr无法打开文件!lx;else break;in.close();m_view.ReplaceSel(l);void Cdialogcal:OnClear() m_view.SetSel(0,-1);m_view.ReplaceSel();void Cdialogcal:OnExit() OnOK();退出按钮:void CQiyerenshiguanliView:OnExit() PostQuitMe

24、ssage(0); 四调试:主菜单:点击清空显示:使用添加功能:在所有员工信息框内输入完后点击添加按钮:如果输入不合法:删除功能使用:滚动到要删除的员工信息,然后点击删除按钮,如下图:修改功能的使用:滚动到要修改的员工信息,然后点击修改按钮,如下图:如果没有作任何的修改就点击修改按钮则会提示错误,如下图:点击显示所有员工按钮则以表格形式显示所有员工的,是由系统控件自动完成链接的:查找功能的使用:在查找框下输入要查找的员工姓名,如果有记录,则显示在主界面的所有员工信息框中:如果没有该员工的记录或没有输入要查找的信息则会提示错误,如下图:点击“上一条记录”,“下一条记录”,按钮,则上下滚动显示员工

25、信息:或点击工具栏上的快捷按钮还有菜单栏上的菜单都可以滚动查看:使用显示所有员工的功能:计算工资工具计算器的使用:计算器可以进行小数,负数之间的四则运算,还可以进行进制转换,并能自动文件保存计算记录,如用户想查看计算记录,可点击计算器上的“历史记录”来查看。五实训总结 : 这次实训涉及到了Visual C+ 的知识,其中有MFC,数据库,文件保存等,从中学习到了很多关于Visual C+的知识,虽然本程序中的计算器功能实现的代码有点偏长,不过我只是把它当作一个学习的机会。这次实训主要考验的是我们自学能力,并很好的应用我们已经学过的知识,为以后编程之路打下了一定的基础。六参考资料深入浅出MFC 侯俟杰 华中科技大学出版社 Visual C+ 面向对象编程教程 王育坚 清华大学出版社 35

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号