搜档网
当前位置:搜档网 › 用Excel轻松实现运动会成绩自动统计

用Excel轻松实现运动会成绩自动统计

用Excel轻松实现运动会成绩自动统计
用Excel轻松实现运动会成绩自动统计

用Excel轻松实现运动会成绩自动统计每年学校的运动会都需要好几个老师统计成绩、核算分数,由于统计项目较多,而且计分法也互不相同,难免会出现错误。后来我们尝试用Excel来制作运动会成绩统计表,使用后发现它还是很方便的,而且修改也比较容易,来看看我们是如何制作的吧。

成绩统计规则

1.以年级分组竞赛,同一年级组中各班级派出男女代表队参加各项目的比赛。

2.个人项目取前三名作为奖励者,取前六名为班级计分,计分方法是:第一名计6分,第二名计5分……第六名计1分。只有六人或少于六人参加比赛的个人项目,去掉最后一名。遇到并列名次则无下一名次,破校记录另加10分。

3.团体项目(如接力赛)若两个队参赛,取一名,3~4队参赛取前两名,5~6个队参赛取前三名……奖励参赛队员并为班级加分,加分的方法是个人计分法的二倍,破校记录也另加10分。

4.班级总分是其男女子队各项目得分总和,同一年级各班按总分排名。

制作自动成绩统计表

1.打开Excel工作簿,根据运动会参加的年级数插入工作表,使工作表的个数等于年级数加1的两倍,分别命名为初一男子、初一女子、初二男子、……、成绩汇总、校记录。

图1

2.在校记录工作表中输入校记录表(如图1)。

图2

3.建立初一男子成绩汇总工作表(如图2)。

4.各竞赛项目名次单元格:某一项目的名次是根据该项目的成绩排列出来的,而个人项目只输入前八名的决赛成绩,所以部分单元格是空值。用IF函数判断单元格是否为空,为空时不参

与排名次,不为空时用RANK函数求出名次。如在100米名次列中选定J4单元格并输入“=IF(D4〈〉"",RANK(D4,D4:D

104,1),"")”,当对应项目100米的成绩单元格D4有成绩时,给出D4在D4:D104单元格区域的名次,没有成绩时显示空白。行标104是由全校各年级中男运动员或女运动员人数中最大的

数加上各年级班级最多的数得到的(只要不小于这个数就可以)。在RANK函数中第二个参数“D4:D104”表示列标设为相对引用,行标设为绝对引用(即在行标4与104前加“”)。由于径赛以时间记成绩,时间越短成绩越好,所以排名次时,应按升序排列,所以第三个参设为非0数。将J4向右填充复制至N4,这时N4中的公式为“IF(H4〈〉"",RANK(H4,H4:H104,1),"")”,把RANK中第三个参数的1改为0,即降序排列,再将N4向右填充复制至O4,选定J4:O4向下填充至104行。

5.各竞赛项目得分单元格:根据计分方法的不同分以下四步。

(1)径赛个人项目得分单元格:按照个人项目的计分法先将得0分的单元格显示为空值,没有成绩的或名次不在前六名的或因参赛队员在六个以内最后一名的,都在得分单元格中显示空值,用OR函数作为IF函数的条件判断这三种情况,最后一名也就是名次中最大的数,用MAX取出。当以上三种情况都不成立时,再用一个IF函数判断是否破校记录,为真时按名次得的分再加

10分,为假时只得名次分,用7减去名次数,就是按名次得的分。如在100米得分列中,选定P4输入“=IF(OR(J4="",J4〉=7,J4=MAX(J4:J104)),"",IF(D4〈校记录!C

4,10+7-I4,7-I4))”,用填充复制法复制到其他径赛个人项目得分单元格中。

在田赛中破校记录是成绩大于校记录,所以将内层IF函数的条件改为大于号。

(2)径赛团体接力项目的成绩单元格:按团体取名次方法,先用COUNT函数统计出参加比赛的队数,取队数的一半后用ROUND函数四舍五入,正好是要取前若干名的数。当名次不超过这个数时按团体计分方法给出成绩,方法与个人项目类似。如在4×100米得分列中选定R4输入“=IF(AND(L4〈=ROUND(COUNT(F 4:F104)/2,0),J4〈〉""),IF(E4〈校记录!C

10,10+2*(7-J4),2*(7-J4)),"")”,然后填充复制至其他同类单元格中。

(3)在合计列S4单元格中输入“=SUM(N4:R4)”,并向下填充至104行。

6.复制到其他工作表:全部选定“初一男子”中的单元格,单击[复制]按钮,然后单击“初二男子”工作表标签,全部选定此工作表后单击“粘贴”,将标题做相应的修改即可。用同样的

方法复制到“初三男子”、“初一女子”工作表中。在“初一女子”工作表中,修改竞赛项目得分单元格中的公式,把公式中初中男子校记录改为相应的初中女子校记录,最后将“初一女子”工作表分别复制到初二、初三女子工作表中。

图3

7.在成绩汇总工作表(如图3)中,各年级汇总之间至少空一行或一列,这样可以在每个汇总表中分别以名次排序。在初一年级汇总表B3、C3、D3、E3单元格中分别输入“=SUMIF(初一男子!B4:B104,"=一班",初一男子!V4:V104)”、

