运动会分数统计程序代码
更新时间:2023-09-06 18:33:01 阅读量: 教育文库 文档下载
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
#include <stdlib.h>
#include <string.H>
#include <IO.H>
#include <conio.h> /*屏幕操作函数*/
#include<stdio.h>
#define MAX 50
#define NULL 0
typedef struct node1{
int school; /*学校编号*/
int record; /*项目成绩*/
struct node1 *next; /*链域*/
}Schools;
typedef struct {
int item; /*项目编号*/
Schools *firstschool; /*链域指向链表中第一个结点*/
}ITEM;
typedef struct {
int z; /* 项目总数 */
ITEM a[MAX];
}ALLitems;
typedef struct node2 {
int item; /*该学校获奖的项目*/
int record; /*项目成绩*/
struct node2 *next; /*链域*/
}Items;
typedef struct {
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
int school; /*学校编号*/
int score; /*学校总分*/
int boys; /*男团体总分*/
int girls; /*女团体总分*/
Items *firstitem; /*链域指向链表中第一个获奖项目的结点*/
}SCHNode;
typedef struct {
int n; /* 学校总数 */
SCHNode b[MAX];
}ALLNode;
ALLitems *g1;
ALLNode *g2;
void funct1(ALLitems *g1,ALLNode *g2) /* 输入各个项目成绩 */ { Schools *p1;
Items *p2;
int i,j,k,m,w,h,x,t;
printf("\n*** Enter all project information ***\n\n");
printf("Enter the total number of men's m:");
scanf("%d",&m);
if(m<0||m>20)
{ printf("Entry error, m is an integer less than 20, please re-enter the:");
scanf("%d",&m);
}
printf("Enter the total number of women's events w:");
scanf("%d",&w);
if(w<0||w>20)
{ printf("Entry error, w is an integer less than 20, please re-enter the:");
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
}
printf("Enter total number of schools participate in the Games n:");
scanf("%d",&g2->n);
if(g2->n<0||g2->n>20)
{ printf("Entry error, n is an integer less than 20, please re-enter the :");
scanf("%d",&g2->n);
}
t=m+w;
g1->z=t;
printf("Then the item number for the men's 1 -% d, women% d-% d",m,m+1,g1->z); printf("\n\n**Record Games Results ** \ n (enter 0 marks the end of)");
for(k=1;k<=g1->z;k++) /* 对两个邻接表置初态 */
{ g1->a[k].item=k;
g1->a[k].firstschool=NULL;
}
for(k=1;k<=g2->n;k++)
{ g2->b[k].school=k;
g2->b[k].firstitem=NULL;
g2->b[k].score=g2->b[k].boys=g2->b[k].girls=0;
}
g2->b[0].score=g2->b[0].boys=g2->b[0].girls=0;
i=1;
while(i)
{ printf("\nItem:");
scanf("%d",&i);
if(i!=0)
{ printf("1.Top three 2.Top five\n");
printf("Select:");
scanf("%d",&j);
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
{ printf("Entry error, please re-select:");
scanf("%d",&j);
}
if(j==1) /* 该项目只有前三名时执行此语句 */
{ h=3;
do{ printf("No.% d Name: School (school number is number)",h);
scanf("%d",&x);
p1=(Schools *)malloc(sizeof(Schools));
p1->school=x;
p2=(Items *)malloc(sizeof(Items));
p2->item=i;
if(h==3) p2->record=p1->record=2;
if(h==2) p2->record=p1->record=3;
if(h==1) p2->record=p1->record=5;
p1->next=g1->a[i].firstschool;
g1->a[i].firstschool=p1;
p2->next=g2->b[x].firstitem;
g2->b[x].firstitem=p2;
g2->b[x].score=g2->b[x].score+p2->record; /* 累计总分 */
if(i<=m) g2->b[x].boys=g2->b[x].boys+p2->record;/* 累计男团体总分*/ else g2->b[x].girls=g2->b[x].girls+p2->record; /* 累计女团体总分*/ h--;
}while(x!=0&&h!=0);
}
if(j==2) /* 该项目有前五名时执行此语句 */
{ h=5;
do{ printf("No.% d Name: School (school number is number)",h);
scanf("%d",&x);
p1=(Schools *)malloc(sizeof(Schools));
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
p1->school=x;
p2=(Items *)malloc(sizeof(Items));
p2->item=i;
if(h==5) p2->record=p1->record=1;
if(h==4) p2->record=p1->record=2;
if(h==3) p2->record=p1->record=3;
if(h==2) p2->record=p1->record=5;
if(h==1) p2->record=p1->record=7;
p1->next=g1->a[i].firstschool;
g1->a[i].firstschool=p1;
p2->next=g2->b[x].firstitem;
g2->b[x].firstitem=p2;
g2->b[x].score=g2->b[x].score+p2->record; /* 累计总分 */
if(i<=m) g2->b[x].boys=g2->b[x].boys+p2->record; /* 累计男团体总分 */ else g2->b[x].girls=g2->b[x].girls+p2->record; /* 累计女团体总分 */ h--;
}while(x!=0&&h!=0);
}
}
}
}
void save() /* 存储数据文件 */
{ FILE *fp1,*fp2;
if((fp1=fopen("sports1","wb"))==NULL)
{ printf("cannot open file.\n");
return;
}
if(fwrite(g1,sizeof(ALLitems),1,fp1)!=1)
printf("file write error.\n");
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
fclose(fp1);
if((fp2=fopen("sports2","wb"))==NULL)
{ printf("cannot open file.\n");
return;
}
if(fwrite(g2,sizeof(ALLNode),1,fp2)!=1)
printf("file write error.\n");
fclose(fp2);
}
void funct2(ALLNode *g2)
{ int k;
printf("\n\n*** Total output of all schools ***\n");
printf("School No. \ t Total\n");
for(k=1;k<=g2->n;k++)
printf("%d\t\t %d\n",k,g2->b[k].score);
printf("\n");
printf("Press any key to return to the main menu......");
getch();
}
void funct3(ALLNode *g2)
{ int k;
Items *p2;
printf("\n\n*** Sort the output by the school number ***\n");
printf("School Number \t\t\t Awards \n");
for(k=1;k<=g2->n;k++)
{ printf("%d\t",k);
p2=g2->b[k].firstitem;
while(p2!=NULL) /* 输出各学校总分 */ /* 按学校编号排序输出 */
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
{ printf("Item% d: was% d points",p2->item,p2->record);
p2=p2->next;
}
printf("\n");
}
printf("\n");
printf("Press any key to return to the main menu......");
getch();
}
void funct4(ALLNode *g2)
{ int i,j,k;
printf("\n\n*** Total sorted out by the school ***\n");
printf("School No. \t Total \n");
for(i=2;i<=g2->n;i++)
{ g2->b[0].score=g2->b[i].score;
g2->b[0].boys=g2->b[i].boys;
g2->b[0].girls=g2->b[i].girls;
g2->b[0].school=g2->b[i].school;
j=i-1;
while(g2->b[0].score<g2->b[j].score&&j>0)
{ g2->b[j+1].score=g2->b[j].score;
g2->b[j+1].boys=g2->b[j].boys;
g2->b[j+1].girls=g2->b[j].girls;
g2->b[j+1].school=g2->b[j].school;
j--;
}
g2->b[j+1].score=g2->b[0].score;
g2->b[j+1].boys=g2->b[0].boys;
g2->b[j+1].girls=g2->b[0].girls; /* 按学校总分排序输出 */
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
g2->b[j+1].school=g2->b[0].school;
}
for(k=1;k<=g2->n;k++)
printf("%d \t\t%d\n",g2->b[k].school,g2->b[k].score);
printf("Press any key to return to the main menu......");
getch();
}
void funct5(ALLNode *g2)
{ int i,j,k;
printf("\n*** Total sorted out by male groups ***\n");
printf("School No. \t male group Total \n");
for(i=2;i<=g2->n;i++)
{ g2->b[0].score=g2->b[i].score;
g2->b[0].boys=g2->b[i].boys;
g2->b[0].girls=g2->b[i].girls;
g2->b[0].school=g2->b[i].school;
j=i-1;
while(g2->b[0].boys<g2->b[j].boys&&j>0)
{ g2->b[j+1].score=g2->b[j].score;
g2->b[j+1].boys=g2->b[j].boys;
g2->b[j+1].girls=g2->b[j].girls;
g2->b[j+1].school=g2->b[j].school;
j--;
}
g2->b[j+1].score=g2->b[0].score;
g2->b[j+1].boys=g2->b[0].boys;
g2->b[j+1].girls=g2->b[0].girls;
g2->b[j+1].school=g2->b[0].school; /* 按男团体总分排序输出 */
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
}
for(k=1;k<=g2->n;k++)
printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].boys);
printf("Press any key to return to the main menu......");
getch();
}
void funct6(ALLNode *g2)
{ int i,j,k;
printf("\n*** Total sorted out by women groups ***\n");
printf("School No. \t Total female groups \n");
for(i=2;i<=g2->n;i++)
{ g2->b[0].score=g2->b[i].score;
g2->b[0].boys=g2->b[i].boys;
g2->b[0].girls=g2->b[i].girls;
g2->b[0].school=g2->b[i].school;
j=i-1;
while(g2->b[0].girls<g2->b[j].girls&&j>0)
{ g2->b[j+1].score=g2->b[j].score;
g2->b[j+1].boys=g2->b[j].boys;
g2->b[j+1].girls=g2->b[j].girls;
g2->b[j+1].school=g2->b[j].school;
j--;
}
g2->b[j+1].score=g2->b[0].score;
g2->b[j+1].boys=g2->b[0].boys;
g2->b[j+1].girls=g2->b[0].girls;
g2->b[j+1].school=g2->b[0].school;
}
for(k=1;k<=g2->n;k++) /* 按女团体总分排序输出 */
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
printf("%d\t\t %d\n",g2->b[k].school,g2->b[k].girls);
printf("Press any key to return to the main menu......");
getch();
}
void funct7(ALLNode *g2) /* 按学校编号查询学校某个项目情况 */ { int i,j;
Items *p2;
printf("\n *** Search Schools by School Number of an item ***\n");
printf("Enter a query School Number:");
scanf("%d",&i);
printf("Enter a query item number:");
scanf("%d",&j);
p2=g2->b[i].firstitem;
while(p2!=NULL)
{ if(p2->item==j)
printf("School Number:% d \t item% d: was% d points\n",i,p2->item,p2->record); p2=p2->next;
}
printf("\n");
printf("Press any key to return to the main menu......");
getch();
}
void funct8(ALLitems *g1) /* 按项目编号查询取得名次的学校 */ { int i,k;
Schools *p1;
printf("\n*** Search by item number to obtain ranking of schools***\n");
printf("Enter a query item number:");
scanf("%d",&i);
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
printf("Item Number \t\t\t get the school ranking\n");
printf("%d\t",i);
p1=g1->a[i].firstschool;
while(p1!=NULL)
{ printf("school%d: Score %d ",p1->school,p1->record);
p1=p1->next;
}
printf("\n\n");
printf("Press any key to return to the main menu......");
getch();
}
main()
{
ALLitems *g1;
ALLNode *g2;
int t;
for(;;)
{ printf("\t \n"); printf("\t Games Score Statistics \n"); printf("\t \n"); printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("\t* 1.Enter all project achievements and store files *\n"); printf("\t* 2.Statistics of schools Total *\n"); printf("\t* 3.Sort the output by the school number *\n"); printf("\t* 4.Total sorted out by the school *\n"); printf("\t* 5.Total sorted out by male groups *\n"); printf("\t* 6.Total sorted out by women groups *\n"); printf("\t* 7.Search Schools by School Number of an item *\n"); printf("\t* 8.Search by item number to obtain ran king of schools *\n");
做课程设计绝对有用哦,自己改过的,能通过。设计一个运动会统分程序,参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)。可以输入各个项目的前三名或前五名的成绩,能统计各学校总分,可以按学校
printf("\t* 0.Exit *\n"); printf("\t* * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\n");
printf("\t Select(0-8):");
loop:scanf("%d",&t);
switch(t)
{ case 1:funct1(g1,g2);save();break;
case 2:funct2(g2);break;
case 3:funct3(g2);break;
case 4:funct4(g2);break;
case 5:funct5(g2);break;
case 6:funct6(g2);break;
case 7:funct7(g2);break;
case 8:funct8(g1);break;
case 0:exit(0);
default:{ printf("Entry error, please re-select:");
goto loop;}
}
}
}
正在阅读:
运动会分数统计程序代码09-06
生态农场可行性分析报告07-23
第五空间经典语录03-05
全国百强校江苏省清江中学2016届高三考前冲刺模拟考试(二)地理05-15
形势政策宣传教育活动调研报告07-23
自动系统 2007 年报05-23
带传动+链传动练习题01-29
思南县2009年干部教育培训工作计划表04-14
2022-2023金属压力容器行业市场需求预测与投资战略规划研究报告(04-11
在共产党光辉的旗帜下03-15
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 运动会
- 分数
- 统计
- 代码
- 程序
- 第一部分 地球和地图
- 招行信用卡中心2013校园招聘大礼包_笔试面试经验汇总@大街网@应届生校园招聘 制作
- 高一物理单元测试 第五章 曲线运动 3(人教版必修2))
- 新闻稿件写作指导
- 试论选矿品位与回收率的相关度
- 初中班级管理存在问题与有效对策
- 深圳市生育保险医疗费用申请表
- 2019-2020学年度最新九年级物理全册14-2让电灯发光同步练习1新版沪科版
- 围棋弈城高手名录
- A two-scale model for the periodic homogenization of the wave equation
- 第8章 材料热分析
- 【恒心】2015届山西省朔州市怀仁县第一中学高三一轮复习摸底考试文综试题及参考答案
- 【广东外语艺术职业学院专业】广东外语艺术职业学院招生网站-广东外语艺术职业学院分数线
- 泡沫沥青混合料的特性
- 论述开发内化”是教育的真谛
- 2018年华侨大学专业英语+物理化学+分析化学;(方向3(有机化学))之物理化学复试仿真模拟三套题
- 26-35基本知识与技能健康教育讲座2011-4
- 04经济活动分析管理标准
- 2011演练应急预案
- 世界各国标准插头、电源线、电压、频率汇编