用c++写一个带密码的员工工资管理系统
时间: 2024-05-09 17:15:37 浏览: 103
好的,以下是一个简单的带密码的员工工资管理系统的C++代码:
```c++
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
// 定义员工结构体
struct Employee {
string name;
int age;
double salary;
};
// 定义函数:员工信息录入
void inputEmployee(Employee& e) {
cout << "请输入员工姓名:";
getline(cin, e.name);
cout << "请输入员工年龄:";
cin >> e.age;
cout << "请输入员工工资:";
cin >> e.salary;
}
// 定义函数:员工信息输出
void outputEmployee(const Employee& e) {
cout << "姓名:" << e.name << endl;
cout << "年龄:" << e.age << endl;
cout << "工资:" << e.salary << endl;
}
// 定义函数:员工信息保存
void saveEmployee(const Employee& e) {
ofstream fout("employees.txt", ios::app);
fout << e.name << " " << e.age << " " << e.salary << endl;
fout.close();
}
// 定义函数:员工信息读取
void loadEmployee(Employee& e) {
ifstream fin("employees.txt");
while (fin >> e.name >> e.age >> e.salary) {
outputEmployee(e);
}
fin.close();
}
// 定义函数:密码验证
bool checkPassword() {
string password;
cout << "请输入密码:";
getline(cin, password);
return password == "123456"; // 这里的密码为123456,可以根据实际情况修改
}
int main() {
// 密码验证
if (!checkPassword()) {
cout << "密码错误,程序退出。" << endl;
return 0;
}
// 主菜单
while (true) {
cout << "====================" << endl;
cout << "1. 录入员工信息" << endl;
cout << "2. 查看员工信息" << endl;
cout << "0. 退出程序" << endl;
cout << "====================" << endl;
int choice;
cout << "请输入您的选择:";
cin >> choice;
cin.get(); // 这里需要清除缓冲区,避免getline读取到无效的换行符
switch (choice) {
case 1: {
Employee e;
inputEmployee(e);
saveEmployee(e);
cout << "员工信息保存成功!" << endl;
break;
}
case 2: {
Employee e;
loadEmployee(e);
break;
}
case 0: {
cout << "程序已退出。" << endl;
return 0;
}
default: {
cout << "输入错误,请重新输入。" << endl;
break;
}
}
}
return 0;
}
```
上面的代码实现了以下功能:
1. 员工信息录入
2. 员工信息输出
3. 员工信息保存
4. 员工信息读取
5. 密码验证
当用户输入密码正确时,可以进入主菜单,选择录入员工信息、查看员工信息或退出程序。如果选择录入员工信息,则可以输入员工姓名、年龄和工资,程序会将这些信息保存到文件中。如果选择查看员工信息,则会从文件中读取所有员工信息并输出到屏幕上。如果选择退出程序,则程序会退出。
需要注意的是,上面的代码只是一个简单的示例,实际使用中还需要进行更多的优化和完善。比如,可以添加员工信息修改和删除功能,可以将员工信息保存到数据库中,等等。
阅读全文