数据结构 运动会分数统计

来源:百度知道 编辑:UC知道 时间:2024/06/05 05:42:04
任务:参加运动会有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、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;
知道的发我邮箱5115559@qq.com 谢谢了!
http://zhidao.baidu.com/question/66878769.html
满意的两个分都给

这个单纯的数据库就可以搞定了吧

你自己把相应的表建好,导入测试数据然后
那些要求都很容易就可以实现查询出来的啊。

比如有2个表。学生信息stuinfor和分数信息scoinfor,结构为
stuinfor
学校名 schname varchar2(20)
学生姓名 stuname varchar2(20)
性别 sex char(2) check in ('男'or'女')
参赛编号 stid number 主键

scoinfor
参赛编号 scid number 表stuinfor主键stid的外键
项目名 itemname varchar2(20)
名次 orderid number
成绩 grade number

1).可以输入各个项目的前三名或前五名的成绩
那么你就弄个按钮,可以输分数和项目名称,然后点击提交就实现
insert into scoinfor (scid,item,orderid,grade) values (参赛编号,项目名,名次,成绩)就OK了。

2).能统计各学校总分
有5个名次的项目
select itemname from scoinfor group by itemname where count(orderid) =5;

有3个名次的项目
select itemname from scoinfor group by itemname where count(orderid) =3;

view C,连接两表
select schname,stid,itemname,orderid from stuinfor,scoinfor where stid = scid;

执行查询语句
select AA+BB as SUMscore from
(select sum(decode(C.orderid,1,5,2,3,3,2))