c++显示各年龄段分布的情况,并将结果写入到文件中 c 读取文件中的职工信息数据并显示。 d修改自己信息(非职称,工资所在系等次要信息)并保存 e修改自己的用户名与密码(用户的账号和密码保存在文件中) f查看自己的信息(运行程序时自动显示当前职工的信息,应该与账号绑定)
时间: 2024-02-13 21:06:31 浏览: 124
c++程序 文件的应用
好的,我会逐一回答你的问题。
a) 显示各年龄段分布的情况,并将结果写入到文件中,可以按照以下步骤操作:
1. 从文件中读取职工信息并存储在一个数组或结构体中。
2. 遍历数组或结构体,统计每个年龄段的人数。
3. 将统计结果写入到文件中。
以下是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
struct Employee {
std::string name;
int age;
// 其他职工信息
};
const int kNumAgeGroups = 4;
const int kAgeGroups[kNumAgeGroups] = {20, 30, 40, 50}; // 年龄段分界点
int main() {
// 从文件中读取职工信息
std::ifstream file("employees.txt");
Employee employees[100];
int num_employees = 0;
while (file >> employees[num_employees].name >> employees[num_employees].age) {
// 读取其他职工信息
num_employees++;
}
file.close();
// 统计年龄段人数
int age_group_counts[kNumAgeGroups] = {0};
for (int i = 0; i < num_employees; i++) {
for (int j = 0; j < kNumAgeGroups; j++) {
if (employees[i].age < kAgeGroups[j]) {
age_group_counts[j]++;
break;
}
}
}
// 将统计结果写入文件
std::ofstream output_file("age_distribution.txt");
for (int i = 0; i < kNumAgeGroups; i++) {
output_file << kAgeGroups[i] << " - " << kAgeGroups[i+1] << " : " << age_group_counts[i] << std::endl;
}
output_file.close();
return 0;
}
```
b) 读取文件中的职工信息数据并显示,可以按照以下步骤操作:
1. 从文件中读取职工信息并存储在一个数组或结构体中。
2. 遍历数组或结构体,逐个显示职工信息。
以下是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
struct Employee {
std::string name;
int age;
// 其他职工信息
};
int main() {
// 从文件中读取职工信息
std::ifstream file("employees.txt");
Employee employees[100];
int num_employees = 0;
while (file >> employees[num_employees].name >> employees[num_employees].age) {
// 读取其他职工信息
num_employees++;
}
file.close();
// 显示职工信息
for (int i = 0; i < num_employees; i++) {
std::cout << employees[i].name << " " << employees[i].age << std::endl;
// 显示其他职工信息
}
return 0;
}
```
c) 修改自己信息并保存,可以按照以下步骤操作:
1. 从文件中读取职工信息并存储在一个数组或结构体中。
2. 找到自己的职工信息并修改。
3. 将修改后的职工信息写入文件中。
以下是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
struct Employee {
std::string name;
int age;
// 其他职工信息
};
int main() {
// 从文件中读取职工信息
std::ifstream file("employees.txt");
Employee employees[100];
int num_employees = 0;
while (file >> employees[num_employees].name >> employees[num_employees].age) {
// 读取其他职工信息
num_employees++;
}
file.close();
// 找到自己的职工信息并修改
for (int i = 0; i < num_employees; i++) {
if (employees[i].name == "自己的名字") {
employees[i].age = 30; // 修改年龄为30岁
// 修改其他职工信息
break;
}
}
// 将修改后的职工信息写入文件
std::ofstream output_file("employees.txt");
for (int i = 0; i < num_employees; i++) {
output_file << employees[i].name << " " << employees[i].age << std::endl;
// 写入其他职工信息
}
output_file.close();
return 0;
}
```
d) 修改自己的用户名与密码,可以按照以下步骤操作:
1. 从文件中读取用户账号和密码。
2. 找到自己的账号并修改密码。
3. 将修改后的账号和密码写入文件中。
以下是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
struct User {
std::string username;
std::string password;
};
int main() {
// 从文件中读取用户账号和密码
std::ifstream file("users.txt");
User users[100];
int num_users = 0;
while (file >> users[num_users].username >> users[num_users].password) {
num_users++;
}
file.close();
// 找到自己的账号并修改密码
for (int i = 0; i < num_users; i++) {
if (users[i].username == "自己的账号") {
users[i].password = "新密码";
break;
}
}
// 将修改后的账号和密码写入文件
std::ofstream output_file("users.txt");
for (int i = 0; i < num_users; i++) {
output_file << users[i].username << " " << users[i].password << std::endl;
}
output_file.close();
return 0;
}
```
e) 查看自己的信息,可以按照以下步骤操作:
1. 从文件中读取职工信息并存储在一个数组或结构体中。
2. 找到自己的职工信息并显示。
以下是一个简单的示例代码:
```c++
#include <iostream>
#include <fstream>
struct Employee {
std::string name;
int age;
// 其他职工信息
};
int main() {
// 从文件中读取职工信息
std::ifstream file("employees.txt");
Employee employees[100];
int num_employees = 0;
while (file >> employees[num_employees].name >> employees[num_employees].age) {
// 读取其他职工信息
num_employees++;
}
file.close();
// 找到自己的职工信息并显示
for (int i = 0; i < num_employees; i++) {
if (employees[i].name == "自己的名字") {
std::cout << "姓名:" << employees[i].name << std::endl;
std::cout << "年龄:" << employees[i].age << std::endl;
// 显示其他职工信息
break;
}
}
return 0;
}
```
希望以上回答能够帮助到你!
阅读全文