数据结构课程设计运动会分数统计Word格式文档下载.docx

上传人:b****1 文档编号:3892941 上传时间:2023-05-02 格式:DOCX 页数:12 大小:280.99KB
下载 相关 举报
数据结构课程设计运动会分数统计Word格式文档下载.docx_第1页
第1页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第2页
第2页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第3页
第3页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第4页
第4页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第5页
第5页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第6页
第6页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第7页
第7页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第8页
第8页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第9页
第9页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第10页
第10页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第11页
第11页 / 共12页
数据结构课程设计运动会分数统计Word格式文档下载.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

数据结构课程设计运动会分数统计Word格式文档下载.docx

《数据结构课程设计运动会分数统计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计运动会分数统计Word格式文档下载.docx(12页珍藏版)》请在冰点文库上搜索。

数据结构课程设计运动会分数统计Word格式文档下载.docx

一、概要

1题目:

2要求:

任务:

参加运动会有n个学校,学校编号为1……n。

竞赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。

不同的项目取前五名或前三名积分;

取前五名的积分别离为:

7、五、3、二、1,前三名的积分别离为:

五、3、2;

哪些取前五名或前三名由学生自己设定。

(m<

=20,n<

=20)

功能要求:

1)能够输入各个项目的前三名或前五名的成绩;

2)能统计各学校总分,

3)能够按学校编号或名称、学校总分、男女集体总分排序输出;

4)能够按学校编号查询学校某个项目的情形;

能够按项目编号查询取得前三或前五名的学校。

5)数据存入文件并能随时查询

6)规定:

输入数据形式和范围:

能够输入学校的名称,运动项目的名称

输出形式:

有中文提示,各学校分数为整形

界面要求:

有合理的提示,每一个功能能够设立菜单,依照提示,能够完成相关的功能要求。

存储结构:

学生自己依照系统功能要求自己设计,可是要求运动会的相关数据要存储在数据文件中。

(数据文件的数据读写方式等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:

要求利用一、全数合法数据;

二、整体非法数据;

3、局部非法数据。

进行程序测试,以保证程序的稳固。

测试数据及测试结果请在上交的资料中写明。

二、分析

1整体设计

参赛人数即为顺序表表长,在顺序表节点中有成绩,在成立学生信息时可直接输入成绩,输入学生信息时编码是自动加的,统计学校总分或男女项目总分时都用2个for循环来实现,统计出来的得分都可放入另一个顺序表中以便于排序,在查询时用户输入要查询的学校代号或项目代号即可查询,在成立信息时会挪用保留在文件的函数来实现学生信息的保留。

2数据结构的选择

运动会分数统计程序用到的是顺序表的数据类型,由于一开始参赛人数确实是确信下来的,参赛人数即为顺序表表长,故顺序表的表长也就确信下来了,顺序表的要紧内容有学校数、男子项目数、女子项目数、总的参赛人数。

节点要紧内容包括:

学生的姓名、学校代号、项目代号和学生的成绩。

顺序表类型如下:

typedefstruct{

uexiao==i&

&

L->

sc[j].xiangmu==n)ame,L->

sc[j].score);

}

按项目代号查取得成绩的学校是也是按编号查询,只要学校项目代号与输入要查的项目相同而且有成绩就输出。

函数如下:

voidsearch2(seqlist*L){iangmu==k&

sc[j].score!

=0)

printf("

学校代号%d在该项目姓名%s取得成绩%d\n"

L->

sc[j].xuexiao,L->

sc[j].name,L->

}

}

(2)统计

在统计学校总分和各学校男女项目总分时思路大致相同,在统计男(女)项目总分时只需确信下是不是是男(女)子项目,若是是就加,判定方式确实是男子项目的项目代号小于等于男子项目数(即:

sc[j].xiangmu)<

(L->

m))而女子项目那么大于男子项目数(即L->

sc[j].xiangmu)>

m))

统计各学校总分函数介绍如下:

voidtongfen(seqlist*L,list*s){uexiao==i){core;

}iaohao=i;

ey=sum;

和uexiao,&

sc[i].xiangmu,&

sc[i].name,&

sc[i].score);

}

savefile(L);

printf("

成立成功!

:

"

);

voidsearch1(seqlist*L){uexiao==i&

sc[j].xiangmu==n)

该学校在该项目姓名为%s取得成绩%d\n"

voidsearch2(seqlist*L){iangmu==k&

voidtongfen(seqlist*L,list*s){uexiao==i){

sum=sum+L->

sc[j].score;

s->

r[i].xiaohao=i;

s->

r[i].key=sum;

printf("

学校代号为%d的学校取得的总分为%d\n"

i,sum);

voidtongfenboy(seqlist*L,list*s){uexiao==i){

if((L->

m)||(L->

sc[j].xiangmu)==(L->

m)){

}

学校代号为%d在男子项目取得的总分为%d\n"

voidtongfengirl(seqlist*L,list*s){uexiao==i){

学校代号为%d在女子项目取得的总分为%d\n"

voidpaixu(seqlist*L,list*s){ey<

s->

r[j].key){iaohao,s->

r[k].key);

}

voidoutput(seqlist*L){

intj;

学校代号编号项目号姓名成绩:

\n"

for(j=1;

j<

=L->

r;

j++){

printf("

%d\t%d\t%d\t%s\t%d\n"

sc[j].xuexiao,j,L->

sc[j].xiangmu,L->

};

seqlist*loadfile()xt"

"

r"

seqlist*s;

s=(seqlist*)malloc(sizeof(seqlist));

fscanf(fp,"

%d%d%d%d"

&

r,&

n,&

m,&

w);

for(inti=1;

i<

=s->

i++)

{

fscanf(fp,"

%s"

buf);

strcpy(s->

sc[i].name,buf);

%d%d%d"

sc[i].xuexiao,&

fclose(fp);

returns;

voidsavefile(seqlist*s)xt"

a+"

))==NULL)

Cannotopenthefile!

return;

fprintf(fp,"

%d\t"

s->

r);

n);

m);

%d\n"

fprintf(fp,"

%s\t"

sc[i].name);

sc[i].xuexiao);

sc[i].xiangmu);

intmenu_select(){

inti,sn;

------欢迎来到大学生运动会治理系统------\n"

请您先建立参赛者信息并记录成绩

(1)\n"

查询(按校查某个项目)

(2)\n"

查询(按项目查取得成绩的学校)(3)\n"

统计各学校总分并排序输出(4)\n"

统计各学校男子项目总分并排序输出(5)\n"

统计各学校女子项目总分并排序输出(6)\n"

输出(7)\n"

退出(0)\n"

----------------请选择------------------\n"

for(i=0;

100;

i++){

scanf("

%d"

&

sn);

if(sn<

0||sn>

7)

\n\t输入错误,重选0-7:

elsebreak;

returnsn;

voidmain(){

intm,n,w,r;

FILE*fp;

seqlistS,*L=&

S;

listp,*s=&

p;

if((fp=fopen("

运动员系统.txt"

L=(seqlist*)malloc(sizeof(seqlist));

输入参赛的学校数,男子项目数,女子项目数,总的参赛人数:

scanf("

w,&

L->

n=n;

m=m;

w=w;

r=r;

else

L=loadfile();

for(;

;

){

switch(menu_select()){

case1:

set(L);

break;

case2:

search1(L);

case3:

search2(L);

case4:

tongfen(L,s);

paixu(L,s);

case5:

tongfenboy(L,s);

case6:

tongfengirl(L,s);

case7:

output(L);

case0:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2