资源简介
运动会比赛计分系统
要求:初始化输入: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
- 上一篇:Windows课程设计报告与源码
- 下一篇:C语言编写班费管理系统
评论
共有 条评论