运动会计分系统

待我长发及腰送你一把剪刀
  • 回答数

    3

  • 浏览数

    15900

首页> 会计职称> 运动会计分系统

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)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 结构体运动项目 { 项目编号 ;名次;};学校{ 学校编号;项目;团体总分;男团体总分;女团体总分;};2 主程序(main) 包括登陆欢迎程序,分数录入程序,查询程序,退出程序3 程序模块机之间的调用关系流程图三、详细设计 1、宏定义:#define N 2#define bm 4#define gm 3 2、数据类型定义(1)运动项目的定义:struct match{int matchnum;int rank[3];}mat[bm+gm];(2)学校的定义: struct school{int schoolnum;struct match mat[bm+gm];int total;int boytotal;int girltotal;}sch[N];3、函数之间的调用关系4、算法设计主要算法的设计思想:本程序主要是使用顺序表来实现操作。一个运动会包括运动项目和参加运动会的学校。因此构造顺序表match,school。为了操作的方便,设计了一个总目录,选择相应序号进入各个操作,并有错误提示,每完成一个操作程序会提示选择返回目录或退出程序,对于总分的排序使用了冒泡排序。为了使整个程序界面看起来更加惬意,又添加了背景和字体颜色设置的程序语句。每个操作前都有操作指南,易于使用。四、调试分析 1、由于刚开始程序比较简单,虽能运行,但处理错误的能力很低,后来经过反复的添加修改,使程序能处理了错误,提高了健壮性。 2、开始编时由于不太规范,编译出错后由于程序长,很难找到错误,后来规范了格式,错误容易找到了,以后编程要规范。 3、算法的时空分析 线性表使用的是顺序结构,各种算法的时间复杂度相对比较合理 4、本程序相对来说比较容易看明白,其中涉及到的一些函数相对来说比较容易。通过调试,运行,基本上达到了要求,但还存在一些缺点。如:不够人性化等。五、测试结果 <1>数据输入(输入成绩如图)输入:请输入学校编号:1项目编号1234567第<1>名: 1 0 0 1 1 0 0第<2>名: 1 1 1 0 0 1 0第<3>名: 0 0 0 0 1 1 1请输入学校编号: 2项目编号 1 2 3 4 5 67第<1>名:0 1 1 0 0 11第<2>名:0 0 0 1 1 01第<3>名:1 1 1 1 0 00输入成绩后出现总目录(下图); (1)输入:1输出: (2)输入:1 返回总目录,再输入:2输出: (3)输入:1 返回总目录,再输入:3输出: (4)输入:1 返回总目录,再输入:4输出: (5)输入:1 返回总目录,再输入:5输出: (6)输入:1 返回总目录,再输入:6,学校编号输入:1,项目编号输入:5输出: (7)输入:2,返回上一级,再输入学校编号:2,项目编号:1输出: (8)输入:1,返回总目录;再输入:7,输入项目编号:7输出: (9)如果输入提示外的数字,例如输入:4则输出错误提示: (10)输入:0 输出: 六、用户手册1、运行环境Windows,VC++6.0 2、用户界面 3、操作过程(1)用户进入运动会分数统计系统程序欢迎界面(2)录入成绩,先输入要输入的学校编号,1或2;再输入对应学校的1-7项目的成绩(成绩用0或1:‘0’表示没获得该项目的该名次,‘1’表示获得了该项目的该名次)当成绩录入错误时会有错误提示。(3)进入总目录,按提示,输入0--7中的一个数;输入:0则推出系统;输入:1统计各学校总分并输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);输入:2按学校编号排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);输入:3按学校总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);输入:4 按男团体总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录);输入:5 按女团体总分排序输出;然后选择‘0’或‘1’(‘0’表示退出系统,‘1’表示返回总目录); 输入:6 按学校编号查询学校某个项目编号;选择学校编号1或2;然后选择项目编号1--7;输出项目成绩;然后选择0或1或2(‘0’表示退出系统,‘1’表示返回总目录,‘2’表示返回上一级); 输入:7 按项目编号查询取得名次的学校;选择项目编号1--7;输出成绩;然后选择0或1或2(‘0’表示退出系统,‘1’表示返回总目录,‘2’表示返回上一级);七、参考文献(1)《C程序设计》(第三版) 谭浩强 著 清华大学出版社(2)《数据结构》(C语言版)作者:严蔚敏,吴伟民出版社:清华大学出版社(3)《数据结构题集》(C语言版)作者:严蔚敏,吴伟民 出版社:清华大学出版社八、附录1、源程序#include#include#define N 2学校个数#define bm 4 男团体个数#define gm 3女团体个数void xuanze();void xunhuan();struct match项目{int matchnum;int rank[3];}mat[bm+gm];struct school 学校{int schoolnum;struct match mat[bm+gm];int total;int boytotal;int girltotal;}sch[N];void huanyingni() *开始界面,欢迎使用*{printf("nn东华大学信息科学与技术学院电气0910班周涛涛nnn");printf("t***^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^***nn");printf(" 欢迎使用运动会分数统计系统nn");printf("t***^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^ ^_^***nn ");}void input() 输入成绩{int i,j,k;for(i=0;iN) { printf("输入错误(只能是1-%d)请重新输入:",N); goto loop3; } printf("项目编号");for(k=0;k=bm)sch[i].girltotal=sch[i].girltotal+b;}}void mulu(){printf("nn **系统目录**n"); 目录printf("tt ************************************n");printf("tt* 1.统计各学校总分 *t n");printf("tt* 2.按学校编号排序输出 *t n");printf("tt* 3.按学校总分排序输出 *t n");printf("tt* 4.按男团体总分排序输出 *t n");printf("tt* 5.按女团体总分排序输出 *t n");printf("tt* 6.按学校编号查询学校某个项目情况 *t n");printf("tt* 7.按项目编号查询取得名次的学校 *t n");printf("tt* 0.退出 *t n");printf("tt ************************************n");}void funct0() 退出系统{printf("ntt*******谢谢使用! *******n");printf("ntt*******谢谢使用! *******n");exit(0);}void funct1()统计各学校总分{ int i,q;printf("**********统计各学校总分**********n");printf("**学校编号**tttt**总分**n");for(i=0;isch[i+1].schoolnum){sch1=sch[i];sch[i]=sch[i+1];sch[i+1]=sch1;}printf("**********按学校编号排序**********n");printf("**学校编号**tttt**总分**n");for(i=0;i

183评论

短路情人

网上应该有现成的

164评论

有一种单身只为等待一人

运动会计分系统用的顺序表链表。

运动会计分系统在比赛期间或比赛结束后统计成绩时,用于在比赛过程中和比赛结束后收集比赛成绩,并向用于比赛成绩的处理和传送的成绩系统传送数据。

运动会计分系统的功能要求:

1、系统以菜单方式工作。

2、由程序提醒用户填写比赛结果,输入各项目获奖运动员信息。

3、所有信息记录完毕后,用户可以查询各个学校的比赛成绩。

4、查看参赛学校信息和比赛项目信息等。取前5名:第一名得分7分,第二名得分5,第三名得分3,第四名得分2,第五名得分1;取前3名:第一名得分5,第二名得分3,第三名得分2。

27评论

相关问答