c语言校级运动会实验报告,运动会成绩统计--实验报告.doc

实验说明 题目 运动会分数统计 一一 需需求求分分析析 1 在该程序中 参赛学校编号为 1 n n 20 比赛分成 m m 30 个男子项目和 w w初始化学校信息 2 依次输入每个运动员的信息 3 根据每个学生的成绩计算对应的得分 及个学校的总得分 男团总 分 女团总分 4 生成个学校的成绩单 并输出 三三 详详细细设设计计 1 数数据据结结构构的的定定义义 描描述述运运动动员员的的线线性性表表 1 1 typedef struct int item MAXSIZE 参赛项目号 char thletename MAXSIZE 20 姓名 char sex MAXSIZE 性别 int schoolnum MAXSIZE 所在学校编号 int num MAXSIZE 名次 int point MAXSIZE 得分 int last Thlete 描述学校的线性表描述学校的线性表 2 typedef struct int schoolnum MAXSIZE 学校编号 int Tgirl MAXSIZE 女生团体总分 int Tboy MAXSIZE 男生团体总分 int Tall MAXSIZE 学校总成绩 int last School 控制输入的函数控制输入的函数 3 3 int input Thlete S1 int n int m int w cout 项目号 t 姓名 t 性别 t 学校号 t 名次 t last MAXSIZE 1 cout 运动员人数已满 无法继续输入 S1 item i i if i 100 1 cout 运动员人数已满 无法继续输入 last i for i 0 ilast i if S1 schoolnum i n cout 您的输入有误 输入学校个数不能超过 n 请重新输 入 sex i g input S1 n m w return ERROR return RIGHT 用于计算学校各项成绩的函数用于计算学校各项成绩的函数 3 3 void mark Thlete L1 School L2 int n int m int w int i j for i 0 ilast 1 i if L1 item i 2 1 项目编号为奇数的按第一种评分方法计算得分 if L1 num i 1 L1 point i 7 if L1 num i 2 L1 point i 5 if L1 num i 3 L1 point i 3 if L1 num i 4 L1 point i 2 if L1 num i 5 L1 point i 1 if L1 num i 5 L1 point i 0 if L1 item i 2 0 项目编号为偶数的按第二种评分方法计算得分 if L1 num i 1 L1 point i 5 if L1 num i 2 L1 point i 3 if L1 num i 3 L1 point i 2 if L1 num i 3 L1 point i 0 for i 0 ilast 1 i for j 0 jlast 1 j if L2 schoolnum i L1 schoolnum j if L1 sex j b L2 Tboy i L2 Tboy i L1 point j 累加各学校的男团总分 if L1 sex j g L2 Tgirl i L2 Tgirl i L1 point j 累加各学校的女团总分 L2 Tall i L2 Tgirl i L2 Tboy i 计算个学校的集体总分 控制输出成绩的函数控制输出成绩的函数 4 4 void output Thlete L1 School L2 int i j for i 0 i L2 last 1 i cout 第 i 1 号学校的成绩 endl cout endl cout 学校 t 项目 t 姓名 t 性别 t 名次 t 得分 endl for j 0 j L1 last 1 j if L2 schoolnum i L1 schoolnum j cout L1 schoolnum j t L1 item j t L1 thletename j t L1 sex j t L1 num j t L1 point j endl cout i 1 号学校的女子团体总分为 L2 Tgirl i endl cout i 1 号学校的男子团体总分为 L2 Tboy i endl cout i 1 号学校的全体运动员总分为 L2 Tall i endl cout sex i g 和S1 sex i b 必须是并且关系 b 当检测到错误 需要重新输入时 要在输入函数里再调输入函数 用递归调用的方法实现重新输入 开始 InitSCH include define MAXSIZE 100 define ERROR 0 define RIGHT 1 n m w 回车 项目号项目号 姓名姓名 性别性别 学校号学校号 名次名次 根据提示输入数据 输出 第第 i 1 i 1 last n 1 for i 0 ilast 1 i S schoolnum i i 1 S Tgirl i 0 S Tboy i 0 S Tall i 0 int input Thlete S1 int n int m int w cout 项目号 t 姓名 t 性别 t 学校号 t 名次 t last MAXSIZE 1 cout 运动员人数已满 无法继续输入 S1 item i i if i 100 1 cout 运动员人数已满 无法继续输入 last i for i 0 ilast i if S1 schoolnum i n cout 您的输入有误 输入学校个数不能超过 n 请 重新输入 sex i g input S1 n m w return ERROR return RIGHT void mark Thlete L1 School L2 int n int m int w int i j for i 0 ilast 1 i if L1 item i 2 1 项目编号为奇数的按第一种评分方法计 算得分 if L1 num i 1 L1 point i 7 if L1 num i 2 L1 point i 5 if L1 num i 3 L1 point i 3 if L1 num i 4 L1 point i 2 if L1 num i 5 L1 point i 1 if L1 num i 5 L1 point i 0 if L1 item i 2 0 项目编号为偶数的按第二种评分方法计 算得分 if L1 num i 1 L1 point i 5 if L1 num i 2 L1 point i 3 if L1 num i 3 L1 point i 2 if L1 num i 3 L1 point i 0 for i 0 ilast 1 i for j 0 jlast 1 j if L2 schoolnum i L1 schoolnum j if L1 sex j b L2 Tboy i L2 Tboy i L1 point j 累加各学校的男团总分 if L1 sex j g L2 Tgirl i L2 Tgirl i L1 point j 累加各学校的女团总分 L2 Tall i L2 Tgirl i L2 Tboy i 计算个学校的集体总分 void output Thlete L1 School L2 int i j for i 0 i L2 last 1 i cout 第 i 1 号学校的成绩 endl cout endl cout 学校 t 项目 t 姓名 t 性 别 t 名次 t 得分 endl for j 0 j L1 last 1 j if L2 schoolnum i L1 schoolnum j cout L1 schoolnum j t L1 item j t L1 thletename j t L1 sex j t L1 num j t L1 point j endl cout i 1 号学校的女子团体总分为 L2 Tgirl i endl cout i 1 号学校的男子团体总分为 L2 Tboy i endl cout i 1 号学校的全体运动员总分为 L2 Tall i endl cout endl int main int i j k n m w Thlete S1 S1 last 1 School S2 cout 欢迎进入运动会成绩录入及统计 系统 endl cout endl cout n cout m cout w InitSCH 初始化学校成绩 将个项目得分均置为零 input 调用输入函数 mark output S1 S2 system pause return 0

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
运动会分数统计 问题描述:参加运动会有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) 数据存入文件并能随时查询 6) 规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称 输出形式:有中文提示,各学校分数为整形 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值