“=SUMIF(初一女子!B4:B104," =一班",初一女子!V4:

V104)”、“=SUM(B3:C3)”、“=RANK(D3,D3:D7)”,然后选定区域B3:E3,向下填充复制到其他班级,再将公式中的“一班”改为相应的班级,其他年级汇总表的作法与此类似。

8.保护工作表中部分单元格与成绩:为防止无意删除或改变公式,将不需修改数据的单元区域设为保护状态。方法是先选定

不需要保护的单元格,然后单击“格式→单元格→保护”命令,在保护选项卡中取消选中“锁定”复选框。再单击“工具→保护→保护工作表”命令,不输入密码直接[确定]。

应用表格

现在自动成绩统计表已经制作完成,我们可以将它保存为模板,使用时在“新建→通用模板”中打开“运动会成绩自动统计表”,在比赛前输入运动员姓名、所在班级、编号等信息。录入成绩时可以把水平滚动条右侧的窗口垂直分割条拖入窗口中,将窗口分为两部分,分别调整两个窗口的水平滚动条使左边窗口的右端显示运动员编号,右边窗口的左端显示要输入成绩的列,这样可以提高输入速度并减少错误率。

(完整word版)运动会分数统计系统实验报告

运动会分数统计系统的实现 09计科(2)班 E10914044 杨素传 一、设计要求 1、问题描述 参加运动会有n个学校,学校编码为1,2,…,n,比赛分成m个男子项目和w个女子项目。项目编号为男子1,2,…,m,女子m+1,m+2,…,m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为7,5,3,2,1;前三名的积分分别5,3,2;哪些取前五名或前三名由学生自己设定(m<=20,n<=20)。 2、需求分析 (1)可以输入各个项目的前三名或前五名成绩; (2)能统计各学校成绩; (3)可以按学校编号、学校总分、男女团体总分排序输出; (4)可以按学校编号查询学校某项目情况,可以按项目编号查询取得前三名或前五名的学校。 二、概要设计 1、主界面设计 为了实现运动会分数统计系统,设计一个含有多个菜单项的主控菜单子程序以连接系统的各项子程序,方便用户使用本程序。本系统主控菜单运行界面图1所示。 图1 运动会分数统计系统程序主菜单 2、存储结构设计 本程序采用链式存储类型(LNode)存储运动会分数统计系统的节点信息。运动会分数统计系统的链表中的结点包括8个域:项目编号域(objnum)、项目类型(objtype)、运动员编号(athnum)、运动员姓名(athname[20])、学校编号(schnum)、校名(schname[30])、

运动员分数(athscore)和指向下一个节点的指针欲(struct LNode *next)。 3、系统功能设计 本系统设置了8个子功能菜单。8个子功能的设计描述如下: (1)录入各项目的成绩。由函数creatLink()实现。当用户选择该功能时,系统会以用户输入的数据运动会分数统计链表。 (2)统计各学校分数。由函数schoolScore()实现。当用户选择该功能时,系统会统计各学校分数。 (3)按学校编号顺序输出。由函数printfSchoolNumber()实现。当用户选择该功能时,系统会按学校编号顺序输出数据。 (4)按学校总分顺序输出。由函数printfSchoolScore()实现。当用户选择该功能时,系统会按学校总分顺序输出数据。 (5)按男女团体总分顺序输出。由函数printfManWomanScore()实现。当用户选择该功能时,系统会按男女团体总分顺序输出数据。 (6)按学校编号查询学校某项目情况。由函数printfSchoolObject()实现。当用户选择该功能时,系统会按学校编号输出学校某项目情况。 (7)按项目编号查询取得前三名或前五名的学校。由函数printfObjectSchool()实现。当用户选择该功能时,系统会按项目编号查询取得前三名或前五名的学校情况。 (8)退出。由exit(0)函数实现。 三、模块设计 1、模块设计 本程序包含两个模块:主程序模块和工作区选择模块。其调用关系如图2所示。 主程序模块工作区选择模块 图2 模块调用示意图 2、系统子程序及功能设计 本系统共设置个6子程序,各子程序的函数名及功能说明如下。 (1)LinkList creatLink() //创建链表(录入各项目的成绩) (2)int schoolScore(LinkList L) //统计各学校总分 (3)void printfSchoolNumber() //按学校编号顺序输出 (4)void printfSchoolScore() //按学校总分顺序输出 (5)void printfManWomanScore(LinkList L //按男女团体总分排序输出 (6)void printfSchoolObject(LinkList L) //按学校编号查询学校某项目情况 (7)void printfObjectSchool(LinkList L) //按项目编号查询取得前三名或前五名的学校 (8)int main() //主函数 3、函数主要调用关系图 本系统6个子系统之间的主要调用关系如图3所示,图中数字是各函数的编号。

Excel学生成绩统计常用公式

