运动会分数统计系统Word文档下载推荐.docx

上传人:b****3 文档编号:16658968 上传时间:2022-11-25 格式:DOCX 页数:21 大小:169.77KB
下载 相关 举报
运动会分数统计系统Word文档下载推荐.docx_第1页
第1页 / 共21页
运动会分数统计系统Word文档下载推荐.docx_第2页
第2页 / 共21页
运动会分数统计系统Word文档下载推荐.docx_第3页
第3页 / 共21页
运动会分数统计系统Word文档下载推荐.docx_第4页
第4页 / 共21页
运动会分数统计系统Word文档下载推荐.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

运动会分数统计系统Word文档下载推荐.docx

《运动会分数统计系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《运动会分数统计系统Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。

运动会分数统计系统Word文档下载推荐.docx

名次;

};

学校

{学校编号;

项目;

团体总分;

男团体总分;

女团体总分;

2主程序(main)

包括登陆欢迎程序,分数录入程序,查询程序,退出程序

3程序模块机之间的调用关系

需要数据

1)首先进入成绩录入界面,先输入学校编号1,再输入学校1各个项目成绩0或1(‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次);

然后再输入第二个学校编号2,再输入成绩;

当输入其他的学校编号和成绩会提示错误输入,重新输入。

2)然后进入总目录,输入:

1统计各学校总分并输出;

3)输入:

2按学校编号排序输出;

4)输入:

3按学校总分排序输出;

5)输入:

4按男团体总分排序输出;

6)输入:

5按女团体总分排序输出;

7)输入:

6按学校编号查询学校某个项目情况;

8)输入:

7按项目编号查询取得名次的学校;

9)输入:

0退出系统;

10)输入其他数据会提示错误输入,重新输入。

流程图

详细设计

1、宏定义:

#defineN2

#definebm4

#definegm3

2、数据类型定义

(1)运动项目的定义:

structmatch{

intmatchnum;

intrank[3];

}mat[bm+gm];

(2)学校的定义:

structschool

{

intschoolnum;

structmatchmat[bm+gm];

inttotal;

intboytotal;

intgirltotal;

}sch[N];

3、函数之间的调用关系

system

算法设计

主要算法的设计思想:

本程序主要是使用顺序表来实现操作。

一个运动会包括运动项目和参加运动会的学校。

因此构造顺序表match,school。

为了操作的方便,设计了一个总目录,选择相应序号进入各个操作,并有错误提示,每完成一个操作程序会提示选择返回目录或退出程序,对于总分的排序使用了冒泡排序。

为了使整个程序界面看起来更加惬意,又添加了背景和字体颜色设置的程序语句。

每个操作前都有操作指南,易于使用。

调试分析

1、由于刚开始程序比较简单,虽能运行,但处理错误的能力很低,后来经过反复的添加修改,使程序能处理了错误,提高了健壮性。

2、开始编时由于不太规范,编译出错后由于程序长,很难找到错误,后来规范了格式,错误容易找到了,以后编程要规范。

3、算法的时空分析

线性表使用的是顺序结构,各种算法的时间复杂度相对比较合理

4、本程序相对来说比较容易看明白,其中涉及到的一些函数相对来说比较容易。

通过调试,运行,基本上达到了要求,但还存在一些缺点。

如:

不够人性化等。

测试结果

<

1>

数据输入(输入成绩如图)

输入:

请输入学校编号:

1

项目编号1234567

第<

名:

1001100

2>

1110010

3>

0000111

2

项目编号1234567

0110011

0001101

1111000

输入成绩后出现总目录(下图);

(1)输入:

输出:

(2)输入:

1返回总目录,再输入:

2

输出:

(3)输入:

3

(4)输入:

4

(5)输入:

5

(6)输入:

6,学校编号输入:

1,项目编号输入:

(7)输入:

2,返回上一级,再输入学校编号:

2,项目编号:

(8)输入:

1,返回总目录;

再输入:

7,输入项目编号:

7

(9)如果输入提示外的数字,例如输入:

则输出错误提示:

(10)输入:

用户使用说明

1、运行环境

Windows,VC++6.0

2、用户界面

3、操作过程

(1)用户进入运动会分数统计系统程序欢迎界面

(2)录入成绩,先输入要输入的学校编号,1或2;

再输入对应学校的1-7项目的成绩(成绩用0或1:

‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次)当成绩录入错误时会有错误提示。

(3)进入总目录,按提示,输入0--7中的一个数;

输入:

0则推出系统;

然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);

5按女团体总分排序输出;

6按学校编号查询学校某个项目编号;

选择学校编号1或2;

然后选择项目编号1--7;

输出项目成绩;

然后选择0或1或2(‘0’表示退出系统,‘1’表示返回总目录,‘2’表示返回上一级);

选择项目编号1--7;

输出成绩;

参考文献

(1)《C程序设计》(第三版)谭浩强著清华大学出版社

(2)《数据结构》(C语言版)作者:

严蔚敏,吴伟民出版社:

清华大学出版社

(3)《数据结构题集》(C语言版)作者:

设计小结

本次课程设计检验了我的实践能力,感觉自己还有许多东西要学习,并不仅限于课本上的知识,实践才是真理,在学习中实践,实践中去学习。

学习的路很长。

再有要多问,几个人共同讨论会有意想不到的效果

附录

1、源程序

#include<

stdio.h>

process.h>

#defineN2//学校个数

#definebm4//男团体个数

#definegm3//女团体个数

voidxuanze();

voidxunhuan();

structmatch//项目

structschool//学校

voidhuanyingni()/*开始界面,欢迎使用*/

