c语言编程运动会分数统计系统,东华大学数据结构设计C语言运动会分数统计系统...

这是一个关于东华大学数据结构课程设计的实验报告,任务是使用C语言设计一个运动会分数统计系统。系统能够记录比赛项目信息,包括项目编号、名次、学校编号和得分,支持录入、查询和统计功能。需求包括输入比赛结果、统计学校总分、按学校和项目排序及查询。系统采用结构体数组存储数据,并实现了相应的功能函数。
摘要由CSDN通过智能技术生成

41528d3028836879cd698677c3999917.gif东华大学数据结构设计C语言运动会分数统计系统

东华大学数据结构设计 C 语言运动会分数统计系统东华大学数据结构课程设计 实验报告实验名称: 运动会分数统计系统指导教师:学生姓名:学生学号:实验日期:1目 录一、设计题目 ……………………………………………………(3)二、任务…………………………………………………………(3)三、功能要求和测试数据 ……………………………………(3)四、需求分析 ……………………………………………………(4)五、概要设计……………………………………………………(5)5.1 系统的流程框图…………………………………………(5)5.2 系统各函数的功能、相互调用关系 …………………(6)六、详细设计……………………………………………………(5)6.1 各变量的定义和作用 ………………………………(8)6.2 系统各函数的功能 …………………………………(8)七、调试分析……………………………………………………(21)八、用户手册 …………………………………………………(22)九、测试结果……………………………………………………(22)十、心得体会与参考文献………………………………………(22) 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需求分析4.1 需求分析本程序在运行期间,为了避免在运行大量数据时不会出错,并且能够在很短的时间内将运行结果稳定输出,就需要系统达到安全性能好,可靠性高,稳定性强,处理数据迅速等特点,应具备一定的实用性。4.1.1 功能实现(1)记录功能。能记录一次运动会的所有项目信息,如其编号,名称,是男子项目还是女子项目,是取前三名还是前五名,以及取得名次的学校编号;能记录参加本次运动会的学校个数,以及学校的编号,并能添加,修改,删除其中的信息。(2)查询功能。能根据项目编号查询在该项目上获得名次的学校编号,并按名次先后顺序输出;能根据学校编号和项目编号查询该学校在该项目上获得的名次以及得分情况。(3)统计功能。能统计各个学校的总分,男子团体总分,女子团体总分。4.1.2 相关规定:输入数据形式和范围:20 以内的整数,也可以输入学校的名称,运动项目的名称44.1.3 输出形式:有中文提示,各学校分数为整形。4.1.4 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。概要设计4.1 系统的流程框图程序调用关系void main()调用了 void basic(),void matchoutvoid, void (),void output(),void teamoutput( );void output() 调用了 void index();void teamoutput( )调用了 void teamsco();void teamsco()调用了 void index();详细设计#includeiostream.h#includestdlib.h#includeconio.h /*conio 是 Console /Output(控制台输入输出)的简写,其中定义了通过控制台进行数据输入和数据输出的函数,主要是一些用户通过按键盘产生的对应操 5作,比如 getch()函数等等。*/#define N 20 /*参赛学校数量*/int help[N];/*成绩排序时使用 */int n,m,w; /* 定义代表学校、男子项目、女子项目数量的变量 */ int a,b; /* 项目编号,项目名次个数 */struct Score /* 定义项目比赛结果名次列表元素结构体 */ {int schnum; /* 学校编号*/char name[20]; /* 姓名 */int position; /* 名次 */int score; /* 得分 */};struct Match /* 定义运动项目结构体 */{int matnum; /* 项目编号 */int num; /* 项目名次个数 */struct Score list[5]; /* 名次列表数组,结构体数组*/}ma[50];struct SchoolScore /* 定义学校成绩单元素 */{int matnum; /* 项目编号 */int position; /* 名次 *///char name[20]; /* 姓名 */int score; /* 得分 */};struct School /* 定义学校结构体 */{int schnum; /* 学校编号 */struct SchoolScore list[50]; /* 成绩单列表数组 */int team; /* 团体总分 */int mteam; /* 男子团体总分 */int fteam; /* 女子团体总分 */int num; /* 累加数 */}sc[20];void ( ) /* 输入比赛数据 */{ int i,rank,c;cout请输入比赛结果资料 endl;for(i=0;im+w;i++)ma[i].matnum=i+1; /* 初始化项目编号 matnum */6cout请输入比赛项目编号 1-m+wendl;cinc; /*项目编号 */if((c0)(c=m+w))do{cout选择名次类型 :取前 3 名输入 3,取前 5 名输入 5:; /* 判断名次类型 */ cinrank;if (rank==3)ma[c-1].num=3; /* 项目名次个数为 3 */if(rank==5)ma[c-1].num=5;else if(rank!=3rank!=5)cout输入错误 ,请重新输入:;} while (rank!=3rank!=5);cout第c 项比赛: 取前ma[c-1].num名endl;for(i=0;ima[c-1].num;i++){ma[c-1].list[i].position=i+1;do{coutendl输入第i+1名所在学校编号:;cinma[c-1].list[i].schnum;if(ma[c-1].list[i].schnum1 || ma[c-1].list[i].schnumn)cout错误!输入的编号应为 1-n之间!; /* 输出出错信息 */ }while (ma[c-1].list[i].schnum1 || ma[c-1].list[i].schnumn);cout请输入该比赛项目学校得分 ;cinma[c-1].list[i].score;}}void

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值