欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    C++公司人员信息管理系统课程设计报告报告.doc

    • 资源ID:4196615       资源大小:357KB        全文页数:132页
    • 资源格式: DOC        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++公司人员信息管理系统课程设计报告报告.doc

    目 录1 系统需求分析32 总体设计43 详细设计及实现74 系统调试695 结论736心得体会747参考书目751 系统需求分析1.1系统设计的目的与意义:现在的公司人员数量及职位种类较多,各样的人事管理活动也比较频繁,因此需要设计一个公司人员信息管理系统来对公司员工信息进行管理。1.2 系统功能需求:本系统有五个类:基类:employee、派生类:manager、technician、salesman、salesmanager,储存经理、技术人员、销售人员、销售经理信息。(1) 添加功能程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求人员的编号要唯一,如果添加了重复编号的记录时,则提示用户数据添加重复并取消添加。(2) 查询功能可根据编号、等信息对已添加的记录进行查询。如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。(3) 显示功能 可显示当前系统中所有记录。(4) 修改功能 可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。(5) 删除功能对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则输入要删除的人员的编号或,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存在。(6) 统计功能能根据多种参数进行人员的统计。例如:统计四类人员数量以及总数,统计男、女员工的数量,统计平均工资、最高工资、最低工资等。(7) 保存功能将当前系统中各类人员记录存入文件中。(8) 读取功能 将保存在文件中的人员信息读入到当前系统中,以供用户使用。2 总体设计2.1 系统功能分析:系统通过调用函数来实现信息添加、信息查询、信息显示、信息修改、信息删除、以及数据读取保存文件等功能。add()函数用于录入信息;search()函数用来查询信息;show()函数用来显示信息;alter()函数用来修改信息;del()函数用来删除信息;stat()函数用来统计信息read()函数用于将文件中的数据读取到存中;save()函数用于将存中的信息存入文件;主函数main()用于调用这些函数。 2.2系统功能模块划分与设计:系统定义了manger类、technician类、salesman类、salesmanger类这四个类,定义了add()、search()、show()、alter()、del()、stat()、read()、save()、input()、output()等函数来实现系统所需功能。2.3 系统功能模块图:公司人员信息管理系统经理信息管理技术人员信息管理销售人员信息管理销售经理信息管理经理信息添加经理信息查询经理信息显示经理信息修改经理信息删除经理信息统计技术人员信息添加技术人员信息查询技术人员信息显示技术人员信息修改技术人员信息删除技术人员信息统计销售人员信息添加销售人员信息查询销售人员信息显示销售人员信息修改销售人员信息删除销售人员信息统计销售经理信息添加销售经理信息查询销售经理信息显示销售经理信息修改销售经理信息删除销售经理信息统计2.4 类的设计(1) employee类(抽象类)的设计employee 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; string number;string name;string sex;string department;string rank;float salary;图 3.1 employee类(2) 经理类的设计manager void add(); void search(); void show(); void alter(); void del(); void stat(); void save(); void read(); void input(); void output();图 3.2经理类 (3)技术人员类的设计 technician void add(); void search(); void show(); void alter(); void del(); void stat(); void save(); void read(); void input(); void output(); float work_time; float time_salary; 图 3.3技术人员类(4)销售人员类的设计salesman void add(); void search(); void show(); void alter(); void del(); void stat(); void save(); void read(); void input(); void output(); float sale; float rate; 图 3.4 销售人员类(5) 成绩类的设计 salesmanager void add(); void search(); void show(); void alter(); void del(); void stat(); void save(); void read(); void input(); void output(); float sala; 图 3.5销售经理类(6) 各个类的关系描述 employee manager salesman technician salesmanager3 详细设计及实现3.1 employee类(抽象类)的实现 #include<string>using namespace std;class employeepublic: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 employeepublic: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 MMAX;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"<<salary<<endl;void manager:read()top1=0;system("cls");ifstream inflie("经理.txt",ios:in);if(!inflie)cout<<"打开失败!"<<endl;return;int i=0;while(inflie>>Mi.number>>Mi.name>>Mi.sex>>Mi.department>>Mi.rank>>Mi.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<<Mi.number<<"t"<<Mi.name<<"t"<<Mi.sex<<"t"<<Mi.department<<"t"<<Mi.rank<<"t"<<Mi.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=Mi.number) cout<<"该编号的人员已存在"<<endl; return;manager m;cout<<"请再次输入新添加人员的信息"<<endl;m.input();cout<<"是否确认添加? 1、是 2、否"<<endl;int a;cin>>a;if(a=1)Mtop1=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(Mi.number=num)cout<<"编号"<<"t"<<""<<"t"<<"性别"<<"t"<<"部门"<<"t"<<"级别"<<"t"<<"月薪"<<endl;Mi.output();return;cout<<"查无此人!"<<endl;break;case 2:cout<<"请输入要查找的"<<endl;string name;cin>>name;for(int i=0;i<top1;i+)if(Mi.name=name)cout<<"编号"<<"t"<<""<<"t"<<"性别"<<"t"<<"部门"<<"t"<<"级别"<<"t"<<"月薪"<<endl;Mi.output();cout<<"查无此人!"<<endl;break;case 0:break; default:cout<<"输入错误!请输入03的数字"<<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+)Mi.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(Mi.number=num)cout<<"编号"<<"t"<<""<<"t"<<"性别"<<"t"<<"部门"<<"t"<<"级别"<<"t"<<"月薪"<<endl;Mi.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=Mj.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) Mi.number=n;Mi.name=na;Mi.sex=s;Mi.department=d;Mi.rank=r;Mi.salary=sa;elsecout<<"放弃修改"<<endl;return; save();break; case 2:cout<<"请输入修改后的编号"<<endl;string n;cin>>n;for(int i=0;i<top1;i+) if(n=Mi.number) cout<<"该编号的人员已存在"<<endl; return; cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a=1) Mi.number=n;elsecout<<"放弃修改"<<endl;return; save();break; case 3:cout<<"请输入修改后的"<<endl;string na;cin>>na;Mi.name=na;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a=1) Mi.name=na;elsecout<<"放弃修改"<<endl;return;save();break; case 4:cout<<"请输入修改后的性别"<<endl;string s;cin>>s;Mi.sex=s;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a=1) Mi.sex=s;elsecout<<"放弃修改"<<endl;return;save();break;case 5:cout<<"请输入修改后的部门"<<endl;string d;cin>>d;Mi.department=d;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a=1) Mi.department=d;elsecout<<"放弃修改"<<endl;return;save();break; case 6:cout<<"请输入修改后级别"<<endl;string r;cin>>r;Mi.rank=r;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a=1) Mi.rank=r;elsecout<<"放弃修改"<<endl;return;save();break; case 7:cout<<"请输入修改后的月薪"<<endl;float sa;cin>>sa;Mi.salary=sa;cout<<"是否确认修改? 1、是 2、否"<<endl;int a;cin>>a;if(a=1) Mi.salary=sa;elsecout<<"放弃修改"<<endl;return;save();break; case 0:cout<<"退出修改"<<endl;return;break; default:cout<<"无此选项!请输入07的数字"<<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(Mi.number=num)cout<<"编号"<<"t"<<""<<"t"<<"性别"<<"t"<<"部门"<<"t"<<"级别"<<"t"<<"月薪"<<endl;Mi.output();cout<<"是否确认删除? 1、是 2、否"<<endl;int choice;cin>>choice;switch(choice)case 1:for(int j=i;j<top1;j+)Mj=Mj+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(Mi.name=name)cout<<"编号"<<"t"<<""<<"t"<<"性别"<<"t"<<"部门"<<"t"<<"级别"<<"t"<<"月薪"<<endl;Mi.output();cout<<"是否确认删除? 1、是 2、否"<<endl;int choice;cin>>choice;switch(choice)case 1:for(int j=i;j<top1;j+)Mj=Mj+1;cout<<"删除成功!"<<endl;top1=top1-1;save();break;case 2:return;default:cout<<"没有此选项!"<<endl;return;cout<<"无此人!"<<endl;break; case 0:break; default:cout<<"输入错误!请输入03的数字"<<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(Mi.sex=Y)a+;if(Mi.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=Mi.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(Mi.salary>Mi+1.salary) max_salary=Mi.salary; Mi+1.salary=max_salary; else max_salary=Mi+1.salary; cout<<"最高工资:"<<max_salary; ;system("pause");stat();break; case 5: float min_salary=0; for(int i=0;i<top1-1;i+) if(Mi.salary<Mi+1.salary) min_salary=Mi.salary; Mi+1.salary=min_salary; else min_salary=Mi+1.salary; cout<<"最低工资:"<<min_salary; ;system("pause");stat();break; case 0:break; default: cout<<"无此选项!请输入05的数字"<<endl;system("pause");stat();break; 3.3 技术人员类的实现technician.h#include "employee.h"class technician :public employeepublic: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 TMAX;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_t

    注意事项

    本文(C++公司人员信息管理系统课程设计报告报告.doc)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开