Excel学生成绩、各种报表统计常用公式 1、分数段人数统计 90-100分:=COUNTIF(C4:C18,">=90") 80-89分:=COUNTIF(C4:C18,">=80")-COUNTIF(C4:C18,">=90") 70-79分:=COUNTIF(C4:C18,">=70")-COUNTIF(C4:C18,">=80") 60-69分:=COUNTIF(C4:C18,">=60")-COUNTIF(C4:C18,">=70") 50-59分:=COUNTIF(C4:C18,">=50")-COUNTIF(C4:C18,">=60") 41-49分:=COUNTIF(C4:C18,">40")-COUNTIF(C4:C18,">=50") 40分及以下:=COUNTIF(C4:C18,"<=40") 2、最高分:=MAX(C4:C18,G4:G18,K4:K18,O4:O13) 最低分:=MIN(C4:C18,G4:G18,K4:K18,O4:O13) 总分:=SUM(C4:C18,G4:G18,K4:K18,O4:O13) 平均分:=A VERAGE(B4:D4) 3、与考人数、记分人数:=COUNT(C4:C18,G4:G18,K4:K18,O4:O18) 优生人数:=COUNTIF(C4:C18,">=80") 差生人数:=COUNTIF(C4:C18,"<=40") 双科合格人数:=SUMPRODUCT((C4:C18>=60)*(D4:D18>=60))双科优秀人数:=SUMPRODUCT((C4:C18>=80)*(D4:D18>=80)) 4、条件求和:=SUMIF(B2:B56,"男",K2:K56) ——假设B列存放学生的性别,K列存放学生的分数,则此函数返回的结果表示求该班男生的成绩之和; 5、学生分数转化为等级评定: =IF(A4>=80,"优",IF(A4>=70,"良",IF(A4>=60,"合格","待合格"))) =CHOOSE(IF(A1>=80,1,IF(A1>=70,2,IF(A1>=60,3,4))),"优","良","合格","待合格") 1、2、3、4要与优、良、合格、待合格相对应

数据结构课程设计报告(运动会分数统计系统)

课程设计(论文)任务书 软件学院信息专业 1 班 一、课程设计(论文)题目运动会分数统计系统 二、课程设计(论文)工作自 2010 年 12 月27 日起至 2010 年 12 月31 日止。 三、课程设计(论文) 地点: 创新大楼软件学院大楼 四、课程设计(论文)内容要求: 1.课程设计的目的 为了配合《数据结构》课程的教学,使学生能更深刻地领会《数据结构》这门课程的重要性,特开设此课程设计;编写一些在特定数据结构上的算法,通过上机调试,更好的掌握各种数据结构及其特点,培养学生综合运用所学理论知识解决复杂实际问题的实践能力、研究性学习能力和团队合作能力。 2.课程设计的任务及要求 1)基本要求 (1)课程设计前必须选定课程设计题目,并认真进行需求分析; (2)上机调试之前要认真准备实验程序及调试时所需的测试数据; (3)程序结构要清晰,重点函数的重点变量,重点语句要加上清晰的程序注释;(4)独立思考,独立完成,调试过程要规范,认真记录调试结果; (5)撰写课设报告,对设计进行总结和讨论。 2)课程设计论文编写要求 (1)要按照书稿的规格撰写打印课设论文 (2)论文包括任务书、目录、绪论、正文、总结、参考文献、附录等 (3)正文中要有问题描述、设计求解算法、算法的实现、调试分析与结果 (4)课设论文装订按学校的统一要求完成 3)课设考核 从以下几方面来考查: (1)出勤情况和课设态度; (2)设计任务的难易程度及设计思路; (3)课设任务完成情况;

(4)动手调试能力; (5)论文撰写的层次性、条理性、格式的规范性。 4)参考文献 [1] 严蔚敏,吴伟民. 数据结构(C语言版)[M]. 北京:清华大学出版社, 2007年. [2] 谭浩强. C语言程序设计[M]. 北京:清华大学出版社,2006年. 5)课程设计进度安排 内容天数地点 构思及收集资料1图书馆 程序设计与调试3计算机房 撰写论文1图书馆 6)任务及具体要求 任务: 参加运动会的n个学校编号为1~n。比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。写一个统计程序产生各种成绩单和得分报表。 要求: 产生各学校的成绩单,内容包括各学校所取得的每项成绩的项目号、名次(成绩)、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分。 学生签名: 2010年12月27 日 课程设计(论文)评审意见 (1)任务难易及设计思路:优()、良()、中()、一般()、差()(2)动手调试能力评价:优()、良()、中()、一般()、差()(3)任务完成情况评价:优()、良()、中()、一般()、差()(4)论文撰写水平及规范性评价:优()、良()、中()、一般()、差()(5)考勤和态度:优()、良()、中()、一般()、差() 评阅人:职称:讲师 2011年1 月3 日

数据结构课程设计—运动会分数统计系统[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) 可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。 二、概要设计 1. 本系统的流程图如下: Y N Case1 Case3 N Y Y 开始---初始化 输入 输入某项目各名次成绩 输入学校及男女项目范围 继续输 查询各学校成绩 Case2 查询团体总分 成绩查询 继续

