星渔 2023-06-29 17:51 采纳率: 50%
浏览 71
已结题

如何将两个完整的代码的功能合并在一起


#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;
}

如何将上面两个代码合并在一起,我想实现一个简单的党员发展管理程序,另外两个模块已经合并在一起了,该如何把最后一个党支部的代码合并在一块呢,下面的代码是党支部的代码,如何将下面的代码合并到上面的代码中去,实现功能合并?

  • 写回答

4条回答 默认 最新

  • Minuw 2023-06-29 17:57
    关注

    img

    
    
    #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);
    }
    //团支书模块 
    
    
    //外部函数加这里 
    
    
    struct Member4 {
        std::string name;
        double score2;
    };
    
    struct Member5 {
        string name;
        string id;
        string date;
    };
    
    bool compareByScore1(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(), compareByScore1);
    
    
        // 输出审核结果
        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(), compareByScore1);
    
    
        // 输出投票结果
        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(), compareByScore1);
    
        // 输出投票结果
        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;
            }
        }
    
    }
    
    
    void PartyBranch()
    {
        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;
            }
        }
    }
    
    
    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;
                PartyBranch();
                //主函数加这里 
            }
            else {
                cout << "登录失败,请检查用户名是否正确。" << endl;
            }
    
            // 退出循环的条件是用户输入错误的用户名和密码  
        } while (username != "学生" && username != "团支部" && username != "党支部");
    
        return 0;
    }
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 7月7日
  • 已采纳回答 6月29日
  • 创建了问题 6月29日