人事管理系统C++课程设计报告Word格式文档下载.docx
- 文档编号:13075273
- 上传时间:2022-10-04
- 格式:DOCX
- 页数:25
- 大小:127.76KB
人事管理系统C++课程设计报告Word格式文档下载.docx
《人事管理系统C++课程设计报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《人事管理系统C++课程设计报告Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
5.3个人体会 13
参考文献 14
附录:
14
24
—概述
1.课程设计的目的
1.理解和掌握该课程中的有关基本概念,程序设计思想和方法。
2.培养综合运用所学知识独立完成课题的能力。
3.培养勇于探索、严谨推理、实事求是、有错必改,用实践来检验理论,全方位考虑问题等科学技术人员应具有的素质。
4.掌握从资料文献、科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。
2.课程设计的要求
1.需求分析:
①能够输入职工的综合情况的输入、修改以及删除;
②能够实现对职工信息的浏览;
③能够实现对职工进行查询;
④设计系统封面并由计时器控制;
2.系统性能要求:
①系统安全、可靠;
②功能齐全;
③操作方便、界面友好;
④易于维护和扩充。
3.系统的功能分析:
资料维护:
系统维护包括对各种表记录的修改、删除、添加等操作。
4.资料维护:
对数据表中的信息进行浏览。
系统查询:
可以按职工编号、姓名等相关信息进行详细或模糊查询。
报表统计:
包括统计职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段。
其它操作:
系统封面、计时器控制与人性化提示信息。
系统功能模块
人事管理系统有:
数据查找与浏览、数据修改、报表显示和系统封面构成。
5.功能的实现:
1“数据查找与浏览”模块:
(1)数据查找:
对职工的编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段进行精确或模糊查找。
(2)数据浏览:
可以对数据表中的数据实现,上—项、下—项、首相、尾项等操作。
(3)其他信息:
设置字体、颜色属性和—些提示信息。
2“数据修改”模块:
(1)添加数据:
增加—个新的记录
(2)修改数据:
修改原有记录。
二 总体方案设计
整体设计为数据输入模块、数据添加模块、数据删除模块、数据查询模块、数据修改模块、数据统计模块、数据排序模块。
数据输入模块把员工信息逐一写入人事档案文件。
数据添加模块用追加的方式把新增员工信息写入人事档案文件。
数据删除模块根据人员编号查找要删除的人员,从文件中读一条记录,查看编号是否要删除,如果是,则舍弃。
数据查询模块把编号和姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。
数据输出模块通过菜单选择年龄或者来时时间,把数据从文件中读出来,任意选择一种排序算法对记录进行排序,输出排序结果。
这些模块中我负责数据查询和删除两个部分。
三 详细设计
数据结构采用成员类:
classperson //定义通讯成员类
{
public:
charnum[20];
//编号charname[30];
//姓名charsex[20];
//性别charage[20];
//年龄
charposition[20];
//职位charaddress[500];
//地址chartel[100];
//手机号
charnation[30];
//民族
charpolitical_status[20];
//政治面貌charmarital_status[20];
//婚姻状况charschool[200];
//毕业院校
charidentity[500];
//身份证号charemail[20];
//邮箱
Public:
//对其成员函数的声明voidadd_person(int&
);
//新增通讯成员
boolsearchnum();
//按编号查找boolsearchname();
//按姓名查找voiddelnum(int&
//按编号删除voiddelname(int&
//按姓名删除voidshowall();
//统计职员数
voidget_i();
//读取数据文件职员数
friendostream&
operator<
<
(ostream&
out,person&
pe);
//重载运算符"
"
};
数据输入模块
把员工信息逐一写入人事档案文件。
数据添加模块
用追加的方式把新增员工信息写入人事档案文件。
cout<
请输入职员的的编号:
(1000-9999)"
endl;
cin>
>
num;
请输入职员姓名:
name;
请输入性别:
sex;
while((string)sex!
="
男"
&
(string)sex!
女"
)
您输入的性别有误,请核对后再输入:
}
请输入年龄:
age;
请输入该职员的职位:
(经理,管理员,员工)"
position;
while((string)position!
经理"
(string)position!
管理员
员工"
您输入的职工职位有误,请核对后再输入:
请输入该职员的家庭地址:
address;
请输入该职员的民族:
nation;
请输入职员的政治面貌:
(群众,团员,党员)"
political_status;
while((string)political_status!
群众"
(string)
political_status!
团员"
(string)political_status!
党员"
您输入的职工政治面貌有误,请核对后再输入:
请输入职员的婚姻状况(未婚,已婚)"
marital_status;
while((string)marital_status!
未婚"
marital_status!
已婚"
cout<
您输入的职工的婚姻状况有误,请核对后再输入:
请输入职员的毕业学校:
school;
请输入职员的身份证号:
identity;
请输入职员的手机号:
cin>
tel;
请输入职员的邮箱:
email;
请输入职员的聘用时间:
engage_time;
请输入此次记录的添加时间:
add_time;
ofstream outfile("
test.dat"
ios:
:
app|ios:
binary);
//打开
文件,并将指针指向文件尾
(3)数据删除模块
根据人员编号查找要删除的人员,从文件中读一条记录,查看编号是否要删除,如果是,则舍弃
如:
//打开用于写的二进制文件"
ifstream infile("
tmp.dat"
//打开用于读的二进制文件"
infile.read((char*)(this),sizeof(*this));
//读取一个类对象数据放入*this中
while(!
infile.eof())
outfile.write((char*)(this),sizeof(*this));
//将从"
中读取的数据写入"
test.dat"
中
//再从"
中读取一个类对象数据放入*this中
不再写入文件;
否则重新写入文件。
(4)数据查询模块
把编号和姓名作为查询字段,用基本查找算法查找人事档案文件,把符合查找要求的记录输出。
(5)数据修改模块
查找要修改的记录,修改之。
先读记录,若是要修改的记录,则修改信息,
保存信息
把修改后的信息写入文件;
否则直接写入文件。
例如按姓名修改:
if(delmark==1)//若找到了删除对象,就用"
tmp.dta"
文件内容去充当
(6)数据输出模块
通过菜单选择年龄或者来时时间,把数据从文件中读出来,任意选择一种排序算法对记录进行排序,输出排序结果。
if(i==0)//人事管理系统中无此职员,请先增加职员信息信息
人事管理系统数据为空,请先增加职员信息!
else
ifstreaminfile("
//打开用于读的binary文件
//读取一个类对象数据放入
*this中
所有职员的信息如下:
infile.eof())//沿未到达文件尾,继续处理
(*this);
//输出当前对象的各数据成员
程序流程图
人事管理系统
1、添加人事信息
2、
3、
4、
5、
6、
7、
8、
0、
按
显
清
统
退
姓
编
示
空
计
出
名
号
人
查
删
事
找
除
管
档
理
案
系
4.1具体函数per.get_i()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 人事管理系统 C+ 课程设计 报告