printf("

\n\n电信2010142229谢璇\n\n\n"

);

printf("

\t***^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^***\n\n"

欢迎使用运动会分数统计系统\n\n"

\t***^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^^_^***\n\n"

}

voidinput()//输入成绩

inti,j,k;

for(i=0;

i<

N;

i++)//初始化分数

{

sch[i].total=0;

sch[i].boytotal=0;

sch[i].girltotal=0;

for(k=0;

k<

bm+gm;

k++)

{

sch[i].mat[k].rank[0]=0;

sch[i].mat[k].rank[1]=0;

sch[i].mat[k].rank[2]=0;

sch[i].mat[k].matchnum=k+1;

}

}

*********输入成绩**********\n"

###输入说明:

\n"

1.学校编号为1--%d;

项目编号为1--%d(1-%d为男子项目,%d-%d为女子项目).\n"

N,bm+gm,bm,bm+1,bm+gm);

2.成绩只能是‘0’或‘1’\n(‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次.以'

Tab'

键前进。

)\n"

N);

for(i=0;

i++)

******请输入学校编号:

"

loop3:

scanf("

%d"

&

sch[i].schoolnum);

if(sch[i].schoolnum<

0||sch[i].schoolnum>

N)

printf("

输入错误(只能是1-%d)请重新输入:

"

gotoloop3;

项目编号"

for(k=0;

%d"

sch[i].mat[k].matchnum);

for(j=0;

j<

3;

j++)

{

loop:

第(%d)名:

j+1);

scanf("

%d"

sch[i].mat[k].rank[j]);

if(sch[i].mat[k].rank[j]!

=0&

&

sch[i].mat[k].rank[j]!

=1)

输入错误,请重新输入,成绩只能是‘0’或‘1’\n"

gotoloop;

voidtotaljisuan()

inti,k,b;

for(k=0,b=0;

{

b=sch[i].mat[k].rank[0]*5+sch[i].mat[k].rank[1]*3+sch[i].mat[k].rank[2]*2;

sch[i].total=sch[i].total+b;

if(k<

bm)

sch[i].boytotal=sch[i].boytotal+b;

if(k>

=bm)

sch[i].girltotal=sch[i].girltotal+b;

voidmulu(){

\n\n**系统目录**\n"

//目录

\t\t************************************\n"

\t\t*1.统计各学校总分*\t\n"

\t\t*2.按学校编号排序输出*\t\n"

\t\t*3.按学校总分排序输出*\t\n"

\t\t*4.按男团体总分排序输出*\t\n"

\t\t*5.按女团体总分排序输出*\t\n"

\t\t*6.按学校编号查询学校某个项目情况*\t\n"

\t\t*7.按项目编号查询取得名次的学校*\t\n"

\t\t*0.退出*\t\n"

voidfunct0()//退出系统

\n\t\t*******谢谢使用!

*******\n"

exit(0);

voidfunct1()//统计各学校总分

{inti,q;

**********统计各学校总分**********\n"

**学校编号**\t\t\t\t**总分**\n"

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

sch[i].schoolnum,sch[i].total);

##########0:

退出;

1:

返回目录。

****请选择:

loop2:

q);

if(q==0)funct0();

if(q==1)xunhuan();

else{

printf("

输入错误(只能是0或1),请重新输入:

gotoloop2;

voidfunct2()//按学校编号排序

structschoolsch1;

inti,j,q;

N-1;

j++)

N-j-1;

if(sch[i].schoolnum>

sch[i+1].schoolnum)

sch1=sch[i];

sch[i]=sch[i+1];

sch[i+1]=sch1;

**********按学校编号排序**********\n"

voidfunct3()//按学校总分排序

if(sch[i].total<

sch[i+1].total)

**********按学校总分排序**********\n"

voidfunct4()//按男团体总分排序

if(sch[i].boytotal<

sch[i+1].boytotal)

**********按男团体总分排序**********\n"

**学校编号**\t\t**总分**\n"

sch[i].schoolnum,sch[i].boytotal);

else{

voidfunct5()//按女团体总分排序

if(sch[i].girltotal<

sch[i+1].girltotal)

**********按女团体总分排序**********\n"

sch[i].schoolnum,sch[i].girltotal);

voidfunct6()//按学校编号查询学校某个项目情况

inti,n,m,q;

**********按学校编号查询学校某个项目情况**********\n"

loop1:

*******请输入所要查询的学校编号:

n);

if(n!

=1&

n!

=2)

!

输入错误,学校编号只能是“0”或“1”,请重新输入!

gotoloop1;

*******请输入所要查询的项目编号:

m);

if(n==sch[i].schoolnum)

{

学校编号:

%d项目编号:

%d\n"

n,m);

if(sch[i].mat[m].rank[0]==1)

printf("

第一名(获得)"

if(sch[i].mat[m].rank[1]==1)

第二名(获得)"

if(sch[i].mat[m].rank[2]==1)

第三名(获得)"

else

本校该项目未进入前三名"

返回目录;

2:

返回上一级。

if(q==2)gotoloop1;

输入错误(只能是0或1或2),请重新输入:

voidfunct7()//按项目编号查询取得名次的学校

{

inti,t,q;

**********按项目编号查询取得名次的学校**********\n"

*****请输入所要查询的项目编号:

);

t);

项目编号:

%d\n"

t);

if(sch[i].mat[t-1].rank[0]==1)

获得第一名的学校编号是:

%d\n"

sch[i].schoolnum);

if(sch[i].mat[t-1].rank[1]==1)

获得第二名的学校编号是:

if(sch[i].mat[t-1].rank[2]==1)

获得第三名的学校编号是:

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

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1