运动会分数统计 综合题1

 来,先核对一下题目是否一样再看:


一、运动会分数统计

问题描述

参加运动会的n个学校编号为1~n。比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。

基本要求

产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次(成绩)、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。

测试数据

对于n=4,m=3,w=2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。

实现提示

可以假设n<=20,m<=30,w<=20,姓名长度不超过20个字符。每个项目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并按名次顺序输入运动员姓名、校名(和成绩)。

选作内容

允许用户指定某项目采取其他名次取法。


界面 :

运动会分数统计 综合题1_第1张图片


代码/code:

如果一样 那么下面呢是老娘写的 ,没有按照他给的东西 因为当时没看见还给了一小段

 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
int man=0,woman=1,total=2;
using namespace std;
struct information{
    char name[21];
    int score=0;
    int rank=0;
  };
struct SPORT{
 information project[6];//max 5 people
 int prizes=0;
 int totalscore=0;//0for man 1for woman_score,3for school
};
SPORT school_project[21][51];
int iffirst=1;
int n,m,w;
int maxeven[6]={0,7,5,3,2,1};
int maxodd[4]={0,5,3,2};
void first();
void input();
void wait();
void search();
void all_schools();
void BEzer0();
int main()
{
  if(iffirst)first();

  char choice;
  while (1)
  { system("cls");
    cout << "\n\n\n\n";
    cout << "\t\t            运动会统计  \n";
    cout << "\t\t======================================";
    cout << "\n\n";
    cout << "\t\t             1:输入成绩     \n";
    cout << "\t\t             2:按校成绩查询        \n";
    cout << "\t\t             3:多校总成绩一览    \n";
    cout << "\t\t             4:清空数据        \n";
    cout << "\n";
    cout << "\t\t             0:退出        \n";
    cout << "\n";
    cout << "\t\t请选择:" << flush;

    choice = getch();
    system("cls");
      switch(choice)
      {
        case '1':
        input();
          break;
        case '2':
        search();
          break;
        case '3':
        all_schools();
          break;
        case '4':
        BEzer0();
        case '0':
          exit(0);
      }
    }
}

void first()
{
  m=n=w=0;
  cout<<"===========请先输入基本信息=============="<>n;
  cout<<"\n请输入参加男生项目数m:"<>m;
  cout<<"\n请输入参加女生项目数w:"<>w;
  iffirst=0;
}
void run(int in_NO,int in_project,int x)//school,project,score;
{
  if(in_project<=m)
  {
    school_project[in_NO][man].totalscore+=x;
  }
  else
  {
    school_project[in_NO][woman].totalscore+=x;
  }
  school_project[in_NO][total].totalscore+=x;
}

void input()
{
  int i,j;
  int in_school,in_project;
  cout<<"输入项目编号:"<w+m){printf("ERR:项目编号超出指定范围");wait();return;}
    if(in_project%2)//0 for even
    {
      j=1;
      if(j>5){printf("ERR:获奖运动员数目超出指定范围");wait();return;}
      for(i=1;i<=5;i++)
      {
        cout<<"输入第"<n){printf("ERR:学校编号超出指定范围");wait();return;}
        school_project[in_school][in_project].project[j].rank=i;//
        school_project[in_school][in_project].project[j].score=maxeven[i];
        run(in_school,in_project,maxeven[i]);
        scanf("%s", &school_project[in_school][in_project].project[j].name);
        school_project[in_school][in_project].prizes++;
        j++;
      }
    }
    else
    {
      j=1;
      if(j>3){printf("ERR:获奖运动员数目超出指定范围");wait();return;}
      for(i=1;i<=3;i++)
      {
        cout<<"输入名次是"<n){printf("ERR:学校编号超出指定范围");wait();return;}
        school_project[in_school][in_project].project[j].rank=i;
        school_project[in_school][in_project].project[j].score=maxodd[i];
        run(in_school,in_project,maxodd[i]);
        scanf("%s",&school_project[in_school][in_project].project[j].name);
        school_project[in_school][in_project].prizes++;
        j++;
      }
    }
    cout<<"=================这个项目输入已经完成"<>in_NO;
          if(in_NO>n){printf("ERR:学校编号超出指定范围");wait();return;}
  int in_project;
  cout<<"\n这是相关的信息:"<名次:" <名次:" <

 


Thank you for reading my essay.

你可能感兴趣的:(运动会分数统计 综合题1)