C++程序设计课程设计.doc
《C++程序设计课程设计.doc》由会员分享,可在线阅读,更多相关《C++程序设计课程设计.doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计课程设计报告设计题目: 员工信息管理系统专 业 计算机科学与技术 班 级 计本0804班 学 生*指导教师 * 起止时间 2009年12年25日至2009年1月5日 2009-2010 学年 第一 学期目 录1 引 言11.1 问题的提出 (四号黑体)11.2国内外研究的现状 (四号黑体)11.5任务与分析 (四号黑体)12 程序的主要功能22.1输入数据22.2数据统计22.3 数据打印22.4数据备份22.5退出23 运行平台24 总体设计35 程序类说明46 模块分析66.1 经理类成员函数66.2销售经理类成员函数66.3销售员类成员函数86.4技术员类成员函数96.5主函
2、数107 系统测试218 结论24参考文献25 引 言 1.1 问题的提出 员工信息管理系统是一个企业单位不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以员工信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。1.2国内外研究的现状 在现今国内外大中小型企业蓬勃发展,对
3、企业的管理显得越发重要,其中对员工信息进行管理更是公司发展的命脉。在现代化的企业管理中,员工管理系统有着十分重要的作用,员工信息管理系统是对员工信息进行修改和管理,而且方便快速。这个程序虽然简单,但是可以作为公司领导的辅助软件,对员工的各种信息进行管理。作为计算机应用的一部分,使用计算机对人事劳资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。1.3任务与分析 1、对公司新员工进行信息编入并储存: 新员工姓名、性别、年龄、婚姻状况
4、、学历、所在部门、职位、工作时。2、 类的层次结构大体如图1所示: 3、 输入数据总人数在50人内。4、 总体设计,要有一个菜单,用于选择各项功能,其中 1)新建并输入职工数据 2)按条件输出职工数据 3)修改指定职工的数据 4)删除数据 5)退出 注:各项菜单都调用一个函数来实现。 5、输入并存放所有职工的信息。2 程序的主要功能2.1新建并输入职工数据 在界面状态下,按下“1”后出现“新员工姓名”、“新员工性别”、“新员工年龄”、“新员工婚姻状况”、“新员工学历”、“新员工所在部门”、“新员工职位”、“新员工工作时”。则新员工信息添加成功。在添加过程中,输入性别时会提示“F为女性,M为男性
5、”。输入婚姻状况会提示“Y为已婚,N为未婚”。输入学历时会出现“1:初中 2:高中 3:本科 4:硕士 5:博士”。输入所在部门时出现1:董事会 2:市场部 3:公关部 4:客服中心 5:信息中心。输入职位时出现1:临时职员 2: 正式职员 3:主任 4:部门经理 5:董事长。添加信息写入了到文件中。2.2按条件输出职工数据在界面状态下,请选择查询方式: * 输出全体职工信息- 1* 按职工部门输出- 2 * 按职工学历输出- 3 * 按职工年龄输出- 4* 按职工编号输出- 52.3修改指定职工的数据在界面状态下,在按下“3”后会出现“请输入要修改的员工编号:”,如果文件打开会按照用户的要求
6、从文件头开始修改。2.4删除数据输出文件,列出所有学生成绩。如果文件未打开会出现“文件打开失败!按0键返回.”,按照要求删除数据。2.5退出在界面状态下,按下“ESC”会退出该学生成绩管理系统。返回源程序。如果要退出其余功能返回界面,则选择“5”键。3 程序运行平台VC+6.0。具体操作如下:新建工程,添加相应的源文件,再编译,链接,执行等,此部分可参照实验指导书前面的内容写。4 总体设计4.1系统总体框架图主函数新建并输入员工数据按条件输出员工数据修改制定员工的数据删除数据退出系统图4.2 系统流程图系统管理原本信息 新建并输入员工数据修改指定员工数据删除数据按条件输出员工数据退出登录5 程
7、序类的说明系统的定义#include #include #include using namespace std; const N=50; / 定义系统可录入的员工最大数值 string EnameN; long EnumN; char EsexN; int EageN; char EmarriageN; int EdepartN; int EpositionN; int Edegree50; int EworktimeN; float EpayN; Employ类的声明class Employee public: string Employeename; long Employeenum;
8、char Employeesex; int Employeeage; char Employeemarriage; int Employeedepart; int Employeeposition;int Employeedegree; int Employeeworktime; float Employeepay; static long EmployeeMaxNum; static float EmployeeBasePay; void NewInfo(); void ShowInfo(); void showall(); void showdepart(int depart); void
9、 showdegree(int degree); void showage(int min,int max); void shownum(long number); void RefreshInfo(); void DeleteInfo(); float Pay(int Employeegrade); static int MaxNum(); ; DBOperate(数据操作)类的声明class DBOperate public: string Employeename; long Employeenum; char Employeesex; int Employeeage; char Emp
10、loyeemarriage; int Employeedepart; int Employeeposition; int Employeedegree; int Employeeworktime; float Employeepay; static long EmployeeMaxNum; static float EmployeeBasePay; void WriteIn(int iflag); void ReadOut(); void RefreshMaxNum(int iflag); /i=1 or -1 or 0 ; long Employee:EmployeeMaxNum = 100
11、0; float Employee:EmployeeBasePay = 1500; 6 模块分析/此部分应详细介绍设计思想、流程及关键代码等。返回系统已经存储的人数int Employee:MaxNum() int MN = 0; ifstream myf; myf.open(EmployeeMaxNum.txt); myfMN; coutMNendl; myf.close(); return MN; 添加新成员函数void Employee:NewInfo() coutEmployee:Employeename; Employee:Employeenum = EmployeeMaxNum +
12、 Employee:MaxNum()+1; coutEmployee:Employeesex; coutEmployee:Employeeage; coutEmployee:Employeemarriage; cout新员工学历,请输入相应学历的序号: endl; coutEmployee:Employeedegree; while(Employee:Employeedegree !=1&Employee:Employeedegree !=2&Employee:Employeedegree !=3&Employee:Employeedegree !=4&Employee:Employeedeg
13、ree !=5) cout输入有误,请重新输入:endl; coutEmployee:Employeedegree; cout新员工所在部门,请输入相应部门的序号:endl; coutEmployee:Employeedepart; while(Employee:Employeedepart !=1&Employee:Employeedepart !=2&Employee:Employeedepart !=3&Employee:Employeedepart !=4&Employee:Employeedepart!=5) cout输入有误,请重新输入:endl; coutEmployee:Emp
14、loyeedepart; cout新员工职位, 请输入相应职位的序号: endl; coutEmployee:Employeeposition; while(Employee:Employeeposition !=1&Employee:Employeeposition !=2&Employee:Employeeposition !=3&Employee:Employeeposition !=4&Employee:Employeeposition !=5) cout输入有误,请重新输入:endl; coutEmployee:Employeeposition; coutEmployee:Emplo
15、yeeworktime; Employee:Employeepay = Employee:Pay(Employee:Employeeposition); DBOperate dbo; dbo.ReadOut(); int MaxNum = Employee:MaxNum(); EnumMaxNum = Employee:Employeenum; EnameMaxNum = Employee:Employeename; EsexMaxNum = Employee:Employeesex; EageMaxNum = Employee:Employeeage; EmarriageMaxNum = E
16、mployee:Employeemarriage; EdegreeMaxNum = Employee:Employeedegree; EdepartMaxNum = Employee:Employeedepart; EpositionMaxNum = Employee:Employeeposition; EworktimeMaxNum = Employee:Employeeworktime; EpayMaxNum = Employee:Employeepay; dbo.WriteIn(1); cout 添加新成员成功!endl; return; 程序主体 数据输出函数void Employee
17、:ShowInfo() int choice1,choice2,min,max; long searchnum; Employee e; cout 请选择查询方式:endl; cout*endl; cout* 输出全体职工信息- 1endl; cout* 按职工部门输出- 2endl; cout* 按职工学历输出- 3endl; cout* 按职工年龄输出- 4endl; cout* 按职工编号输出- 5endl; cout*choice1; switch(choice1) case 1: showall();break; case 2: coutchoice2; e.showdepart(c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 课程设计
限制150内