C++(九)——职工信息管理系统

简单的项目构成

 头文件

职工抽象类

#pragma once
#include<iostream>
#include<string>
using namespace std;
class Worker {
public:
	//显示个人信息
	virtual void showInfo() = 0;
	//显示岗位名称
	virtual string getDName() = 0;
	int m_id;
	string m_name;
	int m_dId;
};

Boss类(继承自职工抽象类)

#pragma once
#include<iostream>
#include<string>
#include"Worker.h"
using namespace std;
class Boss :public Worker {
public:
	Boss(int id, string name, int dId);
	void showInfo();
	string getDName();
};

经理类(继承自职工抽象类)

#pragma once
#include<iostream>
#include<string>
#include"Worker.h"
using namespace std;
class Manger :public Worker {
public:
	Manger(int id, string name, int dId);
	void showInfo();
	string getDName();
};

普通员工类(继承自职工抽象类)

#pragma once
#include<iostream>
#include<string>
#include"Worker.h"
using namespace std;
class Employee :public Worker {
public:
	Employee(int id, string name, int dId);
	void showInfo();
	string getDName();
};

管理系统类(实现信息的增删查改,排序等等)

#pragma once //防止头文件重复包含
#include<iostream>
#include"Worker.h"
using namespace std;
//只做声明, 不做实现
class WorkerManger {
public:
	WorkerManger();

	//展示菜单的函数
	void showMenu();
	
	//退出系统函数
	void exitSystem();

	//添加新员工
	void addEmp();

	//保存到txt文本中
	void save();
	//统计人数
	int getEmNum();

	//初始化员工
	void initEmp();

	//显示员工信息
	void showWorker();

	//删除职工
	void delEmp();

	//判断编号员工是否存在
	int isExist(int num);

	//修改员工信息
	void modEmp();

	//查找员工
	void findEmp();

	//排序
	void sortEmp();

	//清空文件
	void cleanFile();


	~WorkerManger();
	
	
	//判断文件是否为空的标志,后面删除时需要用到
	bool m_isEmpty;

	int m_emNum;
	Worker** m_emArray;
	
};

源文件

职工抽象类

#include"Worker.h"

void Worker::showInfo() {

}

string Worker::getDName() {
	return string("None");
}

Boss类(继承自职工抽象类)

#include"Boss.h"

Boss::Boss(int id, string name, int dId) {
	m_id = id;
	m_name = name;
	m_dId = dId;
}
void Boss::showInfo() {
	cout << "职工编号:" << m_id;
	cout << "\n职工姓名:" << m_name;
	cout << "\n岗位:" << getDName();
	cout << "\n岗位职责:啥也不用干,诶!就是玩儿" << endl;
	cout << endl;

}
string Boss::getDName() {
	return string("公司老板");
}

经理类(继承自职工抽象类)

#include"Manger.h"
Manger::Manger(int id, string name, int dId) {
	m_id = id;
	m_name = name;
	m_dId = dId;
}
void Manger::showInfo() {
	cout << "职工编号࿱
【员工管理系统】 问题描述:每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。 基本要求:排序:按不同关键字,对所有员工的信息进行排序;查询:按特定条件查找员工;更新,按编号对某个员工的某项信息进行修改;插入,加入新员工的信息;删除,按编号删除已离职的员工的信息。 选作内容:实现图形用户界面。 通过链表实现 数据结构: #include #include #include #include #include using namespace std; typedef struct workers{ char name[15];//姓名 char department[18];//单位 char gender;//性别 unsigned int age;//年龄 unsigned long long telephone;//电话 unsigned long wage;//工资 unsigned long num;//职工号 struct workers *next; }*Linklist,Lnode; void frist_print() { printf("\t\t⊙▽⊙ ⊙▽⊙ ⊙▽⊙ ⊙▽⊙ ⊙▽⊙ ⊙▽⊙ \n\n"); printf("\t\t\t欢迎进入员工管理系统\n"); } void menu() { printf("\n\t\t^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf("\t\t \t ◎1.创建员工信息\t \n"); printf("\t\t \t ◎2.插入员工信息\t \n"); printf("\t\t \t ◎3.修改员工信息\t \n"); printf("\t\t \t ◎4.删除员工信息\t \n"); printf("\t\t \t ◎5.查询员工信息\t \n"); printf("\t\t \t ◎6.员工信息排序\t \n"); printf("\t\t \t ◎7.显示员工信息\t \n"); printf("\t\t \t ◎8.员工工资情况\t \n"); printf("\n\t\t^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n"); printf("注意:输入均以回车作为结束\n"); printf("please choise 1--8:\t "); //putchar(12); } void Inset(Linklist Head){ Linklist s,L; unsigned int agee; unsigned long wagee,numm;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值