c++h 抽取并计算职工的平均年龄。 i. 检索(按姓名检索所有信息 按按职工号检索所有信息) j. 对职工工资进行修改 k. 计算职工中各年龄段比例,教师与工人比例 L. 修改管理员自己的用户名与密码(管理员和用户的账号和密码保存在文件中) M.与职工交互(接受用户留言并反馈)代码
时间: 2024-02-05 20:12:42 浏览: 108
c++编的职工信息管理
由于这是一个较为复杂的程序,可能需要多个文件和类进行实现,以下是一个大致的代码框架供参考:
1. 定义职工类
```cpp
class Employee {
public:
Employee(string id, string name, int age, double salary, string type);
// 构造函数
string getID();
string getName();
int getAge();
double getSalary();
string getType();
void setSalary(double salary);
void printInfo();
private:
string id; // 职工号
string name; // 姓名
int age; // 年龄
double salary; // 工资
string type; // 类型(教师/工人)
};
```
2. 定义职工管理类
```cpp
class EmployeeManager {
public:
EmployeeManager();
// 构造函数,从文件读取职工信息并初始化
~EmployeeManager();
// 析构函数,将职工信息写入文件
void addEmployee(Employee employee);
// 添加职工
void removeEmployee(string id);
// 删除职工
Employee* searchByID(string id);
// 按职工号查找职工
vector<Employee*> searchByName(string name);
// 按姓名查找职工
void modifySalary(string id, double salary);
// 修改职工工资
double calculateAvgAge();
// 计算平均年龄
double calculateAgeRatio(int minAge, int maxAge);
// 计算某个年龄段的比例
double calculateTeacherRatio();
// 计算教师比例
void changeAdminInfo(string username, string password);
// 修改管理员账号密码
void interactWithEmployee(string id, string message);
// 与职工交互,留言反馈
private:
vector<Employee*> employees; // 职工列表
string adminUsername; // 管理员账号
string adminPassword; // 管理员密码
void loadEmployeesFromFile();
// 从文件中读取职工信息
void saveEmployeesToFile();
// 将职工信息写入文件
};
```
3. 实现职工类和职工管理类的函数
4. 编写主函数,通过命令行接受用户输入并调用职工管理类的相应函数实现各个功能。
注意,为了方便管理账号密码,可以将管理员账号密码保存在文件中,每次程序启动时读取。同时,职工信息也应该保存在文件中,以便下次启动时能够恢复。
阅读全文