c加加课程设计人事管理报告模板
人事管理-c++课程设计之高校教职工人事管理系统 精品
《C++程序设计》课程设计报告高校教职工人事管理系统年级/专业/班:学生姓名:学号:指导教师:开题时间: 20XX 年 09 月 06 日完成时间: 20XX 年 09 月 28 日目录一、引言 (1)二、设计目的与任务 (1)1、本课程设计的目的 (1)2、本课程设计的任务 (1)三、设计方案 (1)1、总体设计 (1)2、详细设计 (2)3、程序清单 (5)4、程序调试与体会 (14)5、运行过程截图 (14)四、结论 (17)五、致谢 (17)六、 (17)《C++程序设计语言》课程设计——高校教职工人事管理系统一、引言随着人们生活水平的提高,计算机发展异常迅速。
如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。
通过计算机对各类问题求解已经成为一种高效、快捷的方式。
本课程设计就是用C++研究两点距离的求解的问题,实现对两点距离的问题求解,和实现类模板的应用以及函数的调用。
二、设计目的与任务1、本课程设计的目的1)通过课程设计更进一步理解C++的基础知识和面向对象的思想。
2)训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。
3)熟练掌握C++中类及类模板在程序中的应用,并熟练了解类中函数的调用。
2、本课程设计的任务使用类实现编写一个高校教职工人事管理系统,能够实现教职工信息增加、删除、修改、查找,能够统计在职人员、中共党员、女教职工、高职称、高学历的人数,信息的输入输出能够重载输入与输出操作符,并且要求有错误提示功能,例如输入日期,输入错误提示重新输入。
三、设计方案1、总体设计(1)定义员工(Person)类,其中包括编号、职工分类("行政人员","教师","一般员工","退休人员","返聘人员","临时工")、性别、年龄,职务("无","科级","处级","地级");、职称("无","初级","中级","高级");、政治面貌("群众","中共党员","民主党派")、学历("中专","大专","大学","硕士","博士")。
C++公司人员信息管理系统-课程设计报告
目录1 系统需求分析 (1)2 总体设计 (2) (92)图3.13 经理信息修改界面 (92)5 结论 (94)6 心得体会 (95)1. 谭浩强.C++面向对象程序设计[M].北京:清华大学出版社,2014. (96)2. S.B.Lippman,Joie.C++ Primer(中文版)[M].4版.李师贤,译.北京:电子工业出版社,2007. (96)1 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。
1.2 系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。
(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。
(2)查询功能可根据编号、姓名等信息对已添加的记录进行查询。
如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能可显示当前系统中所有记录。
(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。
(6)统计功能能根据多种参数进行人员的统计。
例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。
(7)保存功能将当前系统中各类人员记录存入文件中。
(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。
2 总体设计2.1 系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。
c++人事管理系统报告
课程设计报告课程名称面向对象课程设计设计题目人事管理系统专业班级姓名学号指导教师起止时间2010年12月20日-12月31日成绩评定电气与信息学院人事管理系统一、课程设计的目的现代信息技术的发展,在改变着我们的生活方式的同时,也改变着我们的工作方式,使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。
在过去,一支笔和一张绘图桌,可能就是进行办公的全部工具。
今天,电脑、扫描仪和打印机等,已基本取代了旧的办公用具。
如今,人事管理己完全可以通过电脑进行,并在计算机辅助下准确快速地完成许多复杂的工作。
这些都大大地缩短管理的时间。
而今天,人事管理的内容己经转变为对更为广泛的系统价值的追求。
信息管理,如今已是一个热门话题,它已为许多企业所采用。
我认为,在现代化的进程中,引入现代管理的思想,建立一套可面向企事业单位人事的信息管理系统,也是十分必要的二、课程设计的要求要求了解企业管理信息系统开发的全过程,理解信息系统课程相关的概念,掌握管理信息系统的开发方法。
主要包括:登陆的两个用户:管理员、职工管理员:可以对职工信息进行添加信息、删除信息、查询员工信息、修改员工信息、浏览员工信息。
用户:可以对自己的信息进行浏览、修改、查询;还可以对别人的信息进行查询,浏览。
开发这个系统的目的就是帮助企业的人力资源部门提高工作效率,实现企业人事信息管理的系统化,规范化和自动话。
根据这个系统最终实现的主要功能如下:系统部分:主要完成本系统的维护工作。
员工基本信息部分:主要完成员工基本信息的管理。
本系统是个简单的程序,由于时间和技术有限,功能不是多完整,多具体,还请包涵。
本系统的功能模块图如下:图1功能层次图三、设计思路1.系统分析系统开发背景、开发范围、建设目标与必要性人事信息管理是一个单位信息管理的重要组成部分,它的内容对于一个单位的人事管理起着至关重要的作用。
人事信息管理系统应该能够为管理者提供充足的信息和快捷的查询手段,但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点。
人力资源c++考勤管理课程设计报告
人力资源c++考勤管理课程设计报告一、选题背景随着现代化管理意识和信息化技术的发展,各个企事业单位的人力资源管理日益重要。
考勤管理作为人力资源管理中至关重要环节之一,直接与员工的出勤、薪资等待相关,越来越得到了各个企事业单位的重视。
C++是一种面向对象的编程语言,具有速度快、稳定性强等优点,因此在编写大型程序、开发高性能应用程序、科学计算、计算机网络和电脑图形等方面得到了广泛应用。
在人力资源管理中的应用,C++同样也能够扮演重要角色。
本文将通过设计一个基于C++的考勤管理系统,实现对企事业单位员工的考勤管理。
具体包括系统架构设计、菜单设计、功能实现、代码编写等方面。
二、系统架构设计1. 系统实体(1)员工实体:员工编号、姓名、性别、部门、职位、工龄、上班时间、下班时间、请假天数。
(2)考勤实体:考勤编号、员工编号、日期、上班时间、下班时间、旷工天数。
2. 系统模块(1)员工管理模块:管理员工的基本信息(添加、修改、删除、查询、浏览)。
(2)考勤管理模块:考勤的录入及查询,统计每月的考勤记录,计算出勤率,考勤异常情况的统计和提醒。
(3)请假管理模块:员工可以提交请假请求,管理员可以审核请假请求。
(4)统计报表模块:按照时间段、员工、部门等条件统计考勤情况和员工信息。
(5)设置模块:设置系统的一些参数和基础数据。
3. 系统运行流程员工管理、考勤管理、请假管理、统计报表和系统设置五个主要模块彼此独立,但也存在相互联系。
系统运行流程如下:(1)管理员登录系统。
(2)管理员通过菜单选择需要的模块,进入相应界面。
(3)管理员进行工作,完成后退出当前模块,回到主界面。
(4)管理员选择退出系统,退出登录。
三、菜单设计系统菜单如下:1. 员工管理2. 考勤管理3. 请假管理4. 统计报表5. 系统设置0. 退出系统在菜单选择时,用户只需根据数字进行选择,即可进入所需的功能模块。
四、功能实现1. 员工管理模块(1)添加员工管理员在员工管理菜单中选择添加员工功能,通过输入员工的基本信息,添加员工到系统中。
C++课程设计报告-人事管理系统
(1)系统时钟:在在设定的时间间隔内,系统封面显示达到或超过设定的显示时间,系统
封面会自动释放
(2)功能实现:进入主界面与退出系统。
6.
图模块框架图
7.系统数据分析
所有数据存放到access数据库文件下,由ado连接,通过程序按照要求显 示给用户。找到用户需要的数据。
二、系统设计
{
DataModule3->ADOQuery1->Next();
StatusBar1->Panels->Items[0]->Text="数据指向下一个";
}
void __fastcall TFmain::SpeedButton4Click (TObject *Sender)
{
DataModule3->ADOQuery1->Last();
}
void __fastcall TFmain::N9Click (T Object *Sender)
{
//帮助内容
ShowMessage("\
大家好,虽然只是一个简单的程序但是也要写帮助。\n\
简单的操作如下:\n\
一、打开程序。\n\
二、可以进行数据的添加、删除、浏览、查找\n\
三、关闭。\n\
Action=caNone;
}
void__fastcall TFmain::N10Click (T Object *Sender)
{
AboutBox->ShowModal() ; //显示关于对话框
}
void __fastcall TFmain::Button4Click (T Object *Sender)
C++课程设计高校人事管理系统
C++程序设计课程设计报告课题: 高校人事管理系统专业班级:学号:姓名:指导教师:目录一、引言 (1)二、设计系统目的及意义 (1)1、本次课程设计的目的 (1)2、系统设计的意义 (1)三、系统需求与功能分析 (1)1、系统需求 (1)2、功能分析 (2)四、详细设计 (2)1、数据结构表 (3)2、程序结构流程图 (3)五、运行和调试 (4)六、课程设计的心得 (5)七、参考文献 (6)附录:源程序清单一、引言随着人们生活水平一步步提高,计算机有着突飞猛进的发展。
如今,计算机技术已经不仅仅局限于科学计算,更加突出的是它已渗透到人类社会日常生活的各个领域:教育、医疗、金融、服务等行业,并且发挥着越来越重要的作用。
人们通过计算机技术来获得高校、快捷的解决问题的途径已经形成了一种势必的趋势。
本次课程设计就是用C++来完成一个高校人事管理系统来实现所要求的功能。
二、设计目的及意义1、本次课程设计的目的1)通过课程设计更进一步理解C++的基础知识和面向对象的思想。
2)训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。
初步掌握软件开发过程的问题分析、系统设计、程序编码等基本方法和技能。
3)熟练掌握C++中类及类模板在程序中的应用,并熟练了解类中函数的作用。
2、系统设计的意义1)应用高校人事管理系统使学校教工人员资料在系统中体现得简洁明了,使人一目了然,也更加增加了操作的简便性。
2)应用高校人事管理系统为对高校人员进行管理提供了很大的方便,系统高效、快捷地实现了对高校教工人员资料进行添加、修改、删除、查询、统计等功能。
三、系统需求与功能描述1、系统需求1)建立人员信息数据,包括编号、姓名、性别、出生时间、岗位(部门)、参加工作时间和年龄(必须通过计算得到)等等其他信息;2)根据人员信息表,建立只含有姓名和年龄的信息简表(可选功能);1、数据结构表-3- void person::find() //查找函数NY五、运行和调试主要运行界面:查找功能按编号查找Y/N按姓名查找按编号查找输出结果六、课程设计心得1、此次课程设计相对于这一学期中所遇到的其他C++程序来说是属于比较复杂与困难的,这就需要更加扎实的基础知识与熟练的操作技能。
公司人事管理系统VC++设计报告
湖南科技大学VC++ 课程设计报告公司人事管理系统学生姓名:学号:年级专业班级:指导老师:学院:湖南·提交日期:2011年12月目录1 前言 (3)2 需求分析 (3)3 概要设计 (4)3.1系统功能模块设计 (4)3.2流程图 (4)4 详细设计 (5)4.1.数据库需求分析 (5)4.2.模块分析 (6)4.3整体界面的实现 (6)4.4查询成绩的实现 (11)4.5添加.删除和修改记录的实现 (13)5 测试分析 (17)6 心得体会 (18)参考文献 (18)致谢 (18)公司人员信息管理系统(湖南科技大学湘潭中国1007020425)摘要本次课程设计任务是通过编写一个公司人员信息管理系统,学习用Visual C++ 6.0开发简单的管理系统。
采用Visual C++ 6.0软件为主要开发工具。
本系统主要完成对公司员工情况和公司信息的管理,包括人员信息的添加、修改、删除等。
系统还可以完成对各类信息的浏览、增加、排序、查询等功能。
由于我们还没有学习数据库,所以在编写这个程序的过程中备受煎熬,显得心有余而力不足。
系统的核心是引用数据库来存储和修改公司人员的信息联系,每一个动作都可能影响到其它的功能,还有数据的改变,当完成对数据的操作时系统会自动地完成数据库的修改。
关键字:VC++6.0;公司人员信息管理系统;模块化设计;数据库;1 前言使用计算机管理人员信息,不但可以大量节省时间、人力、财力、物力,而且能更全面有效地掌握公司的基本情况,及时获取最新而又准确的资料和信息。
此课程设计就是这样一个管理公司人员信息的系统,其功能与实现方面有比较好的的针对性和实用性。
软件是在Visual c++平台上开发的,利用数据库存储数据和信息。
利用数据库操作,能比较方便地实现对人员信息的操作与管理。
2 需求分析Visual C++6.0的MFC提供了大量的类库函数强大支持。
开发一个人员信息管理系统,可以实现人员信息的管理。
C++课程设计报告-公司人员信息管理系统模板
北华航天工业学院《基于C++的面向对象程序设计实例》课程设计报告报告题目:公司人员信息管理系统作者所在系部:计算机科学与工程系作者所在专业:计算机科学与技术作者所在班级:B09512作者姓名:指导教师姓名:完成时间:2010年6月北华航天工业学院教务处制摘要在当前的市场经济体制下,企业要想提高市场的竞争力,取得好的经济效益,不但要有好的产品和销售服务,还必须加强对公司内部的人员管理,以提高内部人员的凝聚力和积极性、提高工作效率等。
本文利用Visual C++6.0编写程序,实现了用户对公司人员的编号、姓名、性别、部门。
级别、工资等信息的管理操作。
本系统主要有八个功能模块:到添加信息子系统、查询信息子系统、统计子系统、显示子系统、修改子系统、删除子系统、保存子系统和读取子系统。
已经过全面的系统测试,能够很好的运行,达到了预期的效果。
本系统主要实现了对四类人员的管理:经理管理、销售人员管理、技术人员管理、销售经理管理;主要运用了继承友元等编程方法来实现对这些人员的管理。
关键词:系统设计人员管理信息公司目录第1章绪论 (1)1.1 课程设计的目的 (1)1.2 课程设计的背景和意义 (1)1.2.1 课程设计的背景 (1)1.2.2 课程设计的意义 (1)第2章需求分析 (2)2.1 问题描述 (2)2.2 功能描述 (2)2.3 问题的解决方案 (3)第3章系统设计 (4)3.1 数据设计 (4)3.1.1 类设计 (4)3.1.2 类之间的关系 (6)3.1.3 函数设计 (6)3.2 结构设计 (9)3.2.1 系统流程图 (9)3.2.2 界面设计 (12)第4章系统实现 (14)4.1 类实现 (14)4.2 函数实现 (25)4.3 主函数实现 (30)第5章系统测试 (32)5.1 模块测试 (32)5.2 课程设计过成中遇到的问题 (34)总结 (35)致谢 (36)参考文献 (37)第1章绪论1.1 课程设计的目的(1)要求学生能够熟练掌握C++语言的基本知识和技能。
C++公司人员信息管理系统-课程设计报告报告
- .目录1 系统需求分析32 总体设计43 详细设计及实现74 系统调试1295 结论736心得体会1337参考书目75- -可修编-1 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。
1.2 系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。
(1)添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。
(2)查询功能可根据编号、等信息对已添加的记录进行查询。
如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
(3)显示功能可显示当前系统中所有记录。
(4)修改功能可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。
(5)删除功能对已添加的人员记录进行删除。
如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。
(6)统计功能能根据多种参数进行人员的统计。
例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。
(7)保存功能将当前系统中各类人员记录存入文件中。
(8)读取功能将保存在文件中的人员信息读入到当前系统中,以供用户使用。
2 总体设计2.1 系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。
add()函数用于录入信息;search()函数用来查询信息;show()函数用来显示信息;alter()函数用来修改信息;del2.4 类的设计(1)employee类(抽象类)的设计图3.1 employee类(2)经理类的设计图3.2经理类(3)技术人员类的设计图3.3技术人员类(4)销售人员类的设计图3.4 销售人员类(5)成绩类的设计3 详细设计及实现3.1 employee类(抽象类)的实现#include<string>using namespace std;class employee{public:employee(void);~employee(void);virtual void add()=0;virtual void search()=0;virtual void show()=0;virtual void alter()=0;virtual void del()=0;virtual void stat()=0;virtual void save()=0;virtual void read()=0;virtual void input()=0;virtual void output()=0; protected:string number;string name;string sex;string department;string rank;float salary;};3.2 经理类的实现manager.h#include "employee.h" class manager :virtual public employee {public:manager(void);~manager(void);void add();void search();void show();void alter();void del();void stat();void save();void read();void input();void output();};manager.cpp#include "StdAfx.h"#include "manager.h"#include<iostream>#include<fstream>#include<string>#include<iomanip>using namespace std; const int MAX=100; manager M[MAX];int static top1=0; manager::manager(void) {}manager::~manager(void) {}void manager::input(){cout<<"输入编号:"<<endl; cin>>number;cout<<"输入:"<<endl; cin>>name;cout<<"输入性别:"<<endl; cin>>sex;cout<<"输入部门:"<<endl;cin>>department;cout<<"输入级别:"<<endl;cin>>rank;cout<<"输入固定月薪:"<<endl;cin>>salary;}void manager::output(){ cout<<number<<"\t"<<name<<"\t"<<sex<<"\t"<<department<<"\t"<<rank<<"\t"<<salar y<<endl;}void manager::read(){top1=0;system("cls");ifstream inflie("经理.txt",ios::in);if(!inflie){cout<<"打开失败!"<<endl;return;}int i=0;while(inflie>>M[i].number>>M[i].name>>M[i].sex>>M[i].department>>M[i].rank>> M[i].salary){i++;top1=i;}inflie.close();}void manager::save(){ofstream outflie("经理.txt",ios::out);if(!outflie){cout<<"打开失败!"<<endl;return;}int i;for(i=0;i<top1;i++){outflie<<M[i].number<<"\t"<<M[i].name<<"\t"<<M[i].sex<<"\t"<<M[i].department<<"\ t"<<M[i].rank<<"\t"<<M[i].salary<<endl;}cout<<"保存成功!"<<endl;outflie.close();}void manager::add(){system("cls");read();if(top1>=MAX){cout<<"人员已满"<<endl;return;}cout<<"输入要添加的编号:"<<endl;string n;cin>>n;for(int i=0;i<top1;i++)if(n==M[i].number){cout<<"该编号的人员已存在"<<endl;return;}manager m;cout<<"请再次输入新添加人员的信息"<<endl; m.input();cout<<"是否确认添加?1、是2、否"<<endl; int a;cin>>a;if(a==1){M[top1]=m;top1=top1+1;save();}else{cout<<"放弃添加"<<endl;return;}}void manager::search(){system("cls");read();if(top1==0){cout<<"当前系统没有储存记录!"<<endl;return;}int choice;cout<<"请选择查找方式:1、按编号查找2、按查找0、退出"<<endl;cin>>choice;switch(choice){case 1:{cout<<"请输入要查找的编号:"<<endl;string num;cin>>num;for(int i=0;i<top1;i++){if(M[i].number==num){cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();return;}}cout<<"查无此人!"<<endl;};break;case 2:{cout<<"请输入要查找的"<<endl;string name;cin>>name;for(int i=0;i<top1;i++){if(M[i].name==name){cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();}}cout<<"查无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");search();break;}}void manager::show(){system("cls");read();if(top1==0){cout<<"无数据!"<<endl;return;}cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;for(int i=0;i<top1;i++)M[i].output();}void manager::alter(){system("cls");read();if(top1==0){cout<<"当前系统没有储存记录"<<endl;return;}string num;cout<<"请输入要修改的经理编号:"<<endl;cin>>num;for(int i=0;i<top1;i++){if(M[i].number==num){cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"请选择修改围:1、全部修改2、修改编号3、修改4、修改性别"<<endl;cout<<" 5、修改部门6、修改级别7、修改月薪"<<endl;cout<<" 0、退出修改"<<endl;int choice;cin>>choice;switch(choice){case 1:{cout<<"输入修改后的编号:"<<endl;string n;cin>>n;for(int j=0;j<top1;j++)if(n==M[j].number){cout<<"该编号的人员已存在"<<endl;return;}cout<<"输入修改后的:"<<endl;string na;cin>>na;cout<<"输入修改后的性别:"<<endl;string s;cin>>s;cout<<"输入修改后的部门:"<<endl;string d;cin>>d;cout<<"输入修改后的级别:"<<endl;string r;cin>>r;cout<<"输入修改后的月薪:"<<endl;float sa;cin>>sa;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1){M[i].number=n;M[i].name=na;M[i].sex=s;M[i].department=d;M[i].rank=r;M[i].salary=sa;}else{cout<<"放弃修改"<<endl;return;}save();};break;case 2:{cout<<"请输入修改后的编号"<<endl;string n;cin>>n;for(int i=0;i<top1;i++)if(n==M[i].number){cout<<"该编号的人员已存在"<<endl;return;}cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].number=n;else{cout<<"放弃修改"<<endl;return;}save();};break;case 3:{cout<<"请输入修改后的"<<endl;string na;cin>>na;M[i].name=na;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].name=na;else{cout<<"放弃修改"<<endl;return;}save();};break;case 4:{cout<<"请输入修改后的性别"<<endl;string s;cin>>s;M[i].sex=s;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].sex=s;else{cout<<"放弃修改"<<endl;return;}save();};break;case 5:{cout<<"请输入修改后的部门"<<endl;string d;cin>>d;M[i].department=d;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].department=d;else{cout<<"放弃修改"<<endl;return;}save();};break;case 6:{cout<<"请输入修改后级别"<<endl;string r;cin>>r;M[i].rank=r;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].rank=r;else{cout<<"放弃修改"<<endl;return;}save();};break;case 7:{cout<<"请输入修改后的月薪"<<endl;float sa;cin>>sa;M[i].salary=sa;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)M[i].salary=sa;else{cout<<"放弃修改"<<endl;return;}save();};break;case 0:cout<<"退出修改"<<endl;return;break;default:cout<<"无此选项!请输入0~7的数字"<<endl;system("pause");break;}cout<<"修改完成"<<endl;return;}}cout<<"查无此人"<<endl;}void manager::del(){system("cls");read();if(top1==0){cout<<"当前系统没有储存记录"<<endl;return;}int choice;cout<<"请删除查找方式:1、按编号删除2、按删除0、退出"<<endl;cin>>choice;switch(choice){case 1:{cout<<"请输入所要删除人员的编号:"<<endl;string num;cin>>num;for(int i=0;i<top1;i++){if(M[i].number==num){cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"是否确认删除?1、是2、否"<<endl;int choice;cin>>choice;switch(choice){case 1:{for(int j=i;j<top1;j++)M[j]=M[j+1];cout<<"删除成功!"<<endl;top1=top1-1;};save();break;case 2:return;default:cout<<"没有此选项!"<<endl;}return;}}cout<<"无此人!"<<endl;};system("pause");del();break;case 2:{cout<<"请输入所要删除人员的:"<<endl;string name;cin>>name;for(int i=0;i<top1;i++){if(M[i].name==name){cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"月薪"<<endl;M[i].output();cout<<"是否确认删除?1、是2、否"<<endl;int choice;cin>>choice;switch(choice){case 1:{for(int j=i;j<top1;j++)M[j]=M[j+1];cout<<"删除成功!"<<endl;top1=top1-1;};save();break;case 2:return;default:cout<<"没有此选项!"<<endl;}}}return;cout<<"无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");del();break;}save();}void manager::stat(){system("cls");read();int choice;cout<<"1、人数统计2、性别统计3、平均工资4、最高工资5、最低工资0、退出"<<endl;cout<<"请输入所要执行的编号:"<<endl;cin>>choice;switch(choice){case 1:cout<<"经理的人数为:"<<top1<<endl;system("pause");stat();break;case 2:{int a=0,b=0;string Y="男";string X="女";for(int i=0;i<top1;i++){if(M[i].sex==Y)a++;if(M[i].sex==X)b++;}cout<<"男性人数:"<<a<<endl;cout<<"女性人数:"<<b<<endl;};system("pause");stat();break;case 3:{float ave_salary=0;float all_salary=0;for(int i=0;i<top1;i++){all_salary=M[i].salary+all_salary;}ave_salary=all_salary/top1;cout<<"平均工资:"<<ave_salary;};system("pause");stat();break;case 4:{float max_salary=0;for(int i=0;i<top1-1;i++){if(M[i].salary>M[i+1].salary){max_salary=M[i].salary;M[i+1].salary=max_salary;}elsemax_salary=M[i+1].salary;}cout<<"最高工资:"<<max_salary;};system("pause");stat();break;case 5:{float min_salary=0;for(int i=0;i<top1-1;i++){if(M[i].salary<M[i+1].salary){min_salary=M[i].salary;M[i+1].salary=min_salary;}elsemin_salary=M[i+1].salary;}cout<<"最低工资:"<<min_salary;};system("pause");stat();break;case 0:break;default: cout<<"无此选项!请输入0~5的数字"<<endl;system("pause");stat();break;}}3.3 技术人员类的实现technician.h#include "employee.h"class technician :public employee{public:technician(void);~technician(void);void add();void search();void show();void alter();void del();void stat();void save();void read();void input();void output(); protected:float work_time;float time_salary; };technician.cpp#include "StdAfx.h"#include "technician.h" #include<iostream> #include<fstream>#include<string>#include<iomanip> using namespace std; const int MAX=100; technician T[MAX]; int static top2=0;technician::technician(void){}technician::~technician(void){}void technician::input(){cout<<"请输入输入编号:"<<endl; cin>>number;cout<<"请输入输入:"<<endl; cin>>name;cout<<"请输入输入性别:"<<endl; cin>>sex;cout<<"请输入输入部门:"<<endl; cin>>department;cout<<"请输入输入级别:"<<endl; cin>>rank;cout<<"请输入输入工时:"<<endl; cin>>work_time;cout<<"请输入输入时薪:"<<endl; cin>>time_salary;salary=time_salary*work_time;}void technician::output(){ cout<<number<<"\t"<<name<<"\t"<<sex<<"\t"<<department<<"\t"<<rank<<"\t"<<work_t ime<<"\t"<<time_salary<<"\t"<<salary<<endl;}void technician::read(){top2=0;system("cls");ifstream inflie("技术人员.txt",ios::in);if(!inflie){cout<<"打开失败!"<<endl;return;}int i=0;while(inflie>>T[i].number>>T[i].name>>T[i].sex>>T[i].department>>T[i].rank>>T[i]. work_time>>T[i].time_salary>>T[i].salary){i++;top2=i;}inflie.close();}void technician::save(){ofstream outflie("技术人员.txt",ios::out);if(!outflie){cout<<"打开失败!"<<endl;return;}int i;for(i=0;i<top2;i++){outflie<<T[i].number<<"\t"<<T[i].name<<"\t"<<T[i].sex<<"\t"<<T[i].department<<"\t"< <T[i].rank<<"\t"<<T[i].work_time<<"\t"<<T[i].time_salary<<"\t"<<T[i].salary<<endl;}cout<<"保存成功!"<<endl;outflie.close();}void technician::add(){system("cls");read();if(top2>=MAX){cout<<"人员已满"<<endl;return;}cout<<"输入要添加的编号:"<<endl;string n;cin>>n;for(int i=0;i<top2;i++)if(n==T[i].number){cout<<"该编号的人员已存在"<<endl;return;}technician t;cout<<"请再次输入新添加人员的信息"<<endl;t.input();cout<<"是否确认添加?1、是2、否"<<endl;int a;cin>>a;if(a==1){T[top2]=t;top2=top2+1;save();}else{cout<<"放弃添加"<<endl;return;}}void technician::search(){system("cls");read();if(top2==0){cout<<"当前系统没有储存记录!"<<endl;return;}int choice;cout<<"请选择查找方式:1、按编号查找2、按查找0、退出"<<endl;cin>>choice;switch(choice){case 1:{cout<<"请输入要查找的编号:"<<endl;string num;cin>>num;for(int i=0;i<top2;i++){if(T[i].number==num){cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();return;}}cout<<"查无此人!"<<endl;};break;case 2:{cout<<"请输入要查找的"<<endl;string name;cin>>name;for(int i=0;i<top2;i++){if(T[i].name==name){cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();return;}}cout<<"查无此人!"<<endl;};break;case 0:break;default:cout<<"输入错误!请输入0~3的数字"<<endl;system("pause");search();break;}}void technician::show(){system("cls");read();if(top2==0){cout<<"无数据!"<<endl;return;}cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;for(int i=0;i<top2;i++)T[i].output();}void technician::alter(){system("cls");read();if(top2==0){cout<<"当前系统没有储存记录"<<endl;return;}string num;cout<<"请输入要修改的技术人员编号:"<<endl;cin>>num;for(int i=0;i<top2;i++){if(T[i].number==num){cout<<"编号"<<"\t"<<""<<"\t"<<"性别"<<"\t"<<"部门"<<"\t"<<"级别"<<"\t"<<"工时"<<"\t"<<"时薪"<<"\t"<<"月薪"<<endl;T[i].output();cout<<"请选择修改围:1、全部修改2、修改编号3、修改4、修改性别"<<endl;cout<<" 5、修改部门6、修改级别7、修改工时8、修改时薪"<<endl;cout<<" 0、退出修改"<<endl;int choice;cin>>choice;switch(choice){case 1:{cout<<"输入修改后的编号:"<<endl;string n;cin>>n;for(int j=0;j<top2;j++)if(n==T[j].number){cout<<"该编号的人员已存在"<<endl;return;}cout<<"输入修改后的:"<<endl;string na;cin>>na;cout<<"输入修改后的性别:"<<endl;string s;cin>>s;cout<<"输入修改后的部门:"<<endl;string d;cin>>d;cout<<"输入修改后的级别:"<<endl;string r;cin>>r;cout<<"输入修改后的工时:"<<endl;float wt;cin>>wt;cout<<"输入修改后的工时:"<<endl;float ts;cin>>ts;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1){T[i].number=n;T[i].name=na;T[i].sex=s;T[i].department=d;T[i].rank=r;T[i].work_time=wt;T[i].time_salary=ts;T[i].salary=wt*ts;}else{cout<<"放弃修改"<<endl;return;}save();};break;case 2:{cout<<"请输入修改后的编号"<<endl;string n;cin>>n;for(int i=0;i<top2;i++)if(n==T[i].number){cout<<"该编号的人员已存在"<<endl;return;}cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)T[i].number=n;else{cout<<"放弃修改"<<endl;return;}save();};break;case 3:{cout<<"请输入修改后的"<<endl;string na;cin>>na;T[i].name=na;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)T[i].name=na;else{cout<<"放弃修改"<<endl;return;}save();};break;case 4:{cout<<"请输入修改后的性别"<<endl;string s;cin>>s;T[i].sex=s;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)T[i].sex=s;else{cout<<"放弃修改"<<endl;return;}save();};break;case 5:{cout<<"请输入修改后的部门"<<endl;string d;cin>>d;T[i].department=d;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)T[i].department=d;else{cout<<"放弃修改"<<endl;return;}save();};break;case 6:{cout<<"请输入修改后级别"<<endl;string r;cin>>r;T[i].rank=r;cout<<"是否确认修改?1、是2、否"<<endl;int a;cin>>a;if(a==1)T[i].rank=r;else{cout<<"放弃修改"<<endl;return;}save();};break;case 7:。
C++人事管理系统课程设计报告
一、设计题目(问题)描述和要求1.题目:人事管理系统2.问题描述:某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。
现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。
要求:(1)其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
(2)程序对所有人员有提升级别的功能(3)月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销员的报酬按该推销员当月销售额提成 ,销售经理既拿固定月薪也领取销售提成。
(4)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息二、系统分析与模块设计根据问题描述和要求,系统要求能够按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。
确定程序至少应该具备如下功能:“查询人员”、“增加人员”、“删除人员”、“数据存盘”基本模块。
系统既然具有“数据存盘”功能-人员数据可以保存到磁盘文件,那么也就意味着今后可以从磁盘文件读出人员数据,所以系统增加了“人员数据装入”模块,以方便用户使用、避免数据重复录入。
考虑到系统实现简捷,人员数据文件采用文本文件,人员数据文件名:Person.txt。
做为一个完整系统,除了具有增加人员,删除人员信息模块,还应该具有修改人员相关信息的功能,所以本系统设计时考虑增加“修改人员”模块。
考虑到根据编号查找人员信息功能在“删除人员”、“修改人员”等模块都使用,所以可以考虑设置为一个模块。
考虑到系统要求人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
这样就要求人员编号在增加人员时自动生成(增加1)且不重复。
根据这个要求,可以考虑设置一个全局量:“当前最大编号”,每增加一个人员,当前最大编号自动增1,然后新增加人员使用这个编号。
为了保证系统能记忆这个编号,可以使用一个数据文件保存当前这个编号。
系统每次开始运行前从文件读入这个编号,随着人员增加,编号自动增加,系统每次运行结束时将这个编号写入文件。
C++课程设计报告--高校人员管理系统
湖北汽车工业学院Hubei Automotive Industrise Institute课程设计说明书课程名称面向对象程序设计课程设计设计题目高校人员管理系统班号 T1123-X 专业软件工程学号 1234567891011 学生姓名指导教师(签字)起止日期 2013 年 1 月 10 日- 2013 年 1月 16 日目录第1章(C++)课程设计任务书 (1)1.1设计目的 (1)1.2 课程设计题目 (1)1.2.1高校人员信息管理系统 (1)1.3 设计思路 (1)1.3.1高校人员信息管理系统 (1)第2章程序设计 (3)2.1 需求分析 (3)2.1.1 问题分析 (3)2.1.2 功能分析 (3)2.2 总体设计 (4)2.2.1 系统流程设计 (4)2.3 数据结构 (5)2.3.1 类设计 (5)2.3.2 函数设计 (8)2.4 设计分析 (31)2.4.1 person类 (31)2.4.2 派生类 (31)2.4.3 友元类 (32)2.4.4 保存函数 (32)2.4.5 插入函数 (32)2.4.6 查询函数 (32)2.4.7 修改函数 (33)2.4.8 删除函数 (33)第3章程序调试和运行结果 (34)3.1.1 主界面 (34)3.1.2 插入界面 (34)3.1.3 修改界面 (34)3.1.4 删除界面 (35)第4章课设总结 (36)第1章(C++)课程设计任务书1.1设计目的通过本次课程设计,深入理解类和对象、继承和派生、重载和多态,熟练掌握面向对象的程序设计思想和方法,能够对现实世界中的实际问题进行分析、设计,并学会熟练运用面向对象的编程方法(OOP)——C++语言进行编程实现。
1.2 课程设计题目1.2.1高校人员信息管理系统开发一个简易的高校人员信息管理系统,主要针对高校人员的基本信息进行管理。
采用对象链表或对象数组存放各个对象,实现新增、修改、删除、查询以及统计等功能。
C++课程设计人事管理系统
C++课程设计人事管理系统————————————————————————————————作者:————————————————————————————————日期:《面向对象编程技术》课程设计实验报告姓名:学号:班级:指导老师:日期:目录:一.设计任务与要求 (3)1.设计目的 (3)2.课程设计的要求 (3)二.系统分析 (3)1.需求分析: (3)2.功能分析: (3)3.系统功能模块 (3)4.功能的实现 (3)5.模块框架图 (4)三.系统设计 (4)四.问题分析和实验总结 (10)课程设计部分源代码 (11)一.设计任务与要求设计题目:人事管理系统1.设计目的:制作人事管理系统,实现对增加数据记录,删除记录,排序记录,筛选记录数据的要求。
2.课程设计的要求A.用access创建人事管理数据表,该表记录职工的基本信息,其中包括职工编号,职工姓名,所在部门,职工年龄,工作时间,基本工资,职称和监理等信息。
B.创建新的数据源C.论述对“MFC AppEizard(exe)”生成的应用程序的框架的认识,理解和开发心得二.系统分析1.需求分析:●可利用该程序实现对员工信息的记录和浏览●能够对职工信息进行输入、删除、排序、以及筛选等操作;2.功能分析:●新增记录:系统能在原有记录的基础上增加新的记录。
●删除记录:对数据表中的数据进行删除。
●筛选记录:根据职工标号对职工进行筛选进行精确查找职工人员。
●排序记录:对职工信息编号进行从小到大的排序3.系统功能模块人事管理系统有:新增记录、深处记录、排序记录、筛选及浏览记录。
4.功能的实现:1)“筛选及浏览记录”模块:在access中建表时,在职工编号栏开启关键词索引功能,筛选时在对话框的编辑框内输入要筛选的职工标号即可进行筛选。
2)“新增记录”模块:再新建一个对话框创建一个新类,给每个编辑框绑定变量,在人事管理系统view.cpp中添加自拟头文件3)“数据删除模块”显示当前的数据内容,点击删除按钮将该职工的所有信息删除。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c加加课程设计人事管理报告
南阳理工学院
本科生毕业设计(论文)
学院: 软件学院
专业: 软件工程学生: 李明慧
指导老师: 陈珂
完成日期: 年 6月
人事管理系统的设计与实现
摘要
此次课程设计为人事管理系统, 由Dev c编译器编译而成。
经过本系统, 在主界面老板能够经过提示的操作, 对四类人员进行录入, 查询, 升级, 修改, 增加, 删除等管理操作; 一般人员能够进行查看四类人员信息的操作。
系统主要包含了技术, 业务, 文秘, 财务四类人员, 每一类都包含人员的四项基本信息: 姓名, 编号, 等级, 薪水。
本次程序设计共有六个类, 一个包含四项基本信息和输入输出纯虚函数的基类, 四个包含四类人员信息和操作派生类, 还有一个管理各项人员的老板类, 它公有继承了前边四个派生类。
经过此系统用户能够简洁方便的查看公司各类人员四项基本信息, 老板也可轻松进行人员各项管理, 从而实现高效的管理模式, 为公司企业商家等创造最大化的经济效益。
关键字: 管理系统基类继承纯虚函数
目录
1 软件需求分析说明书
1.1 需求分析
1.2 功能简介
1.2.1 人员录入功能
1.2.2 人员管理功能
1.2.3 统计功能
1.2. 4 打印功能
1.3 界面介绍与要求
1.4 数据结构要求
2 系统分析与设计
2.1 系统分析
2.1.1 功能图
2.1.2 流程图
3 软件的实现
3.1 主系统头文件和基类的定义
3.2 购买商品代码解释
3.3 添加商品代码解释
3.4 删除商品代码解释
3.5 修改商品代码解释
3.6 查询商品代码解释
3.7 统计商品代码解释
4 系统功能实现
4.1 系统功能主菜单界面实现
4.2 人员录入信息界面实现
4.3 查询人员信息界面实现
4.4 修改人员信息界面实现
4.5 升级人员等级界面实现
4. 6 增加人员信息界面实现
4. 7 删除人员信息界面实现
4.8 显示人员信息界面实现
4.9 统计人员个数界面实现
5 软件测试
6 软件使用说明书
6.1 录入功能模块的使用说明
6.2 人事管理功能的使用说明
6.3 打印功能的使用说明
6.4 统计功能的使用说明
参考文献
结束语
1 软件需求分析说明书
1.1 需求分析
人事管理系统就是对人力资源的取得, 开发, 保持和利用等方面进行计划、组织、指挥和控制活动。
研究人与人之间的关系, 细条人与事的配合, 充分开发人力资源, 挖掘人的潜能, 调动人的积极性, 实现组织的既定目标, 使经济利益最大化。
作为企业信息管
理的一个子系统, 人事管理系统应该具备MIS的各项特征, 而且需要考虑人为的因素, 在研发的过程中应该重视人的行为, 需要领导的亲自参加。
人事管理系统主要提供人事管理整体解决方案, 在提高工作效率的同时, 将人事管理同企业战略发展紧密结合, 借此达到增强企业和单位整体竞争的目的。
1.2 功能简介
1.2.1 人员录入功能
本功能主要是针对老板使用。
老板经过主页面提示菜单键入相对应数字, 一一将四类人员姓名, 编号, 等级, 薪水输入到四个文件中保存。
每类人员当输入姓名为”no”时, 系统会结束对此类人员信息的输入。
1.2.2 人员管理功能
人员管理功能主要是针对公司老板使用, 对公司人员进行简单的管理。
本功能当中主要能够实现各类人员的查询、修改、升级、增加和删除等功能。
(1)查询信息
经过主页面提示菜单键入相对应数字进入添查询人员选项, 然后进入查询的小界面, 再根据提示键选择要查询的那类人员, 输入要查寻的此类人员的姓名, 如果找到就显示此人员的四项基本信息; 如果没有找到就显示”很抱歉, 没有查到你想找的人员”。
(2)修改信息
经过主页面的提示菜单键入相应数字进入修改人员信息选项,
然后选择修改哪类人员, 再根据姓名查询要修改的人员信息, 若查到就修改, 查不到给出提示信息。
(3)人员升级
经过主页面的提示菜单键入相应数字进入升级人员选项, 然后进入小界面, 选择要升级的那类人员。
技术和业务b、c类人员根据薪水升级, 即给b、c类中薪水最高的升级; 文秘和财务人员根据编号升级, 即给b类中编号最靠前的那个升为a级。
( 4) 增加人员信息
经过主页面的提示菜单键入相应数字进入增加人员信息选项, 然后进入小界面, 选择要增加哪类人员信息, 再输入要添加人员的等级, 利用数组增加成员的方式在此等级的末尾添加人员的姓名, 薪水, 编号。
(5)删除人员信息
经过主页面的提示菜单键入相应数字进入删除人员信息选项, 然后进入小界面, 选择要删除哪类人员信息, 再输入要删除人员的姓名, 若找到该人员, 就利用数组删除成员的方式删除该人员信息, 若未找到, 给出提示信息。
1.2.3 人员显示功能
此功能主要是提供显示功能。
用户和老板可经过主页面的显示菜单键相应的数字输出文件中所存储的四类人员( 技术, 业务, 文秘, 财务) 的姓名、编号、等级等基本信息。
1.2.4人员统计功能。