企业人事管理系统课程.docx
- 文档编号:30682667
- 上传时间:2023-08-19
- 格式:DOCX
- 页数:36
- 大小:1.76MB
企业人事管理系统课程.docx
《企业人事管理系统课程.docx》由会员分享,可在线阅读,更多相关《企业人事管理系统课程.docx(36页珍藏版)》请在冰豆网上搜索。
企业人事管理系统课程
实训报告
题目:
企业人事管理系统
类型:
数据库
院系:
信息科技学院
专业:
计算机科学与技术(软件方向)
姓名:
蒙宏达
学号:
1051210202
日期:
2012年1月06日
桂林电子科技大学信息科技学院
企业人事管理系统
一、系统设计
1、总体设计
本程序使用的是数据库作为存储记录,通过链接使数据读入到程序中显示,修改等操作。
本程序以主界面为主,通过弹出对话框来显示数据和提供更多操作。
由于本系统是用作企业人事管理,其中涉及到员工工资,所以我花了一些心思来为这个系统加上了一个功能比较完善的计算器,可用于计算工资。
这是主界面
这是点击“显示所有员工信息”按钮弹出的对话框
弹出计算器菜单
在员工对话框弹出的计算器界面
二、功能解释
清空显示功能:
通过点击主菜单上的“清空显示”按钮来清空框内的数据,然后再框内输入要添加的数据。
添加功能:
可以通过点击主菜单上的“清空显示”按钮来清空框内的数据,或者是在已经显示的数据的基础上来增加或删除框内的数据作为新的数据,然后再把要添加的信息输入框内,然后再点击“添加”按钮来实现添加,添加完成后会有提示告诉用户已完成添加。
提示如下:
删除功能:
可以通过点击主菜单上的“删除”按钮来删除当前框内显示的数据,删除完成后会有提示告诉用户已完成删除。
提示如下:
修改功能:
可以通过点击主菜单上的“修改”按钮来修改当前框内显示的数据,修改完成后会有提示告诉用户已完成修改。
提示如下:
如未作任何修改则会提示:
查找功能:
可以通过在查找框内输入要查找的员工,点击主菜单上的“查找”按钮,如果有该员工记录,则在主菜单所有信息框中显示,如没有该记录或未输入要查找的数据则提示:
用户可以按菜单栏上的工具栏或菜单栏还有主界面上的按钮来滚动查看各员工信息。
计算器的功能:
计算器可以进行小数,负数之间的四则运算,还可以进行进制转换,并能自动文件保存计算记录,如用户想查看计算记录,可点击计算器上的“历史记录”来查看。
三、系统实现
制作数据源:
先用offeceaccess2003制作数据源
然后在操作系统上注册数据源:
各功能实现代码:
清空显示功能:
voidCQiyerenshiguanliView:
:
OnClear()
{
m_pSet->SetFieldNull(NULL);
UpdateData(FALSE);
AfxMessageBox("您可以在所有空格内输入要添加的数据,然后点击添加按钮^_^");
}
添加功能:
voidCQiyerenshiguanliView:
:
OnAddnew()
{
m_pSet->AddNew();
UpdateData(TRUE);
if(m_pSet->CanUpdate())
{
m_pSet->Update();
}
m_pSet->Requery();////
UpdateData(FALSE);
AfxMessageBox("添加成功^_^");
}
删除功能:
voidCQiyerenshiguanliView:
:
OnDelete()
{
m_pSet->Delete();
m_pSet->MoveFirst();
UpdateData(FALSE);
AfxMessageBox("完成删除记录!
");
}
修改功能:
voidCQiyerenshiguanliView:
:
OnRevise()
{
m_pSet->Edit();
UpdateData(TRUE);
if(!
m_pSet->Update())
{
AfxMessageBox("您未做任何修改!
");
return;
}
UpdateData(FALSE);
AfxMessageBox("修改完成^_^");
}
查找功能:
voidCQiyerenshiguanliView:
:
OnBUTTONfind()
{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);
}
上一条:
voidCQiyerenshiguanliView:
:
OnMovepre()
{
m_pSet->MovePrev();
UpdateData(FALSE);
}
下一条:
voidCQiyerenshiguanliView:
:
OnMovenext()
{
m_pSet->MoveNext();
UpdateData(FALSE);
}
显示所有员工信息:
voidCQiyerenshiguanliView:
:
OnShowall()
{
CShowDlgdialog;
dialog.DoModal();//只是弹出对话框,数据库的内存已经通过控件来让系统自动链接,如下图:
}
计算器功能:
doublea=0,c=0,d=0,f=0;
inti=0;//用来标记是否要清除输入记录
intk=0;//用来标记按下负号时是否要清除编辑框中的内容
charj;
charo[20];
charv[40];
charl[40];
chars2[20];
chars8[20];
chars16[20];
ints;////标记是否按下进制转换按钮,清除主显示框
intz=0;//标记是否按下负号或小数点,按下则不能进行进制转换
intchu=1;
voidCdialogcal:
:
On1()
{
if(i)//用i判断是否已按下=号,如果按下则清空编辑框里的内容
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("1");//在小编辑框显示数字
m_edit1.ReplaceSel("1");//在大编辑框显示数字
i=0;//让用来标记是否按下等号的i为0,取消按下等号的标记
k=0;
}
voidCdialogcal:
:
On0()
{
if(i)
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("0");
m_edit1.ReplaceSel("0");
i=0;
k=0;
}
voidCdialogcal:
:
On2()
{
if(i)//用i判断是否已按下=号,如果按下则清空编辑框里的内容
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("2");//在小编辑框显示数字
m_edit1.ReplaceSel("2");//在大编辑框显示数字
i=0;//让用来标记是否按下等号的i为0,取消按下等号的标记
k=0;
}
voidCdialogcal:
:
On3()
{
if(i)//用i判断是否已按下=号,如果按下则清空编辑框里的内容
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("3");//以下数字按钮同上
m_edit1.ReplaceSel("3");
i=0;
k=0;
}
voidCdialogcal:
:
On4()
{
if(i)
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("4");
m_edit1.ReplaceSel("4");
i=0;
k=0;
}
voidCdialogcal:
:
On5()
{
if(i)
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("5");
m_edit1.ReplaceSel("5");
i=0;
k=0;
}
voidCdialogcal:
:
On6()
{
if(i)
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("6");
m_edit1.ReplaceSel("6");
i=0;
k=0;
}
voidCdialogcal:
:
On7()
{
if(i)
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("7");
m_edit1.ReplaceSel("7");
i=0;
k=0;
}
voidCdialogcal:
:
On8()
{
if(i)
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("8");
m_edit1.ReplaceSel("8");
i=0;
k=0;
}
voidCdialogcal:
:
On9()
{
if(i)
{
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
}
m_EDIT2.ReplaceSel("9");
m_edit1.ReplaceSel("9");
i=0;
k=0;
}
voidCdialogcal:
:
OnPoint()
{
m_edit1.ReplaceSel(".");
m_EDIT2.ReplaceSel(".");
i=0;
k=0;
z=1;
}
voidCdialogcal:
:
OnBUTTON2b()
{
switch(z)
{
case1:
{
MessageBox("进制转换数不能为负数或零","错误",IDOK);
z=0;
m_edit1.SetSel(0,-1);
m_edit1.ReplaceSel("");
m_EDIT2.SetSel(0,-1);
m_EDIT2.ReplaceSel("");
break;
}
case0:
{
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));
ofstreamout("all.txt",ios:
:
app);
if(!
out)
{
cerr<<"不能打开文件!
"< exit (1); } GetDlgItemText(IDC_EDITrecord,l,sizeof(l)); for(inty=0;v[y]! ='\0';y++) { out< } out<<'\n'; out.close(); } } voidCdialogcal: : OnBUTTON8b() { switch(z) { case1: { MessageBox("进制转换数不能为负数或零","错误",IDOK); z=0; m_edit1.SetSel(0,-1); m_edit1.ReplaceSel(""); m_EDIT2.SetSel(0,-1); m_EDIT2.ReplaceSel(""); break; } case0: { GetDlgItemText(IDC_EDIT2,o,sizeof(o));//同上 s=atoi(o); itoa(s,s8,8); m_edit1.ReplaceSel("->八进制="); 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)); ofstreamout("all.txt",ios: : app); if(! out) { cerr<<"不能打开文件! "< exit (1); } GetDlgItemText(IDC_EDITrecord,l,sizeof(l)); for(inty=0;v[y]! ='\0';y++) { out< } out<<'\n'; out.close(); i=1; z=0; } } voidCdialogcal: : OnBUTTON16b() { switch(z) { case1: { MessageBox("进制转换数不能为负数或零","错误",IDOK); z=0; m_edit1.SetSel(0,-1); m_edit1.ReplaceSel(""); m_EDIT2.SetSel(0,-1); m_EDIT2.ReplaceSel(""); break; } case0: { GetDlgItemText(IDC_EDIT2,o,sizeof(o));//同上 s=atoi(o); itoa(s,s16,16); m_edit1.ReplaceSel("->十六进制="); m_edit1.ReplaceSel(s16); m_EDIT2.SetSel(0,-1); m_EDIT2.ReplaceSel(""); m_edit1.SetSel(0,-1); GetDlgItemText(IDC_EDIT1,v,40); ofstreamoutfile("all.txt",ios: : app); if(! outfile) { cerr<<"不能打开文件! "< exit (1); } for(intx=0;;x++) { outfile< if(v[x]=='\0') { outfile<<'\n'; break; } } outfile.close(); i=1; z=0; } } } voidCdialogcal: : 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("");// } voidCdialogcal: : OnJian() { 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(""); } voidCdialogcal: : 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(""); } voidCdialogcal: : OnChu() { 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(""); } voidCdialogcal: : 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) { MessageBox("除数不能为零! ! ","错误",IDOK); chu=0; m_edit1.SetSel(0,-1); m_edit1.ReplaceSel(""); m_EDIT2.SetSel(0,-1); m_EDIT2.ReplaceSel(""); } else d=(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,sizeof(v)); ofstreamout("all.txt",ios: : app); if(! out) { cerr<<"不能打开文件! "< exit (1); } GetDlgItemText(IDC_EDITrecord,l,sizeof(l)); for(inty=0;v[y]! ='\0';y++) { out< } out<<'\n'; out.close(); chu=1; } z=0; } voidCdialogcal: : OnFu() { m_EDIT2.SetSel(0,-1); m_EDIT2.ReplaceSel(""); if(k) { m_edit1.SetSel(0,-1); m_edit1.ReplaceSel(""); } m_edit1.ReplaceSel("-"); m_EDIT2.ReplaceSel("-"); i=0; z=1; } voidCdialogcal: : OnBUTTONclear() { m_edit1.SetSel(0,-1); m_edit1.ReplaceSel(""); m_EDIT2.SetSel(0,-1); m_EDIT2.ReplaceSel(""); } voidCdialogcal: : OnBUTTONclearfile() { ofstreamoutfile("all.txt",ios: : out);//若文件存在则清除其中全部内容 if(! outfile) { cerr<<"不能打开文件! "< exit (1); } outfile.close(); } voidCdialogcal: : OnBUTTONrecord() { m_view.SetSel(0,-1); m_view.ReplaceSel(""); ifstreamin("all.txt",ios: : in); if(! in) { cerr<<"无法打开文件! "< exit (1); } for(intx=0;;x++) { if(! in.eof()) { in>>l[x]; } elsebreak; } in.close(); m_view.ReplaceSel(l); } voidCdialogcal: : OnClear() { m_view.SetSel(0,-1); m_view.ReplaceSel(""); } voidCdialogcal: : OnExit() { OnOK(); } 退出按钮: voidCQiyerenshiguanliView: : OnExit() {PostQuitMessage(0);} 四.调试: 主菜单: 点击清空显示: 使用添加功能: 在所有员工信息框内输入完后点击添加按钮: 如果输入不合法: 删除功能使用: 滚动到要删除的员工信息,然后点击删除按钮,如下图: 修改功能的使用:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 企业 人事管理系统 课程