2. 本系统采用的存储结构为结构化设计理念,这是数据库的最基本的设计要求,主要包括三个数据表: (1) 项目数据表:运动会开始前必须详细制定本次运动会所需的参赛项 目为接下来报名、场地的准备提供依据。本数据表根据要求设计存储每个项目的编号、名称、要取的名次以及各个名次对应的学校的编号,在初始输入时仅输入项目编号、名称及要取的名次,而各名次对应的学校编号将由系统自动统计。这也有利于以后项目情况的查询。 typedef struct { int itemnum; //项目编号 int top; //取名次的数目 int range[5]; //名次 int mark[5]; //分数 }itemnode; //定义项目结点的类型 (2) 学校数据表:本数据表储存了各个参赛学校的总体情况,包括学校 的编号、名称、男子团体总分、女子团体总分和学校总分。其中学校编号和名称是提前输入的,而其他三项内容将由系统进行自动统计。 typedef struct { int schoolnum; //学校编号 N N Y 输出查询学校成绩 继续 结束—退出

1.1运动会分数统计

#include #include #include #define N 20 /*学校最大数目*/ #define M 20 /*男子项目最大数目*/ #define W 20 /*女子项目最大数目*/ typedef struct { int inum; /*项目编号*/ int top; /*取名次的数目*/ int range[5]; /*名次*/ int mark[5]; /*分数*/ }itemnode; /*存放项目信息*/ typedef struct { int snum; /*学校编号*/ int score; /*学校总分*/ int mscore; /*男团体总分*/ int wscore; /*女团体总分*/ itemnode t[M+W]; /*项目数组*/ }snode; /*存放学校信息*/ snode a[N]; /* 定义一个学校数组*/ void menu(int n,int m,int w) /*菜单函数*/ { int c; void input(int n,int m,int w); void output(int n,int m,int w); void sortput(int n,int m,int w); void search(int n,int m,int w); printf("\t\t\t欢迎使用\t\t\t\t\n\n"); printf("\t***********运动会分数统计系统***********\n\n"); printf("\t\t*******1.信息输入*******\n"); printf("\t\t*******2.统计输出*******\n"); printf("\t\t*******3.排序输出*******\n"); printf("\t\t*******4.信息查询*******\n"); printf("\t\t*******0.退出系统*******\n\n"); printf("=======================================================\n\n"); printf("请选择要实现步骤的编号(0--4):"); scanf("%d",&c); switch(c) { case 1: input(n,m,w);break; case 2: output(n,m,w);break; case 3: sortput(n,m,w);break; case 4: search(n,m,w);break; case 0: printf("谢谢使用,再见!\n"); exit(0); default: printf("输入错误,请重试!\n"); menu(n,m,w); } } void savetofile() /*信息存入文件file*/ {

运动会分数统计系统

******************* 实践教学 ******************* 兰州理工大学 软件学院 2011年秋季学期 计算机应用基础课程设计 题目:运动会分数统计系统 专业班级:软件技术(2)班 姓名:刘正翔 学号: 指导教师:张墨逸 成绩:

目录

摘要 C语言通常别称为高级语言中的中级计算机语言。C语言由于它的可移植性和高效率,各种C语言编译程序均可产生非常紧凑、执行快捷的目标码。它比任何一种BASIC语言编译程序的目标码都紧凑、快速。这就要求有较高的理论水平,而且还要求有实际的动手能力。因此掌握C语言程序设计是学好软件技术的第一步。 本课程设计的主要目的是提高实践能力,包括提高C语言的编程能力,长期以来,注重书本知识,轻视实际动手设计能力是教学中普遍存在的现象。进行课程设计的目的就是要改变这种状况,使学习者既具有完备的理论知识,也能够解决在实际学习,生活工作中遇到的问题。学生应该能够把学习到的理论知识运用到实际中去,将知识转变为实际的能力,同时通过这些理论知识和实际的应用推动理论和实践的发展。 关键字:函数,定义,子程序,文本编辑 运动会分数统计系统 1 问题描述与分析 课程设计目的 为了巩固我们数据结构知识,加强我们的实际动手能力和提高我们综合素质,提高我们对计算机软件工程的认识学院组织我们进行了数据结构课程设计。此次课程设计要达到以下几点目的:(1)了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力。 (2)提高程序设计和调试能力。学生通过上机实习,验证自己设计的算法的正确性。学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。 (3)培养算法分析能力。分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。 (4)初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能。

“一分三率”成绩统计及评价表操作指南

“一分三率”成绩统计表操作指南 王盛权 导语:“一分三率”(指平均分,优秀率良好率和及格纺)成绩统计表在Excel 环境下进行。表的式样以下: 1、成绩录入名册。 在操作“一分三率”统计表之前,要先建立考试名册。考试名册按学校按班级按座位号排列,试卷亦按此顺序排放,查对试卷数与学生名册是否相符,是否有缺考。成绩录入时由一人读数一人录入一人检录,录完后再次核对。 2、学生分数排序。(以《一分三率表·五数总》为例) 按“学校(升或降序皆可)——班级(升序)——分数(降序)”排序。 【操作】:选定从姓名到成绩的列,执行“数据——排列”,在复选框“主要关键字”栏选择“学校”列,在“次要关键字”栏选择“班级”列,在“主要关键字”栏选择“成绩”列,确定。 3、按班编写序号。用不同颜色按分数(因为一分三率是以班级评价)从高到低以01向下填充(为后面的三率查找人数服务)。 4、确定三率人数。

(1)确定优秀人数:公式“总人数×优秀率(15%)=优秀人数”。本例中,优秀人数应是:1000×15%=150(人),但由于最后一位的94分并列到164位,则取优秀人数为164。 (2)确定良好人数:公式“总人数×良好率(40%)=良好人数”。本表中,良好人数应是:1000×40%=400(人),但400位下84分还并列到404,则取良好人数为404人。 (3)确定及格人数:公式“总人数×及格率(80%)=及格人数”。本表中,及格人数应是:1000×80%=800(人),但52分并列到806,则取及格人数为806人。 5、查找三率人数。 在学生原始成绩表中,如何快捷地查出三率人数? A、优秀人数查找方法。 【操作】:①选定行标题(自动筛选模式下可省了选定),执行“数据——筛选——自动筛选”。②在“自定义”前10名对话框第一格中选择“最大”,在第二格中输入164(与前面分数段表查找人数差异仅此步),见图1。 图1 ③点击确定后得到的就是各校优秀人数(见图2)。

运动会分数统计系统的设计与实现

目录 1 实习目的 (1) 2 问题描述 (1) 3 需求分析 (1) 4 概要设计 (2) 5 详细设计 (5) 5.1数据结构定义 (5) 5.2各个函数分析 (5) 6 调试与测试 (19) 6.1调试 (19) 6.2 测试 (19) 7 使用说明 (22) 8 总结 (23) 9 参考文献 (23) 10 附录 (23)

运动会分数统计系统的设计与实现 1 实习目的 通过学习,了解并初步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。 2 问题描述 参加运动会有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)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校; (5)数据存入文件并能随时查询。 3 需求分析 3.1功能需求 本系统主要是运动会分数统计方案设计。 运动会分数统计方案适合采用结构体数组,为了实现系统功能,主要应实现以下几部分:比赛成绩输入、比赛成绩输出、查询比赛成绩和调用统计结果。 3.2 数据需求

