c++代码实现学校运动会管理系统
#include <iostream>
#include <cstdio>
#include <string>
#include <windows.h>
#include <set>
#include <map>
using namespace std;
const int MAXN = 100005;
typedef long long LL;
map< pair<string, string>, int> mtable;//男生参赛成绩
map< pair<string, string>, int> wtable;//女生参赛成绩
multimap<string, string> parti;//学号对应参赛项目
set <string> st;//有哪些学生学号
map<string, int> mitem;//参加该项目的女学生数
map<string, int> witem;//参加该项目的男学生数
map<string, int> item;//项目数参加人数
map<string, int> acad;//学院的总得分
map<string, int> macad;//学院男生得分
map<string, int> wacad;//学院女生得分
int cnt;
struct student
{
string number;
string name;
string acad;
string sex;
int participate;
} stu[MAXN];
void menu()
{
cout<<"**************系统菜单功能项*****************\n";
cout<<"1.运动会报名\n";
cout<<"2.参赛信息查询\n";
cout<<"3.竞赛检录\n";
cout<<"4.竞赛成绩录入\n";
cout<<"5.竞赛成绩查询\n";
cout<<"6.竞赛成绩排序\n";
cout<<"7.退出程序\n";
return ;
}
void apply()//报名
{
system("cls");
string s1,s2,s3,s4,s5;
cout<<"请输入学生信息\n";
cout<<"请分别输入学生所属学院名,学生姓名,学生学号, 学生性别,学生参加的项目名\n";
cin>>s1>>s2>>s3>>s4>>s5;
if(st.find(s3)==st.end())
{
stu[cnt].acad=s1;
stu[cnt].name=s2;
stu[cnt].number=s3;
stu[cnt].sex=s4;
stu[cnt++].participate++;
st.insert(s3);
}
else
{
for(int i=0; i<cnt; ++i)
{
if(s3==stu[i].number)
{
if(stu[i].participate+1<=3)
stu[i].participate++;
else
{
printf("此学生已经报满3项,无法继续填报\n");
return ;
}
}
}
}
parti.insert(make_pair(s3,s5));
acad.insert(make_pair(s1,0));
item[s5]++;
if(s4=="男")
{
mitem[s5]=mitem[s5]+1;
macad.insert(make_pair(s1,0));
mtable[pair<string, string>(s3,s5)]=0;
}
else
{
witem[s5]=witem[s5]+1;
wacad.insert(make_pair(s1,0));
wtable[pair<string, string>(s3,s5)]=0;
}
return ;
}
void query()//查询
{
printf("信息查询的结果如下\n");
for(int i=0; i<cnt; ++i)
{
cout<<"学生学号"<<stu[i].number<<" "<<"学生姓名"<<stu[i].name<<" "<<"学生性别"<<stu[i].sex<<" "<<"学生所属院系"<<stu[i].acad<<" "<<"学生参加项目数"<<stu[i].participate<<endl;;
cout<<"同学姓名:"<<" "<<stu[i].name<<" "<<"参加了以下项目\n";
multimap<string,string>::iterator it=parti.begin();
for(; it!=parti.end(); it++)
{
if(it->first==stu[i].number)
{
cout<<it->second<<" ";
}
}
cout<<"\n";
}
return ;
}
void registration()//检录
{
system("cls");
cout<<"请输入即将检录的比赛项目名字"<<endl;
string s;
cin>>s;
cout<<"请一下同学前来检录"<<"\n";
int flag=0;
multimap<string, string>::iterator i