定义一个员工Employee类,包含工号、姓名、薪水三个数据成员,voidshow()成员函数功能显示一个员工数据,voidset()设置员工数据。在主函数中新建文件employee.dat,通过键盘输入5个员工数据,并将它们存储到文件中,要求在写入文件时在每个员工数据前加上序号。(如1:2022001张三10000)
时间: 2024-02-22 21:00:41 浏览: 154
定义一个人员类Person,数据成员有姓名,能够设置姓名的值及显示姓名
5星 · 资源好评率100%
好的,我来帮你解决这道题目。
以下是实现员工Employee类的代码:
```cpp
#include <iostream>
#include <fstream>
using namespace std;
class Employee {
private:
int id; // 工号
string name; // 姓名
double salary; // 薪水
public:
Employee() {} // 默认构造函数
// 显示员工信息
void show() {
cout << id << ":" << name << " " << salary << endl;
}
// 设置员工信息
void set(int id, string name, double salary) {
this->id = id;
this->name = name;
this->salary = salary;
}
// 获取员工信息
string getInfo() {
return to_string(id) + ":" + name + " " + to_string(salary);
}
};
```
接下来是主函数的实现:
```cpp
int main() {
Employee employee[5]; // 存储5个员工信息
int id;
string name;
double salary;
// 从键盘输入5个员工信息
for (int i = 0; i < 5; i++) {
cout << "请输入第" << i+1 << "个员工的信息(工号 姓名 薪水):";
cin >> id >> name >> salary;
employee[i].set(id, name, salary);
}
// 将员工信息写入文件
ofstream outfile("employee.dat");
for (int i = 0; i < 5; i++) {
outfile << i+1 << ":" << employee[i].getInfo() << endl;
}
outfile.close();
return 0;
}
```
以上代码实现了以下功能:
1. 定义了一个员工Employee类,包含工号、姓名、薪水三个数据成员,以及voidshow()成员函数和voidset()成员函数。
2. 在主函数中创建了一个Employee类型的数组,用于存储5个员工信息。
3. 通过键盘输入5个员工信息,并将它们存储到Employee类型的数组中。
4. 将员工信息写入文件employee.dat,要求在每个员工数据前加上序号。
希望这个代码能够帮助你解决问题!
阅读全文