需要输入学校编号,项目编号,取得的名次,以及哪些名次。 3.3 性能需求 本程序在运行期间,为了避免在运行大量数据时不会出错,并且能够在很短的时间内将运行结果稳定输出,就需要系统达到安全性能好,可靠性高,稳定性强,处理数据迅速等特点。 4 概要设计 4.1系统设计方案 本方案要求准备结构体数组、读写文件。还能把信息直接输入存储到文件中,读取文件中信息,从而得到结果。 (1) 菜单设计 分为主函数菜单、比赛成绩输出菜单、查询分数统计结果菜单、查询方式子菜单。 (2) 数据保存方式 建立文件,数据保存在文件中。运动运分数统计程序 (3) 数据类型 采用结构体类型。 (4) 存储结构 采用结构体类型数组存储结构存储。 (5) 算法设计 输入比赛结果模块中运用了冒泡算法将输入的数据排序。 4.2 数据库设计 系统用到的抽象数据类型定义: typedef struct { int itemnum; //项目编号

运动会分数统计

运动会分数统计 【问题描述】 参加运动会有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、局部非法数据。 进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;【测试数据】 自行设定,注意边界等特殊情况。 */

目录 一、需求分析 (3) 二、概要设计 (1) 三、详细设计 (3) 四、程序调试与实现 (7) 五、用户使用说明..................................................................... 错误!未定义书签。 六、附录..................................................................................... 错误!未定义书签。

运动会分数统计数据结构课程设计(含源代码)

. 计算机学院信管专业 数据结构课程设计 题目:运动会分数统计班级: 姓名:学号: 同组人: 起迄日期: 课程设计地点: 指导教师: 评阅意见: 成绩评定: 评阅人:日期: 完成日期:2013年12月

目录 1、需求分析 (02) 2、概要设计 (03) 3、详细设计 (04) 4、调试分析和测试结果 (05) 5、总结 (13) 6、参考文献 (14) 7、致 (14) 8、附录 (14)

1、需求分析 (1)任务: 参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w 个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20) (2)功能要求: a).可以输入各个项目的前三名或前五名的成绩; b).能统计各学校总分, c).可以按学校编号、学校总分、男女团体总分排序输出; d).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 (3)规定: 输入数据形式和围:20以的整数(如果做得更好可以输入学校的名称,运动项目的名称) (4)输出形式: 有中文提示,各学校分数为整形 (5)界面要求: 有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 (6)存储结构: 学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在

数据文件中。 (7)测试数据: 要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明; 2、概要设计 (1)文字分析 本课设要求输入信息,统计分数,执行排序与查找功能,在要求中没有在建立数据之后进行插入和删除操作,而在排序和查找过程中有许多的随机读取数据操作,因此使用顺序结构而不用链表。由于各个要求属性具有一定的联系,在定义数据时使用结构体和结构体数组来存储信息数据。考虑到程序的要求在设计函数时将学校个数和项目个数设计为可变的数据,为方便使用设计菜单函数(menu),而由于要求将信息存储在文件中故设计文件的存储(savetofile)与读取函数(readfromfile),信息输入函数(input)在输入基本信息后由系统统计总分的容并全部存入文件file中,在接下来的函数中开始都需要读取文件中的信息,信息的输出(output)输出输入函数中统计后的各项信息,在排序输出(sortput)中使用冒泡排序法进行不同关键字的排序,查询函数(search)采用顺序表的查找来完成。

运动会分数统计系统

数据结构课程设计 运 动 会 分 数 统 计 东华大学信息科学与技术学院 班级:电气0910班 姓名:周涛涛 学号:090901017

一.需求分析 1问题描述 运动会分数统计 参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w 个女子项目。项目编号为男子1~m,女子m+1~m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些项目取前五名或前三名由学生自己设定。(m<=20,n<=20) 2. 基本要求: 1) 可以输入各个项目的前三名或前五名的成绩; 2) 能统计各学校总分; 3) 可以按学校编号、学校总分、男女团体总分排序输出; 4) 可以按学校编号查询学校某个项目的情况; 5) 可以按项目编号查询取得前三或前五名的学校。 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 结构体 运动项目 { 项目编号;名次;};

