实验三 职工信息管理系统C++代码实现 实验目的: 1、熟悉类之间的调用; 2、掌握vector的使用方法; 3、掌握信息的添、查、改、删的编程方法。 实验步骤: 一、模块分析 模块一:增加人员函数Add();增加职工基本信息。 模块二:删除人员函数Delete();删除指定的职工的基本信息以及薪酬。 模块三:修改人员函数Modify();修改指定的职工基本信息。 模块四:查询职工信息函数Search();查询指定的职工信息以及薪酬。 模块五:排序职工信息函数Sort();职工信息排序功能实现 模块六:基础数据设置函数Set();设置五类职位的基本薪酬。 模块七:数据存盘,载入函数Save()以及Load();储存职工基本信息,薪酬以及五类职位的基本薪酬。
时间: 2023-06-10 13:04:40 浏览: 135
答:您的问题是实验三 职工信息管理系统C 代码实现。这个实验的目的是熟悉类之间的调用,掌握vector的使用方法,以及掌握信息的添、查、改、删的编程方法。实验分为七个模块:增加人员、删除人员、修改人员、查询职工信息、排序职工信息、基础数据设置、数据存盘和加载。具体实现过程需要按照实验步骤进行。
相关问题
实验三 职工信息管理系统(16学时)C++代码实现 实验名称:职工信息管理系统 实验目的: 1、熟悉类之间的调用; 2、掌握vector的使用方法; 3、掌握信息的添、查、改、删的编程方法。 实验步骤: 一、模块分析 模块一:增加人员函数Add();增加职工基本信息。 模块二:删除人员函数Delete();删除指定的职工的基本信息以及薪酬。 模块三:修改人员函数Modify();修改指定的职工基本信息。 模块四:查询职工信息函数Search();查询指定的职工信息以及薪酬。 模块五:排序职工信息函数Sort();职工信息排序功能实现 模块六:基础数据设置函数Set();设置五类职位的基本薪酬。 模块七:数据存盘,载入函数Save()以及Load();储存职工基本信息,薪酬以及五类职位的基本薪酬。
回答:很好,你的第一个问题是有关实验三的职工信息管理系统。该实验的目的是熟悉类之间的调用,掌握vector的使用方法,掌握信息的添、查、改、删的编程方法。具体的步骤包括增加人员函数Add()、删除人员函数Delete()、修改人员函数Modify()、查询职工信息函数Search()、排序职工信息函数Sort()、基础数据设置函数Set()以及数据存盘、载入函数Save()以及Load()。通过这些模块的操作,可以实现职工信息的管理和储存。
用C++的类写职工管理系统
以下是一个使用 C++ 类实现职工管理系统的例子:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
class Staff {
public:
virtual void display() = 0;
virtual int get_level() = 0;
};
class Technician : public Staff {
public:
Technician(int id, string name, int level) : _id(id), _name(name), _level(level) {}
void display() {
cout << "ID: " << _id << " Name: " << _name << " Level: " << _level << endl;
}
int get_level() {
return _level;
}
private:
int _id;
string _name;
int _level;
};
class Manager : public Staff {
public:
Manager(int id, string name, int level) : _id(id), _name(name), _level(level) {}
void display() {
cout << "ID: " << _id << " Name: " << _name << " Level: " << _level << endl;
}
int get_level() {
return _level;
}
private:
int _id;
string _name;
int _level;
};
class StaffManager {
public:
void add_staff(Staff* staff) {
_staffs.push_back(staff);
}
void display_all() {
for (auto p : _staffs) {
p->display();
}
}
void sort_by_level() {
sort(_staffs.begin(), _staffs.end(), [](Staff* a, Staff* b) -> bool {
return a->get_level() < b->get_level();
});
}
private:
vector<Staff*> _staffs;
};
int main() {
StaffManager manager;
Technician* t1 = new Technician(1, "Jack", 3);
Technician* t2 = new Technician(2, "Tom", 2);
Manager* m1 = new Manager(3, "Lucy", 1);
manager.add_staff(t1);
manager.add_staff(t2);
manager.add_staff(m1);
manager.display_all();
manager.sort_by_level();
manager.display_all();
return 0;
}
```
这个例子中,定义了一个 `Staff` 虚基类,其中包含了两个纯虚函数 `display()` 和 `get_level()`。然后定义了两个派生类 `Technician` 和 `Manager`,它们都继承了 `Staff` 类,并实现了 `display()` 和 `get_level()` 函数。
接着定义了 `StaffManager` 类,用于管理职工。这个类中包含了一个 `_staffs` 私有成员变量,用于存储所有的职工。它包含了三个公有函数:
- `add_staff()`:用于向 `_staffs` 中添加职工。
- `display_all()`:用于显示所有职工的信息。
- `sort_by_level()`:用于按照职工等级对职工进行排序。
最后在 `main()` 函数中,定义了 `Technician` 和 `Manager` 类型的变量,并将它们添加到 `StaffManager` 中,然后分别调用 `display_all()` 和 `sort_by_level()` 函数,来显示和排序职工信息。