• 大小: 9KB
    文件类型: .cpp
    金币: 1
    下载: 0 次
    发布日期: 2021-06-10
  • 语言: C/C++
  • 标签:

资源简介

运动会比赛计分系统 要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数 各项目名次取法有如下几种: 取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1; 取前3名:第一名得分5,第二名得分3,第三名得分2; 功能要求: (1)系统以菜单方式工作 (2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。 (3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩 (4)查看参赛学校信息和比赛项目信息等。 (要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)

资源截图

代码片段和文件信息

/*
21. 运动会比赛计分系统
要求:初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数
各项目名次取法有如下几种:
取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;
取前3名:第一名得分5,第二名得分3,第三名得分2;
功能要求:
(1)系统以菜单方式工作
(2)由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。
(3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩
(4)查看参赛学校信息和比赛项目信息等。
(要求:1.源文件采用多文件的工程结构2.数据存储采用文件形式3.标准的C输入输出4.功能完善,适当的注释,5.关于文件的内容需要自学)
*/
#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]; //分数
int ncnum[10];
    char name[8];
}; //定义项目结点的类型
struct headnode{
int schoolnum; //学校编号
    int score; //学校总分
    int mscore; //男团体总分
    int wscore; //女团体总分
    itemnode c[m+w]; //项目数组
}; //定义头结点类型
headnode h[n]; //定义一个头结点数组
void inputinformation()  //输入信息,建立系统
{  
int ijksu;
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);
// scanf(“%d“&h[i].c[j].ncnum[u]);//输入项目信息
// u++;
            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“);
        }
    }
for(i=0;i {
printf(“\n\n*****学校编号:%d“h[i].schoolnum);
for(j=0;j {
printf

评论

共有 条评论