C++实现职工管理系统【流程+代码】

1、功能描述:

2、界面展示:

3、代码:

主程序:职工管理系统.cpp

//职工管理系统.cpp
#include<iostream>
using namespace std;
#include "workermanage.h"
#include "worker.h"
#include "employee.h"
#include "boss.h"
#include "manage.h"

int main() 
{

	workermanage wm;
	int choose = 0;
	while (true)
	{
		wm.show_Menu();
		cout << "请输入你的选择:" << endl;
		cin >> choose;
		switch (choose)
		{
		case 0://退出系统
			wm.exitsystem();
			break;
		case 1://添加
			wm.Addmenber();
			break;
		case 2://显示
			wm.show_emp();
			break;
		case 3://删除
			wm.del_emp();
			break;
		case 4://修改
			wm.mdf_emp();
			break;
		case 5://查找
			wm.find_emp();
			break;
		case 6://排序
			wm.sort_emp();
			break;
		case 7://清空
			wm.clear_emp();
			break;
		default:
			system("cls");
			break;
		}
	}

	system("pause");
	return 0;
}

设置职工管理类,囊括任务中所有功能的实现:workermanage.h

// workermanage.h
#pragma once    // 防止头文件重复包含
#include<iostream>    // 包含输入输出流文件
using namespace std;    // 使用标准命名空间
#include "worker.h"
#include<fstream>
#include<string>
#define FILENAME "workerinf.txt"
 
class workermanage
{
public:
	workermanage();

	//记录职工人数
	int m_empnum;
	//记录职工信息数组
	worker** m_empArray;
	//记录文件是否为空
	bool m_fileempty;

	//显示界面
	void show_Menu();
	//退出系统
	void exitsystem();
	//添加人员
	void Addmenber();
	//获取文件中人数
	int get_empnum();
	//初始化职工
	void init_emp();
	//显示职工信息
	void show_emp();
	//删除员工信息
	void del_emp();
	//查询id号是否存在
	int isExist(int id);
	//修改员工
	void mdf_emp();
	//查找员工
	void find_emp();
	//排序
	void sort_emp();
	//清空员工信息
	void clear_emp();
	//保存文件
	void save();

	~workermanage();
};

workermanage.cpp:

#include "workermanage.h"
#include "employee.h"
#include "boss.h"
#include "manage.h"
#include<string>

workermanage::workermanage()    // 把文件判断放到workermanage类的构造函数,是因为不需要每次执行增删改查都反复从文件读写,只需要在所有操作之前把文件数据放到堆区,每次在堆区处理就行
{
	//1、文件不存在
	ifstream ifs;
	ifs.open(FILENAME, ios::in);
	if (!ifs.is_open())
	{
		//初始化职工人数
		this->m_empnum = 0;
		//初始化职工信息数组
		this->m_empArray = NULL;
		//初始化文件标志
		this->m_fileempty = true;
		ifs.close();
		return;
	}
	else
	{
		//2、文件存在但为空
		char ch;
		ifs >> ch;
		if (ifs.eof())
		{
			this->m_empnum = 0;
			this->m_empArray = NULL;
			this->m_fileempty = true;
			ifs.close();
			return;
		}
		//3、文件存在且不为空
		if (!ifs.eof())
		{
			int num = this->get_empnum();
			this->m_empnum = num;
			this->m_fileempty = false;
			this->m_empArray = new worker * [this->m_empnum];
			this->init_emp();
			return;
		}
	}
}

void workermanage::show_Menu() 
{
	cout << "********************************************************" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值