1、公司人事管理系统(C++)

**

基于C++的简易“公司人事管理系统”

**
励志:让所有猿同胞都能看懂的代码!
(前方高能:注释贼多!)

第一次接触C++,是因为朋友的专业大作业,实在无法了找我帮忙写系统。经过一天一夜的自学推敲,再找了一些网上大神的代码借鉴,终于完工。现在重新将代码优化,并做了详细的注释介绍。废话不多说——

先上效果图
主菜单界面管理系统
查询系统
修改界面
……中间省略用户使用效果。

一、功能——

1、问题描述
一个小公司包含四类人员:经理、技术人员,销售人员和销售经理,各类人员的工资计算方法如下:
经理:固定月薪(8000);
技术人员:月薪按技术等级(1~8级)(1600+等级*300);
销售人员:按提成(4%*销售额);
销售经理:底薪+提成(1500+0.2%*总销售额);
——设计一个管理程序,实现对各类人员的信息输入,修改和显示。
2、假定 经理 和 销售经理 都只能有一个;
用文本编辑器编辑一个文本文件(总数20人以上),包含各类人员的信息;并且在程序中能修改保存。
3、菜单功能:添加公司人员(输入),修改信息,浏览信息(输出),按姓名查找,月薪排序。

二、思路分析——

1、定义一个主函数
在主函数中画出简易的菜单界面,以便用户选择。
2、有四类人员,每个人员都有不同的属性(包括姓名、等级、工资),因为类型不同,信息多,同属一个,
于是考虑定义不同的职工类或者结构体,将其信息封装
以便其后的人员管理,直接调用。
3、开始编写不同的功能,包含录入、增、删、改、查、排序等。
每一个功能用一个函数,然后在主函数的菜单中分别调用
(注意:要使每一个函数功能使用的人员信息同步,定义全局变量。)
因为经理和销售经理都只有一个,所以不用考虑排序。

三、所用头文件介绍

<iostream>:C++标准库,定义了用于读写流(cin、cout)的基本类型
<algoritlm>:C++标准模板中最重要的头文件之一(其中包含了各种数学函数)
<iomanip>:I/O流控制头文件,主要是对cin、cout操纵数据,即对比C语言中的格式化输出
<string>:字符串头文件,包括声明C++字符串,以及对字符串的一系列操作函数

四、上代码

(大神轻喷)

#includ`在这里插入代码片`e<iostream>
#include<algorithm>
#include<iomanip>
#include<string>

using namespace std;
//C++标准程序库中所有标识符都被定义于一个名为std的namespace(命名空间)中

/* 定义类 */
class Employee1     //定义职工类1——存放经理
{
public://定义可以被类访问的权限。(public是公有变量,此定义下的变量,类中,类外都能访问)
 char name[20];      //职工姓名,字符类型
 int salary;         //职工工资,整型
};
class Employee1 jl;    //定义一个全局变量jl,可引用类1中的属性 存放经理信息

class Employee2     //定义职工类2——销售经理 
{
public:
 char name[20];      //职工姓名  
 int profit;          //总经额  
 int salary;         //职工工资
};
class Employee2 xsjl;    //定义一个全局变量xsjl,用来存放销售经理信息  

class Employee3     //定义职工类3——技术人员 
{
public:
 char name[20];      //职工姓名  
 int rank;          //技术等级
 int salary;         //职工工资
};
class Employee3 jsry[10];    //定义一个全局数组变量jsry,用来存放职工信息
class Employee3 ch1[10];//作为排序时交换的中间变量

class Employee4     //定义职工类4——销售人员  
{
public:
 char name[20];      //职工姓名  
 int sale;          //销售总量   
 int salary;         //职工工资
};
class Employee4 xsry[10];    //定义一个全局变量xsry,用来存放职工信息
class Employee4 ch2[10];//作为排序时交换的中间变量

int a = 0, b = 0, c = 0;        //存放实际输入的职工人数(计数变量)

/*(全局)函数声明,方便之后的所有调用正常执行*/
void use();             //使用介绍
void manage();   //管理系统
void query();   //查询系统
void input();          //录入人员函数声明
void show();            //显示职工信息函数声明
void change();   //修改信息



/*主函数,程序入口*/

int main()
{
 int select;//定义一个输入变量,以供用户进行菜单选择
 while (1)//使用死循环,使程序不是一次性结束  
 {
  //初始界面(菜单)
  system("cls");//调用系统命令cls实现一次清屏操作
  cout << "\t \t ************欢迎使用职工管理系统************\n";
  cout << "\t \t *------------------------------------------*\n";
  cout << "\t \t * \t  \t 0、停止程序   \t    *\n";
  cout << "\t \t * \t  \t 1、使用介绍   \t    *\n";
  cout << "\t \t * \t  \t 2、进入管理系统 \t    *\n";//包含录入、修改和浏览
  cout << "\t \t * \t  \t 3、进入查询系统 \t    *\n";//包含查找和排序
  cout << "\t \t * \t  \t 4、退出系统     \t    *\n";
  cout << "\t \t *------------------------------------------*\n";
  cout << "\t \t 请输入您需要访问的编号是(1--4):";

  cin >> select;
  if (select == 0) break;
  //每一个case就是一个功能。根据自己定义的菜单填写所调用的功能
  switch (select)
  {
  case 1:
   system("cls");//每个功能使用一个清屏,相当于刷新窗口界面,为功能重开窗口
   use(); //调用函数,显示此程序使用说明  
   system("pause");
   break;
  case 2:
   system("cls");//同上
   manage(); //调用函
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值