C++运动会分数统计系统

课程设计报告 运动会分数统计系统 1. 系统需求分析 问题描述: 参加运动会有n个学校,学校编号为1,2,〃〃〃,n,比赛分为m个男子项目和w个女子项目。项目编号为男子1,2,〃〃〃,m个,女子m+1个,m+2个,〃〃,m+w。不同的项目取得前五名或前三名积分;取前五名的积分分别为7,5,3,2,1;前三名的积分分别为5,3,2;项目编号为奇数的取前五名,项目编号为偶数的取前三名(m≤20,n≤20)。每个项目结束时,将其编号输入,并按名次顺序输入运动员姓名、学校编号和成绩。 请用C/C++编写一系统,模拟运动会分数统计过程,软件应包括如下几个方面: (一)功能要求: (1)成绩输入: 要求:可以输入各个项目的前三名或前五名的成绩。 (2)成绩查询: 要求:可以按学校编号查询学校各项目情况;可以按项目编号查询取得前三名或前五名的学校。 (3)成绩统计: 要求:能统计各学校总分。 (4)成绩排序: 要求:可以按学校编号、学校总分、男女团体总分排序输出。 (二)其它要求: (1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅 读; (2)至少采用文本菜单界面(如果能采用图形菜单界面更好); (3)学生可自动增加新功能模块(视情况可另外加分); (4)写出课程设计报告,具体要求见相关说明文档。 2 概要设计 2.1 系统功能设计 根据运动会分数统计系统问题的分析和设计要求,可以将该系统可以分为三个模块:信息统计模块、信息输出模块、信息查询模块,其系统功能结构图如图1所示。 (1)信息统计模实现信息的输入、统计。 (2)信息输出模块,实现信息的输出。

(3)信息查询实现信息的查询。 图1 系统功能结构图 3.详细设计: 毕业设计有困难?加QQ929486211 (1)定义运动项目数据类型,用于存放运动项目,包括项目编号、项目所取名次数、名次、分数。 (2)定义学校数据类型,用来存储参赛学校信息,包括学校编号、学校总

运动会分数统计系统课程设计报告

运动会分数统计系统 课程设计报告 数据结构 院系: 专业: 班级: 学号: 姓名: 教师: 时间: 一、问题描述 1、功能 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,与w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前五名或前三名积分;取前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前三名由学生自己设定。(m<=20,n<=20),按要求实现相应的数据输入、查询、计分等功能。 2、数据 建议输入学校的名称,运动项目的名称等,其余信息学生自行设计; 输出形式:有合理的提示,各学校分数为整形; 数据的存储结构自行设计。 建议运动会的相关数据要存储在数据文件中。

3、操作 1)可以输入各个项目的前三名或前五名的成绩; 2)能统计各学校总分, 3)可以按学校编号或名称、学校总分、男女团体总分排序输出; 4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的 学校。 4、要求 提供系统菜单,界面友好,提示信息完整。 二、系统分析及设计 1、需求分析 根据运动会分数统计系统的问题分析及设计要求,可以将此系统分为四个模块:信息统计模块、信息输出模块、信息查询模块、信息调用模块。其系统功能结构图如图所示。 (1)、信息统计模块实现信息的输入、统计、存档。 (2)、信息输出模块实现信息的输出。 (3)、信息查询模块实现信息的查询。 2、概要设计 此系统采用顺序存储结构存储,定义了一个结构体数组存放参赛学校的信息。之所以采用顺序存储结构,就是因为用它来实现信息的存储、查询比较方便,节省时间,效率高,而且也方便把信息写入文件以及读取文件。 (1)、结构体定义如下: ①、定义运动项目数据类型,用于存放运动项目的信息,包括项目名称、项目编号、用户自己定义的取前3名还就是前5名的积分、名次、分数。 typedef struct {

成绩统计流程图.doc

成绩统计流程图 成绩统计流程图 1.新建一张工作表,在表格中输入相应的数据,如学科、姓名、学号,学生成绩等,如下图;我们输入24个学生的成绩作为演示。下面的数据是我们最原始收集到的数据,我们现在就对这些数据进行处理。 2.在每个学科后面插入一列,在表头中输入学科排名,如语文课后面这一列输入语文排名在最后两列分别输入总分和总分排名;如下图所示; 3.在表格后面输入统计指标,如平均分,最高分,最低分,及格率,优秀率;我们计算时就可以计算出相应科目的指标。如下图所示; 4.我们一般喜欢把总分第一名的学生排到第一,所示,我们先求出学科的总分来。在O2单元格中输入公式=SUM(C2+E2+G2+I2+K2+M2),如下图,通过自动填充功能完成其他学生的总分计算。 5.对总分进行排序,我们把光标移动到总分列,点击数据- 排序,主要关键字我们选择总分,按降序的方式进行排序,如下图所示;设置好后点击确定; 6.这一步我们就可以来求学生的总分排名了,大家注意这一步不要用自动填充功能给总分编序号,因为可能会出现分数相同的情况,我们用公式来编写,如果出现分数相同,那么排名也将相同,名次自动往后推。我们在P2中输入公式=RANK(O2,$O$2:$O$25),大家一定要用上$ 符号引用,不然排名将会出错;自动完成数据填充。如下图 7.学会了上面这一步,我们对学科单科排名也就简单了,我们分别在D2,F2,H2,J2,L2,N2,中输入公式=RANK(C2,$C$2:$C$25),=RANK(E2,$E$2:$E$25),=RANK(G2,$G$2:$G$25),=RANK(I2,$I

$2:$I$25),=RANK(K2,$K$2:$K$25),=RANK(M2,$M$2:$M$25),可以求出第一条记录在所有记录中的排名。如下图; 8.我们用自动填充功能,完成所有单科成绩的排名,如下图,可以看出,分数相同的学生的排名也是相同。 9.下面我们来求学生的平均分,在c27单元格中输入=A VERAGE(C2:C25),如下图,我们用自动填充功能完成其它学科平均分的计算。 10.用同样的方法,使用MAX()计算最高分,MIN()计算最低分;countif()计算及格人数,这个函数的具体用法请大家百度找一下,这里只告诉大家用这个函数实现,我们在公式栏输入=COUNTIF(C2:C25, =60 ),在优秀人数中我们改为=COUNTIF(C2:C25, =90 ),之后用自动填充功能完成其它单元格的填充。 11.现在我们来计算及格率和优秀率,及格率(优秀率)=及格人数(优秀人数)/总人数,我们刚才计算的及格人数在C32单元格,学生总数为24,所以在公式中输入=C30/24,同理,在优秀率中输入=C32/24。自动完成后面学科的计算。 12.选择中c31:m31和c33:m33,设置数据以%显示;如图所示。接着我们删除排名列中的统计指标。因为这些数据是复制过来的,我们根本不需要它。 13.一张统计分析表格基本就制作完成了,我们只需要对表格进行一定的美化处理就可以了。 成绩一般却圆梦美国排名11WUSTL物理专University in

运动会运动会分数统计(数据结构)

摘要: 本文详细介绍了运动会分数统计程序的设计与实现,该程序具有运动会成绩的输入,每个学校所参加的项目成绩的查询,修改,删除,统计操作以及学校成绩单和团体得分报表的输出等功能。概要设计部分给出了程序功能说明,数据结构设计和函数变量说明。详细设计和实现部分列出了系统功能模块、算法原理及流程图。最后还给出了调试和操作说明。在课程设计中,程序设计语言采用Visual C++,程序运行平台为Windows 98/2000/XP。对于获得名次的同学在存储其成绩的时候采用了链表的结构,有利于数据的存储与查找。程序通过调试运行,实现了最初的设计目标,并且经过适当完善后,在实际中可以解决更多的问题。 关键词:运动会分数统计;程序设计;C++;链表

目录 1需求分析 (3) 2概要设计 (4) 2.1 程序功能说明 (4) 2.2 数据结构设计 (4) 2.3 函数及变量说明 (5) 3详细设计和实现 (5) 3.1 系统功能模块 (5) 3.2 算法原理 (6) 3.3 流程图 (7) 4调试与操作说明 (7) 4.1调试过程中出现的问题及处理方式 (7) 4.2运行界面 (9) 总结 (12) 致谢 (13) 参考文献 (14)

1需求分析 运动会问题:参加运动会的N个学校编号为1—N。比赛分为M个男子项目和W个女子项目,项目编号分别为1—M和M+1—M+W。由于各项目的参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。 该系统具备的基本功能:该统计程序能产生各种成绩单和得分报表:各校的成绩单,内容包括各学校所取得每项成绩的项目号,名次(成绩),姓名和得分;产生团体总分报表,内容包括校号,男子团体总分,女子团体总分和团体总分。也能对其中的错误项进行修改或删除。 本课程设计主要解决在运动会上,将各个比赛项目所有获得名次的同学的成绩输入;成绩查询;成绩修改;成绩删除;以及成绩输出。 实验环境:Microsoft Visual C++ 6.0。Visual C++(简称VC)是Microsoft公司推出的目前使用极为广泛的基于Windows平台的C++可视化开发环境。Visual C++ 6.0提供的控制台应用程序对学习和掌握标准C++内容非常有利。“可视”的资源编辑器与MFC类以及应用程序向导,为快速高效地开发出功能强大的Windows应用程序提供了极大的方便。利用Visual C++ 6.0进行Internet、数据库及多媒体等多方面的程序开发也很容易。 本课程设计采用了C++。C++语言是在C语言的基础上发展起来的,不仅继承了C语言的所有特点,而且引入了面向对象的程序设计方法,改进了程序涉及思路,将编程方式进化到面向对象进行程序设计这一新的思维过程。 C++语言代表着对以往语言之精华的发展和提炼,并能很好的与C语言兼容,既支持面向对象的程序设计,也支持结构化的程序设计。它修补了C语言中的一些漏洞,提供更好的类型检查和编译时的分析,提供了异常处理机制,简化了程序的出错处理,利用throw、try和catch关键字,出错处理程序不必与正常的代码紧密结合,提高了程序的可靠性和可读性。函数重载允许相同的函数名具有不同参数表,系统根据参数的个数和类型匹配相应的函数。提供了模板机制。摸板包括类摸板和函数模板两种,它们将数据类型作为参数。对于具体数据类型,编译器自动生成模板类或模板函数,它提供了源代码复用的一种手段。

《“一分二率”成绩统计表》操作指南

《一分两率成绩统计表》操作指南 Wsq6001 一、一般合计。 (以《分数段表》表1为例,计算某校某级一分二率。) (1)排序。(在全镇学生个人成绩录入的基础上进行) 【操作】:全选——数据——排序——学校——成绩(降序) (2)编序号。选定姓名列,插入两列,第一列按0001给全级编序号;第二列用不同颜色按学校从1—XX填充。这样做的好处为后面的查找人数提供便利(图1)。 图1 (3)找出各校各分数段人数。使用自动筛选功能查找人数。 A、查85分以上人数。 【操作】:①选定行标题,执行“数据——筛选——自动筛选”;②在自动筛选标签下,点击“五文成绩”小三角号,选择“自定义”(与后面一分三率查找人数略有不同);③在自定义对话框的显示行中选择“大于或等于”,在右边对应栏中输入85,确定。得出的就是85分以上的人数(从校序可以看出人数——见图2)。

图2 B、查80—84分人数。 【操作】:①在行标题自动筛选标签中,点击“五文成绩”小三角号,选择“自定义”。 ②在自定义对话框第一显示行中选择“小于”,输入85,在第二显示行中选择“大于或等于”,输入80,确定。得出的就是80——84分的人数(人数=终数-始数+1)。(见图3、图4)。 图3

图4 C、其余的分数段按此操作依次查找人数。 (4)计算总分。(在全级学生个人成绩表上进行——下称“成绩表”) 【操作】:任选工作表内某一单元格(否则无效),执行“数据”,在下拉菜单中点击“分类汇总”,在弹出的对话框选项的“分类字段”中选择“学校”,在“汇总方式”中选择“求和”,在“选定汇总项”中选“五文成绩”,确实(见图5)。

数据结构课程设计-运动会分数统计(C语言版)

目录 第一章绪论 (1) 运动会分数统计系统的背景 (1) 运动会分数统计系统的任务和目标 (1) 第二章运动会分数统计系统的需求分析 (2) 功能需求 (2) 功能模块 (2) 数据要求 (3) 性能要求 (3) 第三章系统开发工具及关键技术 (4) 系统开发工具 (4) 3.1.1 CodeBlocks (4) 关键技术 (4) 3.2.1 C语言 (4) 3.2.2 数组 (4) 3.2.3 链表 (4) 第四章运动会分数统计系统的实现 (5) 数据结构设计 (5) 结构定义 (5) 系统界面的实现 (6) 4.3.1 主菜单窗口 (6) 4.3.2 输入各个项目成绩并存储文件 (6) 4.3.3 统计各学校总分 (8) 4.3.4 按学校编号排序输出 (8) 4.3.5 按学校总分排序输出 (8) 4.3.6 按男团体总分排序输出 (9) 4.3.7 按女团体总分排序输出 (9) 4.3.8 按学校编号查询学校某个项目情况 (10) 4.3.9 按项目编号查询取得名次的学校 (10) 第五章结束语 (11) 课程设计总结 (11) 致谢 (11) 参考文献 (12) 附录 (13)

第一章绪论 运动会分数统计系统的背景 在信息技术已经深入人类工作生活的今天,计算机软件得到了广泛的应用,越来越多的政府和企业将其业务纳入计算机软件系统。 随着社会进步,体育事业的发展,为了提高运动会成绩统计准确,减少设计者们的工作量,开发了本系统。 运动会分数统计系统的任务和目标 任务:参加运动会有n个学校,学校编号为1……n。比赛分成m个男子项目,和w个女子项目。项目编号为男子1……m,女子m+1……m+w。不同的项目取前前三名积分;前三名的积分分别为:5、3、2。(m、w<=20,n<=10)。 目标: 1.可以输入各个项目的前三名或前五名的成绩; 2.能统计各学校总分; 3.可以按学校编号、学校总分、男女团体总分排序输出; 4.可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。 规定:输入数据形式和范围:20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)。

