• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-26
  • 语言: C/C++
  • 标签:

资源简介

要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数 各项目名次取法有如下几种: 取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5, 二名得分3,第三名得分2; 功能要求: (1)系统以菜单方式工作 (2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。 (3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩 (4)查看参赛学校信息和比赛项目信息等。

资源截图

代码片段和文件信息

#include
#include
#include 
#include 
#include 
#define n 2//学校数目  
#define m 1//男子项目数目 
#define w 1//女子项目数目
#define null 0
struct itemnode{ 
int itemnum; //项目编号
    int top;    //取名次的数目
    int range[5]; //名次
    int mark[5];  //分数
    char name[8];
};   //定义项目结点的类型
struct headnode{
int schoolnum;   //学校编号
    int score;     //学校总分
    int mscore;   //男团体总分
    int wscore;   //女团体总分
    itemnode c[m+w];   //项目数组
};//定义头结点类型
headnode h[n];//定义一个头结点数组
void inputinformation()  //输入信息,建立系统
{  
int ijks;
char ch;                                     
    for(i=0;i    {   
h[i].score=0;
        h[i].mscore=0;
        h[i].wscore=0;    //初始化头结点
printf(“====参赛学校编号:“);
        scanf(“%d“&h[i].schoolnum);               //输入头结点信息
        for(j=0;j {  
printf(“    参赛项目编号:“);
            scanf(“%d“&h[i].c[j].itemnum);
    printf(“    取前3名or前5名:“);
            scanf(“%d“&h[i].c[j].top);
            printf(“    所取名次数量:“);
            scanf(“%d“&k);                      //输入项目信息
            for(s=0;s {   
                h[i].c[j].range[s]=0;
h[i].c[j].mark[s]=0; //初始化排名和分数
printf(“    所获得的名次:“);
                scanf(“%d“&h[i].c[j].range[s]);   //输入所获名次信息
                printf(“    该运动员姓名:“);
getchar(ch);
gets(h[i].c[j].name);
                if(h[i].c[j].top==3)
                switch(h[i].c[j].range[s])
                { 
                   case 0: h[i].c[j].mark[s]=0; break;
                   case 1: h[i].c[j].mark[s]=5; break;
                   case 2: h[i].c[j].mark[s]=3; break;
                   case 3: h[i].c[j].mark[s]=2; break;
                }
                else
                switch(h[i].c[j].range[s])

                  case 0: h[i].c[j].mark[s]=0; break;
                  case 1: h[i].c[j].mark[s]=7; break;
                  case 2: h[i].c[j].mark[s]=5; break;
                  case 3: h[i].c[j].mark[s]=3; break;
                  case 4: h[i].c[j].mark[s]=2; break;
                  case 5: h[i].c[j].mark[s]=1; break;
                 }
                 h[i].score=h[i].score+h[i].c[j].mark[s]; //按取前三名还是取前五名分别记分
                 if(j<=m-1)
                     h[i].mscore=h[i].mscore+h[i].c[j].mark[s];//是男子项目(取前三名)则记到男子分数里面去
                 else
                     h[i].wscore=h[i].wscore+h[i].c[j].mark[s];//是女子项目(取前五名)则记到女子项目里面去
}
    printf(“\n“);
        }
    }
 printf(“\n“);
}

void output()     //输出函数
{  
int choiceijk;
int remember[n];
int sign;
    do
{  
printf(“*******************1.按参赛学校编号输出.*******************\n“);
        printf(“*******************2.按参赛学校总分输出.*******************\n“);
    printf(“\n*********************** 请选择编号*************************\n:“);
         scanf(“%d“&choice);
        switch(choice)
        {  
case 1:
for(i=0;i     {  
printf(“\n\n*****学校编号:%d“h[i].s

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8170  2010-06-03 09:30  运动会比赛计分系统\运动会比赛计分系统.cpp

     目录          0  2010-11-09 20:58  运动会比赛计分系统

----------- ---------  ---------- -----  ----

                 8170                    2


评论

共有 条评论