#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
//学生模块
class PartyMember {
private:
std::string name;
int count;
public:
PartyMember(const std::string& name) : name(name), count(0) {
std::cout << "*****团员 " << name << " 加入党组织*****" << std::endl;
}
void applyForTraining() {
std::cout << "*****团员 " << name << " 提交入党申请*****" << std::endl;
count++;
}
void attendTraining() {
if (count < 1) {
std::cout << "*****团员 " << name << " 还未提交申请,请提交申请后再进行培训*****" << std::endl;
} else {
std::cout << "*****团员 " << name << " 进行培训*****" << std::endl;
count++;
}
}
void applyForConfirmation() {
if (count < 4) {
std::cout << "*****团员 " << name << " 培训次数未达到3次,无法申请转正*****" << std::endl;
} else {
std::cout << "*****团员 " << name << " 提交转正申请*****" << std::endl;
}
}
const std::string& getName() const {
return name;
}
int getCount() const {
return count;
}
};
//学生模块
//团支书模块
struct Member3 {
std::string name;
int score;
};
bool compareByScore(const Member3& a, const Member3& b) {
return a.score > b.score;
}
void tuiyou()
{
std::vector<Member3> members3;
// 输入团员信息
int numMembers;
std::cout << "请输入团员人数:";
std::cin >> numMembers;
for (int i = 0; i < numMembers; i++) {
Member3 member3;
std::cout << "请输入团员姓名:";
std::cin >> member3.name;
std::cout << "请输入团员分数:";
std::cin >> member3.score;
members3.push_back(member3);
}
// 根据分数排序
std::sort(members3.begin(), members3.end(), compareByScore);
// 输出推优结果
std::cout << "推优结果:" << std::endl;
for (const auto& member3 : members3) {
std::cout << "姓名:" << member3.name << ",分数:" << member3.score;
if (member3.score > 80) {
std::cout << "(推优成功)";
}
std::cout << std::endl;
}
}
// 查看团员荣誉函数
struct Award {
std::string name;
std::string description;
};
void displayAwards(const std::vector<Award>& awards) {
std::cout << "奖项列表:" << std::endl;
for (const auto& award : awards) {
std::cout << "奖项名称:" << award.name << std::endl;
std::cout << "奖项描述:" << award.description << std::endl;
std::cout << "-------------------" << std::endl;
}
}
void addAward(std::vector<Award>& awards) {
Award newAward;
std::cout << "请输入奖项名称:";
getline(std::cin, newAward.name);
std::cout << "请输入奖项描述:";
getline(std::cin, newAward.description);
awards.push_back(newAward);
std::cout << "奖项添加成功!" << std::endl;
}
void deleteAward(std::vector<Award>& awards) {
std::string nameToDelete;
std::cout << "请输入要删除的奖项名称:";
getline(std::cin, nameToDelete);
for (auto it = awards.begin(); it != awards.end(); ++it) {
if (it->name == nameToDelete) {
awards.erase(it);
std::cout << "奖项删除成功!" << std::endl;
return;
}
}
std::cout << "未找到该奖项!" << std::endl;
}
void saveToFile(const std::vector<Award>& awards, const std::string& filename) {
std::ofstream file(filename);
if (file.is_open()) {
for (const auto& award : awards) {
file << award.name << std::endl;
file << award.description << std::endl;
}
std::cout << "奖项信息已保存到文件!" << std::endl;
} else {
std::cout << "无法打开文件!" << std::endl;
}
file.close();
}
void Honor() {
std::vector<Award> awards;
std::string filename = "awards.txt";
std::ifstream file(filename);
if (file.is_open()) {
std::string line;
while (getline(file, line)) {
Award award;
award.name = line;
getline(file, line);
award.description = line;
awards.push_back(award);
}
file.close();
std::cout << "奖项信息已从文件加载!" << std::endl;
} else {
std::cout << "无法打开文件,将创建新的奖项列表!" << std::endl;
}
while (true) {
std::cout << "请选择操作:" << std::endl;
std::cout << "1. 查看奖项" << std::endl;
std::cout << "2. 添加奖项" << std::endl;
std::cout << "3. 删除奖项" << std::endl;
std::cout << "4. 保存奖项信息到文件" << std::endl;
std::cout << "5. 退出程序" << std::endl;
int choice;
std::cin >> choice;
std::cin.ignore(); // 忽略输入缓冲区中的换行符
switch (choice) {
case 1:
displayAwards(awards);
break;
case 2:
addAward(awards);
break;
case 3:
deleteAward(awards);
break;
case 4:
saveToFile(awards, filename);
break;
case 5:
break;
default:
std::cout << "无效的选择!" << std::endl;
break;
}
}
}
// 记录团员个人资料和推优记录函数
struct Member2 {
std::string name;
int age;
std::string position;
};
void saveMemberInfo(const Member2& member3) {
std::ofstream outputFile("members3.txt", std::ios::app);
if (outputFile.is_open()) {
outputFile << member3.name << " " << member3.age << " " << member3.position << std::endl;
outputFile.close();
std::cout << "团员信息已保存!" << std::endl;
} else {
std::cout << "无法打开文件!" << std::endl;
}
}
void readMemberInfo() {
std::ifstream inputFile("members3.txt");
if (inputFile.is_open()) {
std::string line;
while (getline(inputFile, line)) {
std::cout << line << std::endl;
}
inputFile.close();
} else {
std::cout << "无法打开文件!" << std::endl;
}
}
void Record(){
int choice;
Member2 member3;
do {
std::cout << "1. 保存团员信息" << std::endl;
std::cout << "2. 读取团员信息" << std::endl;
std::cout << "3. 退出" << std::endl;
std::cout << "请选择操作:";
std::cin >> choice;
switch (choice) {
case 1:
std::cout << "请输入团员姓名:";
std::cin >> member3.name;
std::cout << "请输入团员年龄:";
std::cin >> member3.age;
std::cout << "请输入团员职位:";
std::cin >> member3.position;
saveMemberInfo(member3);
break;
case 2:
readMemberInfo();
break;
case 3:
std::cout << "程序已退出。" << std::endl;
break;
default:
std::cout << "无效的选择,请重新输入。" << std::endl;
break;
}
} while (choice != 3);
}
//团支书模块
//外部函数加这里
int main()
{
string username, password;
do {
cout << endl;
cout << "*********************************************" << endl;
cout << "** *党员发展管理系统* **" << endl;
cout << "** 1、 学 生 **" << endl;
cout << "** 2、 团 支 部 **" << endl;
cout << "** 3、 党 支 部 **" << endl;
cout << "*********************************************" << endl;
cout << endl;
cout << "请选择要登陆的用户(选择数字1,2,3):";
cin >> username;
// 进行登录验证
if (username == "1") {
cout << "登录成功,欢迎学生用户!" << endl;
PartyMember member1("张三");
while (true) {
std::cout << "请选择功能:\n";
std::cout << "1入党申请\n";
std::cout << "2进行培训\n";
std::cout << "3转正申请\n";
std::cout << "4申请转接关系\n";
int choice1;
std::cin >> choice1;
switch (choice1) {
case 1:
member1.applyForTraining();
break;
case 2:
member1.attendTraining();
break;
case 3:
member1.applyForConfirmation();
break;
case 4:
std::cout << "申请提交成功,耐心等待相关人员进行转接手续";
break;
default:
std::cout << "输入错误,请重新选择\n";
break;
}
}
} else if (username == "2") {
cout << "登录成功,欢迎团支部用户!" << endl;
while (true) {
std::cout << "请选择功能:\n";
std::cout << "1 进行团员推优\n";
std::cout << "2 团员荣誉\n";
std::cout << "3 团员记录\n";
int choice2;
std::cin >> choice2;
switch (choice2) {
case 1:
tuiyou();
break;
case 2:
Honor();
break;
case 3:
Record();
break;
default:
std::cout << "*************输入错误,请重新选择*************\n";
break;
}
}
} else if (username == "3") {
cout << "登录成功,欢迎党支部用户!" << endl;
//主函数加这里
} else {
cout << "登录失败,请检查用户名是否正确。" << endl;
}
// 退出循环的条件是用户输入错误的用户名和密码
} while (username != "学生" && username != "团支部" && username != "党支部");
return 0;
}
```c++
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
struct Member4 {
std::string name;
double score2;
};
struct Member5 {
string name;
string id;
string date;
};
bool compareByScore(const Member4& A, const Member4& B) {
return A.score2 > B.score2;
}
//functiong4的函数
void addMember(vector<Member5>& members5) {
Member5 newMember;
cout << "请输入入党成员的姓名:";
cin >> newMember.name;
cout << "请输入入党成员的身份证号码:";
cin >> newMember.id;
cout << "请输入入党成员的入党日期:";
cin >> newMember.date;
members5.push_back(newMember);
}
void saveMembers(const vector<Member5>& members5, const string& filename) {
ofstream file(filename);
if (file.is_open()) {
for (const Member5& member5 : members5) {
file << member5.name << " " << member5.id << " " << member5.date << endl;
}
file.close();
cout << "成功保存入党成员信息!" << endl;
} else {
cout << "无法打开文件进行保存!" << endl;
}
}
void loadMembers(vector<Member5>& members5, const string& filename) {
ifstream file(filename);
if (file.is_open()) {
members5.clear();
string line;
file.close();
cout << "成功加载入党成员信息!" << endl;
} else {
cout << "无法打开文件进行加载!" << endl;
}
}
void printMembers(const vector<Member5>& members5) {
for (const Member5& member5 : members5) {
cout << "姓名:" << member5.name << endl;
cout << "身份证号码:" << member5.id << endl;
cout << "入党日期:" << member5.date << endl;
cout << "------------------------" << endl;
}
}
//functiong4的函数
void function1() {
int score3;
std::vector<Member4> members4;
// 输入审核人信息
int numMembers4;
std::cout << "请输入需要审核的人数:";
std::cin >> numMembers4;
for (int i = 0; i < numMembers4; i++) {
Member4 member4;
std::cout << "请输入审核推优团员的姓名:";
std::cin >> member4.name;
std::cout << "请输入审核推优团员的培训时间(以年为单位):";
std::cin >> member4.score2;
members4.push_back(member4);
}
std::sort(members4.begin(), members4.end(), compareByScore);
// 输出审核结果
std::cout << "审核结果:" << std::endl;
for (const auto& member4 : members4) {
std::cout << "姓名:" << member4.name << ",分数:" << member4.score2;
if (member4.score2 >=1) {
std::cout << "(审核通过,确认该推优成员资格有效)";
}else {
std::cout << "(该成员的培训时间不足一年,审核不成功)";}
std::cout << std::endl;
}
}
void function2() {
std::vector<Member4> members4;
// 输入成功审核了的人的信息
int numMembers4;
std::cout << "请输入需要确定入党积极分子的人数:";
std::cin >> numMembers4;
for (int i = 0; i < numMembers4; i++) {
Member4 member4;
std::cout << "请输入成员的姓名:";
std::cin >> member4.name;
std::cout << "请输入该成员的得票分数(100分为满分):";
std::cin >> member4.score2;
members4.push_back(member4);
}
std::sort(members4.begin(), members4.end(), compareByScore);
// 输出投票结果
std::cout << "投票结果:" << std::endl;
for (const auto& member4 : members4) {
std::cout << "姓名:" << member4.name << ",分数:" << member4.score2;
if (member4.score2 >= 50) {
std::cout << "(投票成功,该成员确定为入党积极分子)";
}else {
std::cout << "(得票未达半数,不能确定其成为入党积极分子)";}
std::cout << std::endl;
}
}
void function3(){
string answer;
std::vector<Member4> members4;
// 执行入党审核
int numMembers4;
std::cout << "请输入需要确定入党的人数:";
std::cin >> numMembers4;
for (int i = 0; i < numMembers4; i++) {
Member4 member4;
std::cout << "请输需审核批准成员的姓名:";
std::cin >> member4.name;
std::cout << "请输入该成员的信息:";
std::cout << "成为入党积极分子后是否经过一年以上的培养考察,并且成为了预备党员(yes/no):";
cin >> answer;
if(answer=="yes"){
std::cout << "该成员成为预备党员后是否间隔了一年并提出的转正申请(yes/no):";
cin >> answer;
if(answer=="yes"){
std::cout << "请输入该成员的得票分数(100分为满分):";
std::cin >> member4.score2;
}else{cout << "审核不通过\n"<<std::endl;}
}else{cout <<"审核不通过\n"<< std::endl;}
members4.push_back(member4);
}
std::sort(members4.begin(), members4.end(), compareByScore);
// 输出投票结果
std::cout << "投票结果:" << std::endl;
for (const auto& member4 : members4) {
std::cout << "姓名:" << member4.name << ",分数:" << member4.score2;
if (member4.score2 >= 50) {
std::cout << "(投票成功,该成员确定为党员)";
}else {
std::cout << "(得票未达半数或者审核未通过)";}
std::cout << std::endl;
}
}
void function4() {
vector<Member5> members5;
string filename = "members.txt";
loadMembers(members5, filename);
while (true) {
cout << "请选择操作:\n1. 添加入党成员\n2. 查看入党成员\n"<< endl;
int choice5;
cin >> choice5;
switch (choice5) {
case 1:
addMember(members5);
saveMembers(members5, filename);
break;
case 2:
printMembers(members5);
break;
default:
cout << "无效的选择!" << endl;
break;
}
}
}
int main() {
while (true) {
cout << "***************欢迎来到党支部界面***************" << endl << endl;
cout << "---------------请输入您的选择---------------" << endl;
cout << "| |" << endl;
cout << "| 1. 审核推优人员 |" << endl;
cout << "| |" << endl;
cout << "| 2. 召开会议确定入党积极分子 |" << endl;
cout << "| |" << endl;
cout << "| 3. 入党批准 |" << endl;
cout << "| |" << endl;
cout << "| 4. 记录成功入党成员 |" << endl;
cout << "| |" << endl;
cout << "----------------------------------------------" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
function1();
break;
case 2:
function2();
break;
case 3:
function3();
break;
case 4:
function4();
break;
default:
cout << "您输入的选择有误,请重新输入。" << endl;
// 执行重新输入的代码逻辑
break;
}
}
return 0;
}
如何将上面两个代码合并在一起,我想实现一个简单的党员发展管理程序,另外两个模块已经合并在一起了,该如何把最后一个党支部的代码合并在一块呢,下面的代码是党支部的代码,如何将下面的代码合并到上面的代码中去,实现功能合并?