EXCEL成绩统计分析常用函数

EXCEL成绩统计分析常用函数 1、总分=SUM() 2、平均分=A VERAGE() 3、+ - * /加减乘除括号() 4、分数段统计 函数:FREQUENCY() 以一列垂直数组返回某个区域中数据的频率分布。例如,使用函数F REQUENCY 能够运算在给定的分数范畴内测验分数的个数。由于函数FR EQUENCY 返回一个数组,因此必须以数组公式的形式输入。 语法 FREQUENCY(data_array,bins_array) Data_array为一数组或对一组数值的引用,用来运算频率。如果data_array 中不包含任何数值,函数FREQUENCY 返回零数组。 Bins_array为间隔的数组或对间隔的引用,该间隔用于对data_array 中的数值进行分组。如果bins_array 中不包含任何数值,函数FREQUENCY 返回data_array 中元素的个数。 讲明 在选定相邻单元格区域(该区域用于显示返回的分布结果)后,函数FREQUENCY 应以数组公式的形式输入。返回的数组中的元素个数比bi ns_array(数组)中的元素个数多1。返回的数组中所多出来的元素表示超出最高间隔的数值个数。例如,如果要运算输入到三个单元格中的三个数值区间(间隔),请一定在四个单元格中输入FREQUENCY 函数运算的结果。多出来的单元格将返回data_array 中大于第三个间隔值的数值个数。函数FREQUENCY 将忽略空白单元格和文本。关于返回结果为数组的公式,必须以数组公式的形式输入。 5、不及格红色显示 “格式”菜单中的“条件格式”命令 6、排名显示=RANK(number,ref,order)

相关主题