这个系统主要是综合之前学习的C++核心语法,包括C++的三大特性,封装、继承、多态,还有文件的编写等内容,实现一个基于多态的职工管理系统。
1. 管理系统需求分析
要求:
公司中职工分为三类:普通员工、经理、老板。
显示信息时,需要显示职工编号、职工姓名、职工岗位、以及职责。
普通员工职责:完成经理交给的任务。
经理职责:完成老板交给的任务,并下发任务给员工。
老板职责:管理公司所有事务。
管理系统中需要实现的功能如下:
- 退出管理程序:退出当前管理系统
- 增加职工信息:实现批量添加职工功能,将信息录入到文件中,职工信息为:职工编号、姓名、部门编号
- 显示职工信息:显示公司内部所有职工的信息
- 删除离职职工:按照编号删除指定的职工
- 修改职工信息:按照编号修改职工个人信息
- 查找职工信息:按照职工的编号或者职工的姓名进行查找相关的人员信息
- 按照编号排序:按照职工编号,进行排序,排序规则由用户指定
- 清空所有文档:清空文件中记录的所有职工信息 (清空前需要再次确认,防止误删)
2. 创建职工管理类
1)职工管理类负责的内容如下
- 与用户的沟通菜单界面
- 对职工增删改查的操作
- 与文件的读写交互,提供接口等
2)创建头文件和源文件
在头文件和源文件的文件夹下分别创建workerManager.h和workerManager.cpp文件以及职工管理系统.cpp文件。
workerManager.h头文件中只需要写workerManager类,包含构造函数和析构函数的声明。
workerManager.cpp文件中只需要写workerManager类的构造函数的空实现和析构函数的空实现,注意要包含自定义的workerManager.h头文件。
3. 菜单和退出功能
3.1 菜单功能
功能描述:与用户的沟通界面。
实现步骤:
- 在管理类workerManager.h中添加成员函数
void Show_Menu();
- 在管理类workerManager.cpp中实现 Show_Menu()函数
- 在职工管理系统.cpp中测试菜单功能
3.2 退出功能
提供功能接口:在main函数中提供分支选择,提供每个功能接口
实现步骤:
- 在workerManager.h中提供退出系统的成员函数
void exitSystem();
- 在workerManager.cpp中提供具体的功能实现
- 在main函数分支 0 选项中,调用退出程序的接口
workerManager.h 头文件
#pragma once//防止头文件重复包含
#include <iostream>
using namespace std;
class WorkerManager
{
public:
WorkerManager();//构造
void Show_Menu();//展示菜单
void exitSystem();//退出功能
~WorkerManager();//析构
};
workerManager.cpp源文件
#include "WorkerManager.h"
WorkerManager::WorkerManager()//空实现
{
}
void WorkerManager::Show_Menu()//展示菜单
{
cout << string(44, '*') << endl;
cout << "********* 欢迎使用职工管理系统! **********" << endl;
cout << "************* 0.退出管理程序 *************" << endl;
cout << "************* 1.增加职工信息 *************" << endl;
cout << "************* 2.显示职工信息 *************" << endl;
cout << "************* 3.删除离职职工 *************" << endl;
cout << "************* 4.修改职工信息 *************" << endl;
cout << "************* 5.查找职工信息 *************" << endl;
cout << "************* 6.按照编号排序 *************" << endl;
cout << "************* 7.清空所有文档 *************" << endl;
cout << string(44, '*') << endl;
cout << endl;
}
void WorkerManager::exitSystem()//退出功能
{
cout << "欢迎下次使用" << endl;
system("pause");//请按任意键继续
exit(0);//无论在哪段代码调用该函数,程序就退出
}
WorkerManager::~WorkerManager()//空实现
{
}
职工管理系统.cpp文件
#include <iostream>
#include "workerManager.h"
using namespace std;
int main()
{
//实例化管理者对象
WorkerManager wm;
int choice = 0;
while (true)
{
//调用展示菜单成员函数
wm.Show_Menu();
cout << "请输入你要选择的功能:" << endl;
cin >> choice;
switch(choice)
{
case 0:
wm.exitSystem();
break;
case 1://添加职工
break;
case 2://显示职工
break;
case 3://删除职工
break;
case 4://修改职工
break;
case 5://查找职工
break;
case 6://排序职工
break;
case 7://清空文件
break;
default:
system("cls");//清屏
break;
}
}
system("pause");
return 0;
}
4. 效果
目前的效果就是显示菜单,并且可以实现退出功能。
之后再实现其他功能。