各参赛队的基本信息管理

#include <iostream>
#include <string>
#include <vector>

// 参赛队的基本信息
struct Team {
    int teamID;                 // 参赛队编号
    std::string projectName;    // 参赛作品名称
    std::string school;         // 参赛学校
    std::string category;       // 赛事类别
    std::vector<std::string> participants;    // 参赛者
    std::string guideTeacher;   // 指导老师
};

// 赛事管理系统
class ContestManagementSystem {
private:
    std::vector<Team> teams;     // 存储所有参赛队的容器

public:
    // 添加参赛队伍信息
    void addTeam(const Team& team) {
        teams.push_back(team);
    }

    // 删除参赛队伍信息
    void deleteTeam(int teamID) {
        for (auto it = teams.begin(); it != teams.end(); ++it) {
            if (it->teamID == teamID) {
                teams.erase(it);
                break;
            }
        }
    }

    // 修改参赛队伍信息
    void modifyTeam(int teamID, const Team& newTeam) {
        for (auto& team : teams) {
            if (team.teamID == teamID) {
                team = newTeam;
                break;
            }
        }
    }

    // 获取参赛队伍数量
    int getTeamCount() const {
        return teams.size();
    }

    // 根据参赛队编号获取参赛队信息
    Team getTeamByID(int teamID) const {
        for (const auto& team : teams) {
            if (team.teamID == teamID) {
                return team;
            }
        }
        // 如果找不到对应编号的参赛队,返回一个空的Team结构
        return Team();
    }
};

int main() {
    ContestManagementSystem cms;

    // 添加参赛队伍示例
    Team team1;
    team1.teamID = 1;
    team1.projectName = "作品1";
    team1.school = "学校1";
    team1.category = "类别1";
    team1.participants = {"参赛者1", "参赛者2"};
    team1.guideTeacher = "指导老师1";
    cms.addTeam(team1);

    Team team2;
    team2.teamID = 2;
    team2.projectName = "作品2";
    team2.school = "学校2";
    team2.category = "类别2";
    team2.participants = {"参赛者3", "参赛者4"};
    team2.guideTeacher = "指导老师2";
    cms.addTeam(team2);

    // 输出参赛队伍数量
    std::cout << "参赛队伍数量: " << cms.getTeamCount() << std::endl;

    // 根据参赛队编号获取参赛队信息示例
    int searchTeamID = 2;
    Team searchTeam = cms.getTeamByID(searchTeamID);
    if (searchTeam.teamID != 0) {
        std::cout << "参赛队编号: " << searchTeam.teamID << std::endl;
        std::cout << "作品名称: " << searchTeam.projectName << std::endl;
        std::cout << "参赛学校: " << searchTeam.school << std::endl;
        std::cout << "赛事类别: " << searchTeam.category << std::endl;
        std::cout << "参赛者: ";
        for (const auto& participant : searchTeam.participants) {
            std::cout << participant << " ";
        }
        std::cout << std::endl;
        std::cout << "指导老师: " << searchTeam.guideTeacher << std::endl;
    } else {
        std::cout << "找不到该参赛队伍" << std::endl;
    }

    return 0;
}

这个代码展示了如何创建一个赛事管理系统,并实现了添加、删除、修改参赛队伍的功能。

#include <iostream>
#include <string>
#include <vector>

// 参赛队的基本信息
struct Team {
    int teamID;                 // 参赛队编号
    std::string projectName;    // 参赛作品名称
    std::string school;         // 参赛学校
    std::string category;       // 赛事类别
    std::vector<std::string> participants;    // 参赛者
    std::string guideTeacher;   // 指导老师
};

// 赛事管理系统
class ContestManagementSystem {
private:
    std::vector<Team> teams;     // 存储所有参赛队的容器

public:
    // 添加参赛队伍信息
    void addTeam(const Team& team) {
        teams.push_back(team);
    }

