数据结构---运动会统计分析
1、 运动会分数统计
任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20)
功能要求:1).可以输入各个项目的前三名或前五名的成绩;
2).能统计各学校总分,
3).可以按学校编号、学校总分、男女团体总分排序输出;
4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)
输出形式:有中文提示,各学校分数为整形
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;
测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
#define NULL 0
#include <string.h>
int schoolCount=0;
int boyCount=0;
int girlCount=0;
int xm_Count=0;
int studentCount=0;
typedef struct Student
{ int item;
int count;
int serial;
char name[20];
int score;
int range;
int sex;
int menscore;
int womenscore;
int totalscore;
int jifen;
};
typedef struct alexa
{ int serial;
int menscore;
int womenscore;
int totalscore;
};
struct alexa P[10];
struct Student Stu[10];
void main()
{ printf("------------------------------------------------------------nn");
printf("--------------welcome to my School games system-------------nn");
printf("------------------------------------------------------------n");
SetArgs();
SetXmInfor();
AddStudent();
Tj_FX();
OutPut_Link();
choose();
getch();
}
int SetArgs()
{ int i;
loop_1:
printf("please import the number of School(n>=2)nn=");
scanf("%d",&schoolCount);
if(schoolCount<2)
{printf("nERRORn"); goto loop_1;}
loop_2:
printf("nplease import the number of man xm(n<=20)nm=");
scanf("%d",&boyCount);
if(boyCount<0 || boyCount>20)
{printf("nERRORn");goto loop_2;}
loop_3:
printf("nplease import the number of woman xm(n<=20)nw=");
scanf("%d",&girlCount);
if(girlCount<0 || girlCount>20)
{printf("nERRORn");goto loop_3;}
xm_Count=boyCount+girlCount;
studentCount=xm_Count*3;
}
int SetXmInfor()
{
int i;
for(i=0;i<=boyCount-1;i++){
Stu[i+1].item=i;
}
for(i=0;i<=girlCount-1;i++){
Stu[boyCount+i].item=i;
}
for(i=0;i<=schoolCount-1;i++)
P[i].serial=i+1;
}
int AddStudent(){
int i;
int School_ID;
char Student_name[20];
int sex;
int XM_ID;
int score;
int range;
for(i=0;i<=studentCount-1;i++){
printf("add winnersnplease import School ID.ID=");
scanf("%d",&School_ID);
printf("please import student,s. Name=");
scanf("%s",&Student_name);
printf("please choose student's set[0=w 1=m]. sex=");
scanf("%d",&sex);
if(sex==0)
printf("nplease import xm ID(girlCoun). ID=");
if(sex==1)
printf("nplease import xm ID(boyCoun). ID=");
scanf("%d",&XM_ID);
printf("nplease import the xm score. score=");
scanf("%d",&score);
printf("nplease import defen range. range=");
scanf("%d",&range);
Stu[i].serial=School_ID;
strcpy(Stu[i].name,Student_name);
Stu[i].item=XM_ID ;
Stu[i].range=range;
Stu[i].score=score;
Stu[i].sex=sex;
}
}
int OutPut_Link(){
int i,j;
printf("n----------------------------------------------------------n");
printf("sch-ID athlete'name sex xm score rangen");
for(i=0;i<=studentCount-1;i++){
printf("%-7d%-13s%-4d%-3d%-6d%-5dn",Stu[i].serial,Stu[i].name,Stu[i].sex,Stu[i].item,Stu[i].score,Stu[i].range);
} printf("----------------------------------------------------------n");
}
int Tj_FX()
{
int i,j;
for(i=0;i<=studentCount-1;i++){
for(j=0;j<=schoolCount-1;j++){
if(P[j].serial==Stu[i].serial)
{ P[j].totalscore=P[j].totalscore+Stu[i].score;
if(Stu[i].sex==0)P[j].womenscore=P[j].womenscore+Stu[i].score;
else P[j].menscore=P[j].menscore+Stu[i].score; } }}
}
int alexa_1()
{ int i,j,t,z;
for(i=0;i<=schoolCount-1;i++)
if(P[i].totalscore<P[i+1].totalscore)
{ t=P[i].totalscore;P[i].totalscore=P[i+1].totalscore;P[i+1].totalscore=t;
z=P[i].serial;P[i].serial=P[i+1].serial;P[i+1].serial=z;
}
printf("-----------------------------------------------------n");
printf("School ID zongjifenn");
printf("-----------------------------------------------------n");
for(i=0;i<=schoolCount-1;i++)
{ printf("%-14d%-9dn",P[i].serial,P[i].totalscore);
} }
int alexa_2()
{ int i,j,v,w;
for(i=0;i<=schoolCount-1;i++)
if(P[i].menscore<P[i+1].menscore)
{ v=P[i].menscore; Stu[i].menscore=P[i+1].menscore;P[i+1].menscore=v;
w=P[i].serial;P[i].serial=P[i+1].serial;P[i+1].serial=w;
}
printf("-----------------------------------------------------n");
printf("School ID m-zongfenn");
printf("-----------------------------------------------------n");
for(i=0;i<=schoolCount-1;i++)
{ printf("%-14d%-9dn",P[i].serial,P[i].menscore);
}
}
int alexa_3()
{ int i,j,o,g;
for(i=0;i<=schoolCount-1;i++)
if(P[i].womenscore<P[i+1].womenscore)
{ o=P[i].womenscore; P[i].womenscore=P[i+1].womenscore;P[i+1].womenscore=o;
g=P[i].serial;P[i].serial=P[i+1].serial;P[i+1].serial=g;
}
printf("-----------------------------------------------------n");
printf("School ID w-zongfenn");
printf("-----------------------------------------------------n");
for(i=0;i<=schoolCount-1;i++)
{ printf("%-14d%-9dn",P[i].serial,P[i].menscore);
}
}
int Find_School_Xm(){
int S_ID;
int i,j;
printf("naccording to school number to inquire itemn");
printf("school:");
scanf("%d",&S_ID);
printf("item name score rangen");
for(i=0;i<=studentCount-1;i++)
if(Stu[i].serial==S_ID)
printf("%-6d%-9s%-7d%-5dn",Stu[i].item,Stu[i].name,Stu[i].score,Stu[i].range);
printf("--------------------------------------------------n");
}
int Find_Xm_ID(){
int d;
int i,j;
printf("naccording to item to inquire winning school n");
printf("import xm item:");
scanf("%d",&d);
printf("xm:%dn",d);
for(i=0;i<=studentCount-1;i++)
{if(Stu[i].item==d)
printf("School:%d name:%s range:%dn",Stu[i].serial,Stu[i].name,Stu[i].range);
}
}
int quit()
{
printf("nn-----------------thank you-------------------------n");
}
int choose()
{ int ID;
Loop_5:
printf("n-----------MENU----------n");
printf("1.alexa n");
printf("2.xuexiaochaxunn");
printf("3.xiangmuchaxunn");
printf("4.fanhuin");
printf("-------------------------n");
scanf("%d",&ID);
if(ID==1){alexa_1();alexa_2();alexa_3();goto Loop_5;}
if(ID==2){Find_School_Xm();goto Loop_5; }
if(ID==3){Find_Xm_ID();goto Loop_5; }
if(ID==4) quit();
}
- 数据结构课设----运动会分数统计系统
- 数据结构课程设计运动会统计系统
- 数据结构课程设计———运动会分数统计
- 通用数据采集与统计分析管理系统,随数据库结构的调整而自动调整
- CDA数据分析师 - 《从零进阶!数据分析的统计基础》思维结构简图
- R语言为Hadoop集群数据统计分析带来革命性变化
- 网站数据统计分析相关入门
- 3款移动应用数据统计分析平台对比
- [Java数据结构]从源码分析HashMap
- 统计分析基础 (一) 数据统计与图表
- 大数据统计分析公司介绍-决策树
- 学成在线项目数据库表结构分析
- 数据分析中的统计误差
- Excel在统计分析中的应用—第三章—数据库统计函数与数据透视表-Part1-(数据查询与筛选、分类汇总)
- Mob统计分析数据模型理解
- 编程基础:深入分析Java中的数据结构
- [Step By Step]SAP HANA中使用Excel展示分析视图数据(带层次结构)
- web统计数据搜集及分析原理
- 漫谈redis在运维数据分析中的去重统计方式
- (六篇长图带你数据特征分析入门)数据分析入门_PART4统计基础_CH04帕累托分析