    // 删除参赛队伍信息
    void deleteTeam(int teamID) {
        for (auto it = teams.begin(); it != teams.end(); ++it) {
            if (it->teamID == teamID) {
                teams.erase(it);
                break;
            }
        }
    }

    // 修改参赛队伍信息
    void modifyTeam(int teamID, const Team& newTeam) {
        for (auto& team : teams) {
            if (team.teamID == teamID) {
                team = newTeam;
                break;
            }
        }
    }

    // 获取参赛队伍数量
    int getTeamCount() const {
        return teams.size();
    }

    // 根据参赛队编号获取参赛队信息
    Team getTeamByID(int teamID) const {
        for (const auto& team : teams) {
            if (team.teamID == teamID) {
                return team;
            }
        }
        // 如果找不到对应编号的参赛队,返回一个空的Team结构
        return Team();
    }

    // 显示所有参赛队伍信息
    void displayAllTeams() const {
        for (const auto& team : teams) {
            displayTeam(team);
        }
    }

    // 显示参赛队伍信息
    void displayTeam(const Team& team) const {
        std::cout << "参赛队编号: " << team.teamID << std::endl;
        std::cout << "作品名称: " << team.projectName << std::endl;
        std::cout << "参赛学校: " << team.school << std::endl;
        std::cout << "赛事类别: " << team.category << std::endl;
        std::cout << "参赛者: ";
        for (const auto& participant : team.participants) {
            std::cout << participant << " ";
        }
        std::cout << std::endl;
        std::cout << "指导老师: " << team.guideTeacher << std::endl;
        std::cout << std::endl;
    }
};

int main() {
    ContestManagementSystem cms;

    // 添加参赛队伍示例
    Team team1;
    team1.teamID = 1;
    team1.projectName = "作品1";
    team1.school = "学校1";
    team1.category = "类别1";
    team1.participants = {"参赛者1", "参赛者2"};
    team1.guideTeacher = "指导老师1";
    cms.addTeam(team1);

    Team team2;
    team2.teamID = 2;
    team2.projectName = "作品2";
    team2.school = "学校2";
    team2.category = "类别2";
    team2.participants = {"参赛者3", "参赛者4"};
    team2.guideTeacher = "指导老师2";
    cms.addTeam(team2);

    // 输出参赛队伍数量
    std::cout << "参赛队伍数量: " << cms.getTeamCount() << std::endl;

    // 根据参赛队编号获取参赛队信息示例
    int searchTeamID = 2;
    Team searchTeam = cms.getTeamByID(searchTeamID);
    if (searchTeam.teamID != 0) {
        cms.displayTeam(searchTeam);
    } else {
        std::cout << "找不到该参赛队伍" << std::endl;
    }

    // 显示所有参赛队伍信息
    std::cout << "所有参赛队伍信息:" << std::endl;
    cms.displayAllTeams();

    // 修改参赛队伍信息示例
    int modifyTeamID = 1;
    Team newTeam;
    newTeam.teamID = modifyTeamID;
    newTeam.projectName = "新作品";
    newTeam.school = "新学校";
    newTeam.category = "新类别";
    newTeam.participants = {"新参赛者1", "新参赛者2"};
    newTeam.guideTeacher = "新指导老师";
    cms.modifyTeam(modifyTeamID, newTeam);

    // 删除参赛队伍示例
    int deleteTeamID = 2;
    cms.deleteTeam(deleteTeamID);

    // 显示修改和删除后的参赛队伍信息
    std::cout << "修改和删除后的参赛队伍信息:" << std::endl;
    cms.displayAllTeams();

    return 0;
}

在上面的代码中,新增了以下功能:

  1. displayAllTeams():用于显示所有参赛队伍的信息。
  2. displayTeam(const Team& team):用于显示单个参赛队伍的信息。
  3. modifyTeam(int teamID, const Team& newTeam):用于修改指定参赛队伍的信息。
  4. deleteTeam(int teamID):用于删除指定参赛队伍的信息。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

噔噔噔噔#

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值