搜档网
当前位置:搜档网 › 田径运动会管理系统

田径运动会管理系统

田径运动会管理系统
田径运动会管理系统

分类号编号

华北水利水电大学North China Institute of Water Conservancy and Hydroelectric Power

课程设计

题目田径运动会管理信息系统

学院信息工程学院

专业计算机科学与技术

小组成员1 严晶(201114211)

小组成员2 张伟健(201114213)

小组成员3 张浩(201114214)

小组成员4 张富源(201114217)

指导教师王合闯

2014年12 月6 日

华北水利水电大学软件工程课程设计报告

2013~2014学年第一学期2010级计算机科学与技术专业

小组成员1:严晶(201114211) 分工:需求分析和数据库创建

小组成员2:张伟健(201114213)分工:系统人员管理模块

小组成员3:张浩(201114214) 分工:运动员成绩管理模

小组成员4:张富源(201114217)分工:运动员管理模块

一.系统描述

本系统采用软件工程原理,使用面向对象的Java编程环境编写校级运动会管理系统,利用MY SQL数据库技术,对数据库进行了全面的开发。系统主要包括前台应用程序的开发以及后台数据库的建立和维护两个方面,实现了运动员成绩数据库的创建及运动员成绩的输入、统计、浏览和维护,使得系统具有界面友好,功能强大,易于维护的特点。

本校级运动会管理系统在功能实现方面主要分为以下几点:

1)运动员个人信息管理模块。运动员管理与普通的用户管理基本类似,包括用户的添加、修改、编辑和删除功能,参赛项目的维护。例如有的运动员临时因伤不能参寒,有的又调整为可以参加某个项目(虽然严格说来,不允许运动员临时更改参赛项目,但需要在系统中留有余地)。

2)运动员成绩管理模块。操作员可以对成绩进行录入,一旦提交则只能查看不能修改管理员可以查看成绩并调整成绩,因为前场工作人员可能犯错,需要管理员进行更改,但日志中要对此更改进行记录。运动员可以通过终端查看运动成绩。

3)权限管理模块。管理员可以对操作人员进行信息维护,如增加前场成绩录入人员,或者某位成绩录入人员调离岗位则取消其权限。对于运动员可以匿名查询某个项目的成绩。

综合以上情况,设计系统体系结构如图1所示。

图1

应用层提供诸如GUI的显示、事件的处理等;代理层是分离上层和具体数据库访问层的,也可以称为业条层,这样的目的是当数据库发生变更时,可以将程序的改动缩减到最小。数据库接口层是与具体的数据库进行交互,对数据进行提取、存入操作。模块包是与数据库实体相对应的类定义,也可以说与数据库中的每条记录相对应。

二.详细设计

1、模块功能

1.1、系统人员管理模块

该模块实现系统人员的添加、修改、查询和删除,先在数据库中添加管理员帐户。管理员在用户管理方面拥有一切权限,而普通用户只有修改个人密码、查询个人信息、运动会比赛信息、比赛成绩及获奖情况的权限。如图2所示。

图2

1.2、运动员管理模块

该模块由管理员对运动员个人信息的录入、修改及删除功能。普通用户可以实现对运动员个人信息的查询功能。其功能层次如图3所示。

图3

1.3、运动员成绩管理模块

该模块实现管理员录入运动员的成绩、查询成绩、修改成绩删除查询到的成绩信息以及普通用户查询成绩。其功能层次图如图4所示。

图4

2、数据库结构设计

表1 运动会项目表(SportItems)

表2 运动员参赛项目表(ItemAttend)

表3 运动员个人信息表(Sportor)

表4 系统用户信息(SysUser)

表5 系统用户角色(Roles)

3、界面及代码设计

3.1、登录子系统开发

由于每个系统中都涉及登录子系统,因此在这里并不进行过多介绍,只提供一个登录子系统的框架,登录成功后程序的流程应根据登录用户的身份来区别对待。登录系统的界面如图5所示。

图5

当用户输入用户名、密码和登录身份后,会通过RoleAccessProxy类进行底层访问,查看用户登录信息是否正确!

3.2、系统用户管理模块

系统用户管理模块是实现对本系统中的操作人员——管理人员的权限分配、个人信息修改、密码设定、删除等功能,其运行界面如图6所示。

图6

系统用户管理的界面相对复杂一些,其中最左边是一个列表框,用来显示列表式的数据,在这里就是本系统中的用户。右侧面板主要是当选中左侧列表中的某个用户时显示该用户的对应信息,可以对用户数据进行编辑、删除等操作。

单击“更新用户”按妞,则触发相应事件,调用SysUserProxy类实现更新操作。与登录子系统中的RoleAccessProxy类相类似,SysUserProxy也是对数据访问进行了封包,使

上层应用无须与底层直接接。这样增强了系统的可移植性和可扩展性。关于SysUserProxy类的代码在此处省略。

3.3、运动员信息管理模块

运动员信息管理模块主要实现对人员个人信息的维护,其界面布局与系统用户管理模块类似,如图7所示。

图7

3.4、运动员成绩管理模块

这一功能模块在结构上采用三级连动方式,即一级菜单的动作触发二级菜单的响应,二级菜单的动作影响三级菜单的显示。基于这个依据,设计界面如图8所示。

图8

仔细阅读前面的代码,其实逻辑并不复杂,主要是当鼠标选中左边的一项时,会触发相应的事件,从数据库中提取相应的数据填充中间的列表框,当中间的列表框有数据被选中时,则将相关的数据显示在最右边的面板上。

另外,在这个系统的各个层次中,需要使用到一些输助类,这些类与具体的对象相关联。例如表示运动员实体的类SportsMan,其与数据库的记录一一对应。这样便于在类与数据之间实现自由转换。有关于这些辅助类的代码就不一一列出了!

三.心得体会

在我们整个软件工程过程中,我体会到了许多,也学到了许多。

需求调研和分析对于软件开发过程至关重要。我们在开发时如果不进行调研和分析,那么对于后来的项目进展将产生致命的后果。我们在项目的开发中便遇到了这样的问题。我们开始自己随意的计划整个系统的设计,然后报给老师,老师作为一个客户并不是全部认同,随后我们也必须按着客户的要求更改我们的设计报告。我也明白了,再做一个系统时,必须随时和客户保持沟通,随时了解他们需要什么,他们想要什么功能。如果我们不去和客户沟通,不去调研客户的需求,做出来的系统即使在我们看来是一个很好,很完美的产品,但是如果客户不认同,那么我们所做的一切都是徒劳,还要返工去修改,费时费力。所以在做任何一个项目时,前期的需求调研和需求分析都是必须的,这是在做一个项目的基本,是关系成败的重要一环。

对于一个项目,它的需求设计也非常重要。在我们的开发的过程中,遇到了一些问题,出现的这些问题很多都是非常棘手的,我们为了解决这些棘手的问题浪费了大量的时间,我们不得不在工程代码上改了又改,在数据库里增表、删表、加数据、减数据,当然,在文档里也要做出相应的修改以适应新的功能。还好,我们能及时地发现问题,通过相互沟通讨论,问题也得到了解决。通过总结,我们也意识到,我们大家在做需求分析和进行需求了解时仅仅考虑了一些基本的功能,而至于管理员和客户之间的联系,以及具体的一些流程我们都没有深究,而导致我们到后期花费了大量的时间用于修复之前没有考虑周全而带来的问题。如果我们的需求设计能够比较清晰和完善,那么我们在开发过程中便会很明白的知道我们应该实现什么样的功能,在数据库里应该怎样建表,以什么方式插入数据,从而可以避免反复修改工程的问题,也能避免出现可能毁坏整个工程的问题。整个工程的需求设计对于一个项目的顺利进展至关重要。

对于文档在软件工程中的作用,我在这次项目开发过程中有了更加深刻的理解。文档在软件开发过程中是很有用的,文档是一项必不可少的东西,但文档也不能太多,太过繁琐,如果是那样就不太好了。首先我们要明确开发过程中为什么要写这些文档,文档的最根本的作用是为了更好的沟通。一个项目或产品可能需要延续很长的时间,开发过程中可能需要很多的环节,可能会遇到很多的问题和很多的解决的方法,这时,我们需要文档的帮助,我们需要有一个东西来记录,我们需要有一个共同的声音。文档只不过是一个准绳,将开发中的各个树枝树叶扶正。如果,这个准绳太多太紧,大树可能会发育的很高很直,但是就是有些畸形,如果这个准绳太少太松,大树可能就会变成灌木丛。文档的多少、繁简是有度的,绝对不能说越多越好。我觉得,文档需要说明解决问题的方法而不是解决问题的理论,因为解决问题的理论是在文档形成中做到的。文档完整即可,每一份文档说明一个问题,无需将多个文档的内容放在一个文档的里面。除了重要阶段形成文档,其它部分都只是讨论或者说是想法。不要让文档成为累赘,如果真是这样,我认为就是该考虑写这些文档的必要性的时候了。我们在文档的时候,一定要

明白为什么要写这些。

在整个项目开发过程中,我们也同时遇到了许多程序接口问题,页面和功能相结合的问题,数据库建表的问题,这些问题都是源于我们项目小组成员之间的沟通不足。我深刻认识到,在项目开发时,项目小组中各个成员之间的相互沟通是非常重要的。如果我们要在功能方面作出修改,那么程序人员和页面人员及数据库人员就必须相互沟通,共同对整个程序作出相应的修改,这样才能避免最终整合时出现问题。

在这几周里,我还对软件工程有了新的理解。在我以前的理解当中,软件工程,无非就是一个人或者几个人或一个团队集中在一起进行编写代码的工作,以实现开发出所用的软件。但现在我明白了,软件工程的作用,就是告诉人们怎样去开发软件和管理软件。具体地讲,它表现在与软件开发和管理有关的人员和过程上。所以,软件工程就不仅仅是单一的编程过程了。它包括了系统分析->建模->概要设计->详细设计->编码->测试->维护。编码可以理解为编程,这个只占总时间的20%左右。编程只是其中的一小部分。

在这次项目里我完成了许多工作,全部的用户页面及部分管理员页面的制作,在后期项目整合过程中修改了功能和界面结合时出现的bug,还有数据库插入数据及解决数据库集中整合时出现的问题。这些工作我都顺利完成了,虽然并不能算是非常的出色,但也算是尽力了。现在看到自己辛劳的成果,我感到很欣慰。

附件:

public static void main(String[] args) {

// TODO Auto-generated method stub

/*根据需要,打开下面运行开关*/

/*主登录窗口界面

StartApp mainForm = new StartApp();

mainForm.InitUI();

*/

//运动员管理模块

//new SportorManagement();

//

//运动员成绩管理模块

new SportorScoreManagement();

//

//系统人员管理模块

new SysUserManagement();

//

}

public class LoginEvtHandle implements ActionListener{ public void actionPerformed(ActionEvent e){

try{

if( (JButton)e.getSource() == jbtLogin ){

//根据用户登录身份,转向对应的界面

String UserName = jtxtUser.getText().trim();

String Password = jtxtPass.getText().toString();

EnumRole role = UserRole.getUserRole( jcmbIdentify.getSelectedItem().toString().trim() );

System.out.println("UserName:" + UserName + " Password:" +

Password + " " + "Role :" + role);

if( role == EnumRole.NOROLE ){

JOptionPane.showMessageDialog(null,"用户角色未设定,请单击匿名登录访问系统!","错误",JOptionPane.ERROR_MESSAGE);

return;

}

else if( role == EnumRole.NOTSUPPORT ){

JOptionPane.showMessageDialog(null,"用户角色不支持,请联系管理员!","错误",JOptionPane.ERROR_MESSAGE);

return;

}

else if( role == EnumRole.SYSADMINISTRA TOR ){

//连接数据库,验证是否管理人员

RoleAccessProxy roleProxy = new RoleAccessProxy();

if( roleProxy.ValidateUserExist(UserName,Password,RoleIdMapRoleName.SYSADMIN) == true )

JOptionPane.showMessageDialog(null,"登录成功!","正确",https://www.sodocs.net/doc/c41969185.html,RMA TION_MESSAGE);

else

{ JOptionPane.showMessageDialog(null,"用户角色不支持,请联系管理员!","错误",JOptionPane.ERROR_MESSAGE);

System.exit( - 1 );

}

}

else if( role == EnumRole.SYSOPERATOR ){

//连接数据库,验证是否系统操作人员并转到相应界面

RoleAccessProxy roleProxy = new RoleAccessProxy();

if( roleProxy.ValidateUserExist(UserName,Password,RoleIdMapRoleName.SYSOPERATOR) == true )

JOptionPane.showMessageDialog(null,"登录成功!","正确",https://www.sodocs.net/doc/c41969185.html,RMA TION_MESSAGE);

else

{

JOptionPane.showMessageDialog(null,"用户角色不支持,请联系管理员!","错误",JOptionPane.ERROR_MESSAGE);

return;

}

}

else{

JOptionPane.showMessageDialog(null,"发生未知错误!","错误",JOptionPane.ERROR_MESSAGE );

return;

}

}

else if( (JButton)e.getSource() == jbtAnonymous ){

System.out.println("Anonymous");

}

else

System.out.println("Unsupported!");

}

catch(Exception ex){

System.out.println("Unknow Exception: "+ ex.getMessage() );

}

else if(e.getSource() == (JButton)btnDelUser){

String userId = txtUserId.getText();

String finalSql = "DELETE FROM sportor WHERE SPORTORID='"+userId+"'";

SportorProxy UserProxy = new SportorProxy();

UserProxy.UpdateUserById(finalSql);

lstUserList.removeAll();

InitCtlData();

JOptionPane.showMessageDialog(null,"删除成功!","成功",https://www.sodocs.net/doc/c41969185.html,RMA TION_MESSAGE);

return;

}

}

}

}

UserProxy .UpdateUserById(finalSql);

JOptionPane.showMessageDialog(null,"更新成功!","成功",https://www.sodocs.net/doc/c41969185.html,RMA TION_MESSAGE);

return;

}

class UserOperAction implements ActionListener{

public void actionPerformed(ActionEvent e){

if( e.getSource() == (JButton)btnAddUser ){

//增加系统用户

/*课后作业*/

JOptionPane.showMessageDialog(null,"新增成功!","成功",https://www.sodocs.net/doc/c41969185.html,RMA TION_MESSAGE);

return;

}

else if( e.getSource() == (JButton)btnUpdateUser ){

//更新现有用户

String userId = txtUserId.getText();

String userName = txtUserName.getText();

String Gender;

if( cmbGender.getSelectedItem().toString().equals("男"))

Gender = "M";

else

Gender = "F";

float weight = 0.0f;

if( txtUserWeight.getText() != null && txtUserWeight.getText() != "")

weight = Float.parseFloat(txtUserWeight.getText());

float height = 0.0f;

if( txtUserHeight.getText() != null && txtUserHeight.getText() != "")

height = Float.parseFloat( txtUserHeight.getText() );

int age = 0;

if( txtUserAge.getText() != null && txtUserAge.getText() != "")

age = Integer.parseInt( txtUserAge.getText() );

int grade = 0;

if( txtUserGrade.getText() != null && txtUserGrade.getText() != "")

grade = Integer.parseInt( txtUserGrade.getText() );

String Void;

if( chkSysUserV oid.isSelected() == true)

V oid = "Y";

else

V oid = "N";

String finalSql = "";

finalSql = "UPDATE sportor "+

" SET NAME='" + userName +"',GENDER='"+Gender + "', "+

" WEIGHT=" + weight + ", HEIGHT =" + height + ", " +

" AGE = " + age +", " + " GRADE = " + grade + ",VOID='" + Void + "' "+

"WHERE SPORTORID='"+ userId + "'";

SportorProxy UserProxy = new SportorProxy();

SysUserProxy sysUserProxy = new SysUserProxy();

vecSysUsers = sysUserProxy.getAllSysUsers();

try{

sysUserProxy.closeDbConnection();

}

catch(SQLException ex){

}

for( int i = 0; i < vecSysUsers.size(); i ++ ){

lstUserList.add(((SysUser)vecSysUsers.elementAt(i)).getName() + " "+ ((SysUser)vecSysUsers.elementAt(i)).getSysUserId());

}

/*为控件注册事件*/

this.lstUserList.addItemListener( new ListItemChange() );

UserOperAction btnEvtHandle = new UserOperAction();

this.btnDelSysUser.addActionListener(btnEvtHandle);

this.btnUpdateUser.addActionListener(btnEvtHandle);

}

class ListItemChange implements ItemListener{

public void itemStateChanged(ItemEvent e){

java.awt.List lstCtrl = (java.awt.List)e.getSource();

String str = lstCtrl.getSelectedItem();

if( str == null || str == "")

return;

String[] result = str.split("\\s"); //分解成Token

String sysUserId = result[2];

SysUserProxy sysUserProxy = new SysUserProxy();

SysUser instanceSysUser = sysUserProxy.getUserById(sysUserId);

txtSysUserId.setText( instanceSysUser.getSysUserId() );

txtSysUserName.setText( instanceSysUser.getName() );

if( instanceSysUser.getGender().equals( "M") )

cmbGender.setSelectedIndex(0);

else if( instanceSysUser.getGender().equals("F"))

cmbGender.setSelectedIndex(1);

txtSysUserPassword.setText( instanceSysUser.getPassword() );

txtRetrySysUserPassword.setText( instanceSysUser.getPassword() );

if( instanceSysUser.getRoleId().equals(RoleIdMapRoleName.SYSADMIN ))

cmbSysUserRole.setSelectedIndex(0);

else if(instanceSysUser.getRoleId().equals(RoleIdMapRoleName.SYSOPERATOR) )

cmbSysUserRole.setSelectedIndex(1);

else

cmbSysUserRole.setSelectedIndex(2);

if( instanceSysUser.getV oid().equals("Y"))

chkSysUserV oid.setSelected(true);

else

chkSysUserV oid.setSelected(false);

try{

sysUserProxy.closeDbConnection();

}

catch(SQLException ex){

}

}

}

class UserOperAction implements ActionListener{

public void actionPerformed(ActionEvent e){

if( e.getSource() == (JButton)btnDelSysUser ){

//删除系统用户

String userId = txtSysUserId.getText();

String finalSql = "DELETE FROM SysUser WHERE SYSUSERID='"+userId+"'";

SysUserProxy sysUserProxy = new SysUserProxy();

sysUserProxy.UpdateUserById(finalSql);

JOptionPane.showMessageDialog(null,"删除成功!","成功",https://www.sodocs.net/doc/c41969185.html,RMA TION_MESSAGE);

}

else if( e.getSource() == (JButton)btnUpdateUser ){

//更新现有用户

String userId = txtSysUserId.getText();

String userName = txtSysUserName.getText();

String Gender;

if( cmbGender.getSelectedItem().toString().equals("男"))

Gender = "M";

else

Gender = "F";

String Pass;

if( txtSysUserPassword.getText().equals(txtRetrySysUserPassword.getText()) )

Pass = txtSysUserPassword.getText();

else{

JOptionPane.showMessageDialog(null,"密码不匹配","错误",JOptionPane.ERROR_MESSAGE);

return;

}

String userRole;

if( cmbSysUserRole.getSelectedItem().toString().equals("系统管理员"))

userRole = RoleIdMapRoleName.SYSADMIN;

else if(cmbSysUserRole.getSelectedItem().toString().equals("系统操作员") )

userRole = RoleIdMapRoleName.SYSOPERA TOR;

else

userRole = "";

String Void;

if( chkSysUserV oid.isSelected() == true)

V oid = "Y";

else

V oid = "N";

String finalSql = "UPDA TE SYSUSER SET NAME='" + userName + "', "+

"PASSWORD = '" + Pass + "', GENDER='" + Gender + "', "+

"ROLEID='" + userRole + "', VOID='" + Void + "' WHERE " +

"SYSUSERID='" + userId + "'";

SysUserProxy sysUserProxy = new SysUserProxy();

sysUserProxy.UpdateUserById(finalSql);

JOptionPane.showMessageDialog(null,"更新成功!","成功",https://www.sodocs.net/doc/c41969185.html,RMA TION_MESSAGE);

}

}

}

}

RoleAcessProxy roleProxy=new RoleAccessProxy();

If(roleProxy.ValidateUserExist(UserName,Password,RoleIdMapRoleName.SYSADMIN)==true) JOptionPane.showMessageDialog(null,"登录成功!","正确",https://www.sodocs.net/doc/c41969185.html,RMA TION_MESSAGE);

Else

{ JOptionPane.showMessageDialog(null,"用户角色不支持,请联系管理员!","错误",JOptionPane.ERROR_MESSAGE);

System.exi(-1);

}

class ListItemChange implements ItemListener{

public void itemStateChanged(ItemEvent e){

if( e.getSource() == (java.awt.List)lstSportItems ){

//初始化界面

txtScore1.setText( "" );

txtScore2.setText( "" );

txtScore3.setText( "" );

txtScore4.setText( "" );

txtScore5.setText( "" );

txtScore6.setText( "" );

chkValid.setSelected(false);

java.awt.List lstCtrl = (java.awt.List)e.getSource();

String str = lstCtrl.getSelectedItem();

if( str == null || str == "")

return;

String[] result = str.split("\\s"); //分解成Token

String itemId = result[2];

String sqlQuery = "SELECT https://www.sodocs.net/doc/c41969185.html,, a.sportorid " +

"FROM sportor a,itemAttend b " +

"WHERE b.itemid = '"+ itemId + "' and "+

"b.sportorid = a.sportorid ";

SportorProxy sportProxy = new SportorProxy();

Vector vecSportor = sportProxy.getSportUsersBySql(sqlQuery);

lstSportors.removeAll();

for( int i = 0; i < vecSportor.size(); i ++ ){

lstSportors.add(((SportsMan)vecSportor.elementAt(i)).getName() + " "+ ((SportsMan)vecSportor.elementAt(i)).getSportorId());

}

try{

sportProxy.closeDbConnection();

}

catch(SQLException sqlEx){

}

}

else if( e.getSource() == (java.awt.List)lstSportors ){

//初始化界面

txtScore1.setText( "" );

txtScore2.setText( "" );

txtScore3.setText( "" );

txtScore4.setText( "" );

txtScore5.setText( "" );

txtScore6.setText( "" );

chkValid.setSelected(false);

//显示成绩

String str = lstSportors.getSelectedItem();

if( str == null || str == "")

return;

String[] result = str.split("\\s"); //分解成Token

String SportorId = result[2];

str = lstSportItems.getSelectedItem();

if( str == null || str == "" )

return;

result = str.split("\\s");

String SportItemId = result[2];

ItemAttendProxy itemAttendProxy = new ItemAttendProxy();

ItemAttend itemAttend = itemAttendProxy.getSportItemById(SportItemId,SportorId);

try{

itemAttendProxy.closeDbConnection();

}

catch(SQLException ex){

}

if( itemAttend.getV oid().equals("Y") ){

chkValid.setSelected(true);

}

else

chkValid.setSelected(false);

String[] scores = itemAttend.getScore().split("\\s");

switch(scores.length){

case 1:

txtScore1.setText( scores[0] );

break;

case 3:

txtScore1.setText( scores[0] );

txtScore2.setText( scores[2] );

break;

case 5:

txtScore1.setText( scores[0] );

txtScore2.setText( scores[2] );

txtScore3.setText( scores[4] );

break;

case 7:

txtScore1.setText( scores[0] );

txtScore2.setText( scores[2] );

txtScore3.setText( scores[4] );

txtScore4.setText( scores[6] );

break;

case 9:

txtScore1.setText( scores[0] );

txtScore2.setText( scores[2] );txtScore3.setText( scores[4] );

txtScore4.setText( scores[6] );

txtScore5.setText( scores[8] );

break;

case 11:

txtScore1.setText( scores[0] );

txtScore2.setText( scores[2] );

txtScore3.setText( scores[4] );

txtScore4.setText( scores[6] );

txtScore5.setText( scores[8] );

txtScore6.setText( scores[10] );

break;

校际运动会管理系统

《校际运动会管理系统》程序设计基础课程设计报告 二OO八年七月二十九日

目录 1.课程设计目的 (2) 2.课程设计题目描述和要求 (2) 3.课程设计报告内容 (3) 3.1sport类(lei) (4) 3.2 主类及其子类 (4) 4.算法描述 (4) 5.运算结果 (4) 6.源程序及流程图 (5) 7.课程设计总结 (20)

1:课程设计的目的 本程序主要学习类的使用,以及子类的调用,了解函数体的调用case语句使用,for循环,函数的调用,进一步加深对语言程序设计的了解,解决一些简单的程序应用,综合实现程序的利用。 2:校际运动会管理系统 2:问题描述 (1)初始化输入:N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数; 各项目名次取法有如下几种: 取前5名:第1名得7分,第2名得5分,第3名得3分,第4名得2分,第5名得1分; 取前三名:第一名得5分,第二名得3分,第三名得2分; 用户自定义:各名次权值有用户定义。 (2)由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 (3)所有信息记录完毕后,用户可以查询各个学校的比赛成绩,生成团体总分报表,查看参赛学校信息和比赛项目信息等。 3:课程设计的基本要求: 根据规定的题目,编写程序设计的说明(程序设计文当),程序设计说明包括以下内容: 设计简要说明 1)程序运行的软硬件环境 2)程序的组成模块及每个模块的基本功能 3)每个模块的流程图 4)程序的使用方法 5)源程序的清单 6)总结与体会

3.课程设计报告内容 3.1 第一个程序有一个Point类,该类共有12个函数 3.2 第一个程序的类中各个函数作用分别为: void Menu( ); //显示选单 void Set1( );//设置竞赛项目总数 void Set2( );//设置某项目名次的取法及每一名次的分值 void Find( );//查询功能 void Set3( );//设置竞赛项目信息 void Put( );//打印竞赛项目信息 void Set4( );//为某个竞赛项目设定比赛结果信息 void List( );//按学校打印成绩 void GetReport();//生成报表 void Quit( );//退出功能 4.算法描述 该程序主要采用类的结构,及其应用,公有10函数,在函数中实现嵌套,连接,指针的传递,数组等简单的程序结构。 5.运算结果 该程序运行结果及其程序逐步实现为以下图片显示 6.源程序 #include #include

学校运动会管理系统

程序设计综合应用课程设计题目说明 课程设计指导老师:

题目:学校运动会管理系统 1.目的 (1) 加深对结构体数据类型设计的理解,能对系统功能进行分析,并设计合理的模 块化结构。 (2) 学会设计数据结构。其中包括对结构数组、数据文件等知识的运用。 (3) 提高程序开发功能,能运用合理的控制流程编写清晰高效的程序。 (4) 训练C程序调试能力,能将一个中小型各级组织系统联调通过。 (5) 开发一个中小型系统,掌握系统研发全过程。 (6) 培养分析问题、解决实际问题的能力。 2.实验内容 学校运动会管理系统,是学校快捷查询各院系或学生个人的比赛成绩、查看参赛信息、获奖运动员等相关信息的重要途径。现要求设计并实现一个简单的学生运动会管理系统,要求具有输入参赛院系总数、项目名次取法、输入获奖运动员信息、查询比赛成绩等基本功能。在此基础上,能够进行功能扩展,进行创新设计。 3.设计要点 1. 功能要求 (1) 基本要求 试设计一个简单的学校运动会管理系统,使之能提供以下基本功能: 1) 系统以菜单方式工作; 2) 信息录入功能(用文件保存):包括参赛院系总数、男子竞赛项目数、 女子竞赛项目数、成绩排名、获奖运动员资料等信息的录入; 3) 信息浏览功能:对获奖运动员的详细资料、参赛院系信息、比赛项 目信息等进行浏览; 4) 信息查询功能:包括按院系、姓名、性别、参赛项目等进行查询; 5) 信息统计:包括按院系、按性别、参赛项目等统计获奖人数; 6)信息的删除与修改。 (2) 创新要求 达到上述基本要求后,可进行创新设计,如对菜单进行美化,功能扩展等。

2. 信息描述 本系统中涉及的基本数据对象有初始化输入、项目名次取法、比赛成绩、获奖运动员信息、参赛院系信息、比赛项目信息等。下面给出部分对象所包含的部分属性。 3.功能描述 本系统主要包括输入信息、项目积分统计、获奖运动员信息录入、信息查询几个功能模块。下面给出这四个功能模块的有关功能描述。 4.评分细则

C语言课程设计_运动会管理系统

物联网工程课程设计报告 课题:学校运动会管理系统 专业班级:物联网工程131班 报告人:陆俊贤 139074382 庞彦辉 139074383 指导老师:张学锋 评定成绩: 指导老师签名:

前言 随着科技的发展,计算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.计算机代替人工处理一些事务已成为必然。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理已经进入自动化、网络化和社会化的阶段。如在查找资料、处理日常办公事务、科研生产等方面,无不需要利用大量的信息资源。因此,如何有效地进行数据信息的管理和利用,已经成为人们普遍关注的课题。信息在不同的领域里有着不同的概念,在管理科学领域中,通常认为信息是经过加工处理后的一种数据形式,是一种有次序的符号排列,它是系统传输和处理的对象。处在信息时代的今天,信息的作用越来越为人们所重视。制定成绩计划,研究投资策略,都离不开对信息的充分利用。 在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。传统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容易出错。学校田径运动会管理系统则为组织者提供一个简捷方便的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统”,通过简单的键盘输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进行。学校田径运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运动员基本信息录入,竞赛成绩处理及公告,成绩统计.信息查询等事务处理功能。根据学校田径运动会的一般进程,本系统分为数据修改、查询、删除、统计等四个工具模块来完成所期望的功能。依据关系型数据库理论设计数据库的结构。使用该系统可以极大地减小工作人员的劳动量,同时还可大大提高工作效率、可靠性和正确性。

数据库课程设计报告-校运动会管理系统

数据库课程设计报告 运动会数据库系统 目录 第一章系统概述 (2) 1. 1系统开发背景与意义 (2) 1.1.1系统开发背景 (2) 1.1.2系统开发意义 (2) 第二章系统需求分析 (3) 2.1 需求分析概述 (3) 2.2.1功能需求分析 (3) 2.2.2 可行性分析 (3) 2.2 系统数据流图 (4) 2. 3 数据字典 (6) 第三章系统总体设计 (8) 3. 1 系统概念设计 (10) 3.1.1 概念模型(E-R图) (10) 3..2 关系模式....................................... 错误!未定义书签。第四章数据库定义和数据安全性与完整性定义.............. 错误!未定义书签。 4. 1 数据库定义......................................... 错误!未定义书签。 4. 2 数据安全性与完整性定义............................. 错误!未定义书签。

第一章系统概述 1.1系统开发背景与意义 1.1.1系统开发背景 高等院校运动会是高校体育工作的重要组成部分。近年来,随着招生规模的扩大, 导致比赛项目、参赛人数不断增加,同时人们对比赛结果的准确性和实时性要求也越来越高,参赛队需要得到及时、准确的相关信息 ,从而有效进行竞赛的决策指导,这些问题和需求是采用人工方式或单机版运动会管理系统都难以解决的。为此,我们对运动会的信息综合管理系统进行了研究,使运动会的筹备、组织、管理、协调等工作全面实现了计算机网络化、自动化,极大的提高了工作效率和信息处理的实时性。 高校运动会作为各项体育运动的基础,具有广泛的群众性。每届的高校运动会声势浩大,是提高、检验学生的健康水平,开展全民健身运动的有效途径。由于比赛项目较多,参赛人数广,数据处理量大且变化时效性要求高,管理较为复杂,其编排,记录,公告工作是一项复杂的工程。为了解决在运动会管理和组织所面临的各种问题,我们开发了一套适合高校的运动会管理系统。在分析运动会管理需求的基础上,通过比较分析不同的开发模式和特点,系统采用简单实用的Windows环境下的基于浏览器/服务器的模式构建,用SQL Server2008作为后台数据库,提供对数据库的查询、添加、修改、删除等操作来实现信息网上管理,并对信息管理功能进行了详细的分析,以实现动态、交互、高效的网络化信息管理。系统能够对运动员的报名信息进行准确统计,能够有效处理赛程中的实时数据。 1.1.2系统开发意义 本次为学校举行的田径运动会设计运动会管理系统。要求对运动员(包括比赛项目和比赛成绩),比赛项目的设置,裁判判罚比赛,后勤人员和宣传组的相关工作等进行管理。具体来讲,田径运动会包括若干个比赛项目,由学校设置比赛项目和比赛规则,运动员根据比赛规则报名参赛,裁判对运动员的比赛进行记录,运动员参加比赛,由裁判评定和处理成绩,但须公平公正。 通过课程设计,让我们能够全面了解数据库应用系统的整个开发过程,验证课堂教学中的理论,掌握数据库系统的基本概念,基本原理及应用技术,掌握

运动会管理系统数据库

运动会管理系统 1.需求分析 1 .1系统功能要求设计 此系统实现如下系统功能: (1)使得运动会管理工作更加清晰、条理化、自动化。 (2)通过简洁明了的登录系统,查询比赛基本信息,选手得分,排名等功能。容易地完成比赛团体信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完 整性,并发控制,备份和恢复等方面的功能要求。 2.系统模块设计 运动会管理系统大体可以分成二大模块如,一是选手的基本信息模块,里面应该包含选手的各方面的基本信息;再者便是得分管理模块,在该模块中应该包含有对选手得分信息的查询和处理,如单项名次,团体总分以及排名统计等功能模块;再其次还有比赛地点,日 期,规模,项目,报名期限等相关信息的模块;可以得到系统流程图: 3.数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表:

2.概念模型设计 由需求分析的结果可知,本系统设计的实体包括: (1)选手基本信息:编号,姓名,性别,地址,年龄,比赛项目。 (2)运动会基本信息:比赛日期,地点,规模,项目,报名期限。 这些实体间的联系包括: 每位选手可以参加多个项目,每个项目可供多位选手参加。

2全局E-R模型 3逻辑结构设计

1.由系统E—R图转化而得到的关系模式如下: (1)选手(编号,姓名,性别,地址,年龄,比赛项目),其主关键字为编号; (2)运动会基本信息(比赛日期,地点,规模,项目,报名期限),其中主关键字为项目; (3)成绩(项目,编号,分数)其中主关键字为编号和项目。可以与选手关系模式合并为:选手(编号,姓名,性别,地址,年龄,比赛项目)。 2 .确定关系模型的存取方法 在将概念模型转换成物理模型之后,我们可以对物理模型进行设计,双击物理模型的关系,可以对该关系的名称、注释等信息进行查询。可对该关系的属性列进行设计,可分别设置其名称、码、数据类型以及主码、是否为空等。在实际设计中最常用的存取方法是索引发,使用索引可以大大减少数据的查询时间,在建立索引时应遵循:在经常需要搜索的列上建立索引;在主关键字上建立索引;在经常用于连接的列上建立索引,即在外键上建立索引;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的等规则。才能充分利用索引的作用避免因索引引起的负面作用。 3 .确定数据库的存储结构 确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系、索引、日志、备份等的存储安排及存储结构,以及确定系统存储参数的配置。因为该成绩管理系统的数据量小,,所以我们只用把数据存储在使用的电脑硬盘上,不用作更多的安排。 4物理结构设计 (1)创建选手基本信息表: create table Student ( 编号varchar(11) not null, 项目varchar(5) not null, 姓名varchar(6) not null, 性别varchar(2) not null, 年龄char(2) not null, 地址varchar(20) not null, constraint PK_STUDENT primary key (编号) )

运动会管理系统需求说明书

文档作者:雷扬日期:2013 / 5 / 26 文档校对:刘浩、张仁保、杨平日期:2013 / 5 / 26 管理办:______________ 日期:____/____/____ 四个番茄 版权所有不得复制

1 引言 1 .1编写目的 学校田径运动会管理系统是典型的信息管理系统,本系统为田径运动会运动会组织者提供方便、快捷的方法,系统的对运动会进行合理的安排与管理,实现无纸化工作,节省大量人力和物力,随着科学技术的飞速发展与计算机技术的普遍应用,自动化的信息管理已深入各行各业,但由于传统信息管理方法的影响,目前国内高校运动会管理水平仍处于较低水平,主要存在以下问题。 1.采用人工操作,不仅费时费力,而且容易出错; 2.信息不集中,不便于人们查看,致使人们对运动会相关信息不了解; 3.信息更新费时费力,也不能及时反映得分情况; 4.对于比赛日程查询麻烦且不全面,不容易发现运动员的比赛时间冲突,给比 赛进程带来麻烦; 5.不能及时统计各项总分,不便于人们随时关注总体得分情况。 运动会管理系统系统提供了强大的高校运动会系统管理功能,方便管理员对运动员成绩等信息的操作,采用运动会管理系统后,运动员在比赛前由院系统一输入个人信息即可,方便了运动员的报名,有错误时可以及时汇报修改。裁判员单独对各自的项目进行管理,保证上了比赛的公正、公平。每个项目都有单独的帐号和密码对应,以保证成绩录入人员对自己管辖范围的唯一性。成绩查询界面中可以准确及时的查询到各项目、各运动员的个人信息、比赛成绩、排名、和团体加分的情况,同时为比赛安排裁判。系统开发完成后,可减少管理人员的数量,提高工作效率并保证数据的实时性、准确性、安全性、可靠性。 1 .2背景 在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。传统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容易出错。学校运动会管理系统则为组织者提供一个简捷方便的方式来组织管理运动会,学校运动会管理系统是一

校运动会管理系统报告C语言 含完整代码

目录陈

一、程序分析与设计 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 1.题目描述 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;即要求输入一些基础数据,如院系名称,每个院系参赛选手及选手编号。竞赛项目名称与代号。这些数据存储在文本文件中,不需要每次都单条录入。 各项目名次取法有如下几种: 取前4名:第1名得分6,第2名得分4,第3名得分2,第4名得分1; 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 2.需求分析 根据题目要求应提供键盘式菜单实现功能选择,还应提供信息的输入操作,由于在程序中提供查询功能所以应有显示、查找等操作。 3.总体设计 根据上面的需求分析,可以将这个系统的设计分为1、信息输入模块2、比赛结果录入模块3、查询模块。具体校际运动会管理系统分为信息的输入、结果的输入、学校各个项目的得分的查寻、总体报表的生成。 4.详细设计 (1)主函数 主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用。其中功能模块用菜单方式选择。 (2)密码登陆函数 首先进入欢迎界面,提示用户输入密码进入系统,密码输入次数限制为三次,三次输入错误则退出系统,登陆成功显示菜单栏

(3)菜单函数 提醒用户根据要求选择功能,以及多次功能选取 (4)输入函数 进入该功能后提醒用户输入相应信息,即数据结构,数据结构采用结构体的形式,选手结构体成员包括选手的姓名、编号、各项目的成绩排名、选手所在学院等。 (5)查找函数 提醒用户输入运动员的姓名或编号,根据姓名或编号逐一比对信息,若条件满足则输出该选手的数据,若不满足则返回‘你要找的运动员未找到’(6)排序函数 根据运动员的百米成绩进行冒泡排序,并输出结果 (7)修改函数 提醒用户输入运动员的姓名,根据姓名逐一比对信息,若找到则提供修改选项,对数据进行覆盖 (8)得分计算函数 根据用户输入各项成绩排名,进行得分运算 并得出学院排名 (9)删除函数 用于输入信息的删除 (10)插入函数 用于输入新的信息 (11)保存函数 将用户输入的信息保存到文本文件中 (12)显示函数 显示用户保存的信息

校级运动会管理系统c语言程序

#include #include #include #include #define SIZE 9 #define N 3 #define WM 3 void bsxm(); //比赛项目 void csxx(); //参赛学校 void ttzf() ;//团体总分 void Information(); void main(); void menu(); void printf_back(); void saveathlete(); void saveprogram(); void saveschool(); void savescore(); void Search(); int i; FILE *fp1,*fp2,*fp3,*fp4; struct athlete //定义运动员信息{ char univ[5]; char name[8]; char prog[15]; char mingci[5]; int score; } at[SIZE]; struct xuexiao //定义学校信息{ char univ[5]; char prog[15]; int num_athlete; } xx[N];

struct program //定义项目信息 { char prog[5]; int quming; char ath1[5]; char ath2[5]; char univ1[5]; char univ2[5]; } pro[WM]; struct zongfen //定义学校得分信息 { char univ[5]; char prog1[5]; char prog2[5]; char prog3[5]; int score1; int score2; int score3; int total_score; } zf[N]; void Information()//进入信息录入系统选择系统子函数 { int n,w ; do { puts("\n\n\n"); puts("\t\t***^__^ Welcome to load 信息录入system! ^__^***\n"); puts("\t\t*************************MENU*************************\n"); puts("\t\t******** 1.saveathlete **************\n");//运动员姓名录入 puts("\t\t******** 2.saveschool **************\n");//运动员学校录入 puts("\t\t******** 3.saveprogram() **************\n");//参加项目录入 puts("\t\t******** 4.back **************\n");//退出 puts("\t\t******************************************************\n");

校运动会管理系统

C 语言课程设计

学校运动会管理系统 专业:网络工程 班级:网133 报告人:王先海 139074347 刘随心 139074338 葛翔 139074332 指导老师:陶陶 报告日期:2014年12月13号

一、需求分析 1、问题描述: 建立运动员信息系统,包括运动员、裁判员以及运动信息的成绩管理,运动员信息为编号、姓名、身份信息(教师、学生)、参加的比赛项目等;裁判员信息为编号、姓名、身份信息(教师、学生)、裁判的项目;运动会信息包含各个比赛项目的信息、时间安排、裁判信息、比赛成绩等。 2、功能要求: (1)各种运动信息需要利用文件的形式进行存储。 (2)输入功能:可以从键盘或文件中一次性输入多条信息; (3)输出功能:可将运动员、裁判员、以及比赛信息打印输出或显示; (4)查找功能:根据运动员、裁判员等查找出所需要的比赛信息; (5)增加、删除、修改功能:完成运动员信息的多种更新; (6)统计功能:完成各类比赛信息的统计功能,例如某项比赛的名词排名,各个运动员的积分成绩统计等。 二、总体设计

1、将学校运动会管理系统系统进行模块化分析

三、详细设计 本程序包含除main函数外包含20个函数:menu()、menu2()、reads(struct athletes ath[N]) 、 reads1(struct referee ref[N])、reads2(struct All_the_events sport[N]) 、save(struct athletes ath[N],int n)、 show_athletes()、how_referee()、add()、 According_to_the_number_to_find_players_informat ion ()、 According_to_the_name_to_find_players_informatio n ()、 According_to_the_number_to_Modify_the_players_in formation ()、 According_to_the_name_to_Modify_the_players_info rmation ()、 According_to_the_name_to_delete_the_players_info rmation ()、 According_to_the_name_to_find_referee_informatio n ()、show_all_events () 、 Output_on_a_single_information ()、 sort()、keep() 、sheep()。

运动会成绩管理系统精选文档

运动会成绩管理系统精 选文档 TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-

目录 第一章概述……………………………………………………………………………… 第二章需求分析………………………………………………………………………… 问题陈述……………………………………………………………………… 功能分析……………………………………………………………………… 数据流图………………………………………………………………………… 数据字典………………………………………………………………………… 第三章.概念结构设计……………………………………………………………………第四章逻辑结构设计………………………………………………………………………第五章软件功能设计……………………………………………………………… 第六章代码设计和界面设计……………………………………………………………… 小结…………………………………………………………………………………… 参考文献………………………………………………………………………………

课程设计任务书 1、课程设计题目 运动会成绩管理系统 2、设计任务和内容 一个运动会成绩管理系统是根据学校的实际运动会工作专门设计的一个管理信息系统。该系统能够对项目、运动员、成绩进行有效管理。对以上信息管理主要包括:登记各项比赛成绩、根据预赛成绩产生预(决)赛名单,同时能够进行适当的统计工作和结果输出,可以满足各个单位、个人成绩查询的需求。 本课题任务是开发一个运动会成绩管理系统,并撰写符合规范的课程设计说明书以体现设计过程和设计结果。 3、设计步骤和要求 设计步骤: 首先进行相关资料查阅和学习,了解基本的业务流程和系统数据功能要求。然后结合软件工程的理论和教材中数据库设计的六个阶段(重点是前三个阶段)完成设计任务,即系统结构设计(需求分析、概念结构设计、逻辑结构设计、物理结构设计)和系统功能设计。 设计要求: 1、撰写课程设计说明书。其要求如下: (1)基本要求: ①能反映完成了上述设计内容要求。 ②要求撰写不少于5000个文字(20页)的文档。 ③文档中至少要包括:数据流图、数据字典、E-R图、数据库表的详 细 说明、系统功能结构图、主要功能模块说明。 ④课程设计说明书一律用碳素墨水书写,其中用户界面设计可以附 界面 的计算机截图或手工绘图。 (2)文档格式要求(遵循数据库原理及应用课程设计大纲上的要求)其中,正文部分: ①分章、层次等,每一章从新一页开始。 ②章节安排可如下安排 .概述:包括项目背景、编写目的、软件定义、开发环境等内容。 .需求分析:问题陈述、需完成的功能。以数据流图和数据字典表达。

大数据库课程设计、学校运动会管理系统

华科学院信息管理与信息系统专业 《数据库课程设计》报告 (2011/2012学年第一学期) 学生姓名:石玉英 学生班级:信息管理与信息系统092201H 学生学号: 200922040116 指导教师:武妍 2012年 1月4日

学校运动会管理系统的设计与实现

目录 第一章系统概述 (1) 1. 1系统开发背景与意义 (1) 1.1.1系统开发背景 (1) 1.1.2系统开发意义 (1) 第二章系统需求分析 (3) 2. 1系统功能要求 (3) 2.2 需求分析概述 (3) 2.2.1功能需求分析 (3) 2.2.2 性能分析。 (3) 2.2.3 可行性分析 (4) 2.3系统层次划分 (4) 2.4 系统数据流图 (5) 2. 5 数据字典 (6) 第三章系统总体设计 (12) 3. 1系统总体设计目标 (12) 3. 2 系统概念设计 (12) 3.2.1 概念模型(E-R图) (12) 3.2.2 关系模式 (13) 第四章数据库系统实现 (15) 4. 1 系统实现工具简介 (15) 4.1.1 SQL Server 2000简介 (15) 4. 2 学生运功会管理系统数据库实现 (15) 总结语 (18) 参考文献 (19)

第一章系统概述 1.1系统开发背景与意义 1.1.1系统开发背景 1.开发背景。 在当今社会上,体育运动越来越普及,参与运动会的人越来越多,素质越来越高。传统的运动会,一般是以人手组织为主,运动员的报名、赛事的安排、比赛场地的安排和成绩的记录等操作全都由人手操作,参加人数越多,运动会的规模就越大,管理工作就更加费时费力,而且容易出错。学校田径运动会管理系统则为组织者提供一个简捷方便的方式来组织管理运动会,学校田径运动会管理系统是一种“人机交互系统”,通过简单的键盘输入与鼠标点击来完成烦琐的记录与安排工作,保证运动会的正常流畅的进行。 2.主要仪器设备。 1)硬件:计算机 2)软件:windows 2000和SQL Server 2000 3.开发内容安排。 学校田径运动会管理系统是典型的数据库应用系统,可完成田径运动会管理中的运动员报名、分组编排,竞赛成绩处理及公告,成绩统计.信息查询等事务处理功能。 1.1.2系统开发意义 1.系统开发的目的 通过课程设计,让学生能够全面了解数据库应用系统的整个开发过程,验证课堂教学中的理论,掌握数据库系统的基本概念,基本原理及应用技术,掌握SQL语言的定义和各种操作能力,进一步掌握SQL语言的数据库编程技能,学会利用课堂上已学过的数据库知识进行数据库设计,使学生对开发信息管理系统有一个总体认识,可使学生得到很好的锻炼,为以后学习、工作打下很好的基础。 本次为学校举行的田径运动会设计运动会管理系统。要求对运动员(包括比赛项目和比赛成绩),比赛项目的设置,分组分道等进行管理。具体来讲,田径运动会包括若干个比赛项目,由学校设置比赛项目和比赛规则,运动员根据比赛规则报名参赛,裁判对运动员进行分组分道,运动员参加比赛,由裁判评定和处理成绩,但须公平公正。

校运动会管理系统报告C语言含完整代码

目录 陈 一、程序分析与设计........................................ 二、流程图................................................ 三、源程序清单............................................ 四、调试过程.............................................. 五、程序有待改进的地方.................................... 六、本次实习的收获和建议.................................. 附录......................................................

一、程序分析与设计 (标题四号宋体加黑,正文五号宋体,行间距-固定值18,首行缩进2字符) 1.题目描述 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数;即要求输入一些基础数据,如院系名称,每个院系参赛选手及选手编号。竞赛项目名称与代号。这些数据存储在文本文件中,不需要每次都单条录入。 各项目名次取法有如下几种: 取前4名:第1名得分6,第2名得分4,第3名得分2,第4名得分1; 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。 2.需求分析 根据题目要求应提供键盘式菜单实现功能选择,还应提供信息的输入操作,由于在程序中提供查询功能所以应有显示、查找等操作。 3.总体设计 根据上面的需求分析,可以将这个系统的设计分为1、信息输入模块 2、比赛结果录入模块 3、查询模块。具体校际运动会管理系统分为信息的输入、结果的输入、学校各个项目的得分的查寻、总体报表的生成。 4.详细设计 (1)主函数 主函数一般设计的比较简洁,只提供输入,处理和输出部分的函数调用。其中功能模块用菜单方式选择。 (2)密码登陆函数 首先进入欢迎界面,提示用户输入密码进入系统,密码输入次数限制为三次,

运动会管理系统

运动会管理系统

1.引言 运动会管理系统需求分析书的目地是为了方便运动会管理系统开发人员,给他们提供一个大概的开发框架,以便于更好的开发出方便于学校举行运动会用到的系统,从而方便广大的老师还有同学们。 1.1编写目的 本文档的编写是为了开发运动会管理系统供开发人员使用,本文档定义了运动会管理系统的基本功能和框架。本文档为运动会管理系统的需求分析书,此文档详细的说明了运动会管理系统的功能,用户的需求,所要用到的技术,以及如何实现 1.2 预期的读者 (1)项目负责人:项目经理可以根据该文档了解预期产品的功能,并据此进行系统设计、项 目管理。 (2)设计员:对需求进行分析报告,并设计出系统和数据库。 (3)程序员:根据要求写出代码,完成系统。 (4)测试员:根据文档功能对已经完成的系统进行测试使用,对产品的功能进行评估。 (5)销售人员:了解产品的功能和特点,以及时候的人群。 (6)用户:按照需求分析书了解产品应有的功能和性能的好坏。 1.3 目标 (1)为了是运动会进行提供方便,使运动会管理系统更加的完善。 (2)方便广大同学们的报名和学院对运动会的管理。 (3)减少人力物力的投入,使运动会的进行更加的方便。 (4)减轻运动会工作人员的负担。 (5)为了学校的运动会的方便管理,帮助运动会工作人员利用计算机。 本系统适合各个学校的运动会管理,它是比较完善的系统。主要的功能有:用户报名,用户基本信息录入,成绩录入,名次查询,报表打印等。 1.4参考文献 《软件工程》

2.系统概述 系统名称:运动会管理系统 本系统使用jsp和javabean和数据库技术,此系统提供了运动员的登录以及报名,运动员基本信息的录入,管理员老师可以通过系统登记运动员的成绩和学院的排名,运动员可以通过登录以后查询自己的成绩和自己所在学院的名次信息等。 2.1设计目的 为学校老师和同学们提供一个在线报名和录入成绩和查看名次的平台,以便方便运动会的进行,减少人力物力的投入。 2.2运行环境 系统运行最低硬件要求: Intel Pentium 166MHZ以上CPU; 64MB以上的内存空间; 100MB以上的硬盘空间; 操作系统: Windows xp/7操作系统; 数据库: SQL Server 2000 开发工具: Microsoft isual basic6.0 用户操作水平: 哈师大全体老师和学生。 安全保密性: 数据库采用用户权限设置以及数据库密码设置的双重加密。 2.3条件限制 (1)经济来源:学校软件项目的支持经费。学校项目经费有限。 (2)技术人员:学院软件学院学生,开发经验过少。 (3)专业技术:软件学院学生知识的局限性。 (4)法律和政策方面的限制:不能违反国家和党的方针政策。 (5)硬件,软件,运行环境和开发环境的条件和限制:技术不娴熟,系统不稳定。

校级运动会管理系统c语言程序

#include #include #include<string、h> #define SIZE 9 #define N 3 #defineWM 3? void bsxm();//比赛项目void csxx();//参赛学校void ttzf()?; //团体总分 void Information(); voidmain(); void menu(); void printf_back(); void saveathlete(); void saveprogram(); void saveschool(); void savescore(); void Search(); int i; FILE*fp1,*fp2,*fp3,*fp4; struct athlete?//定义运动员信息 { ?char univ[5]; ?char name[8]; char prog[15]; char mingci[5]; intscore; } at[SIZE]; struct xuexiao??//定义学校信息 { char univ[5]; charprog[15]; ?intnum_athlete; } xx[N]; struct program ?//定义项目信息 { ?char prog[5]; ?intquming; char ath1[5]; ?charath2[5]; ?char univ1[5];

charuniv2[5]; } pro[WM]; struct zongfen //定义学校得分信息 { ?charuniv[5]; ?charprog1[5]; charprog2[5]; char prog3[5]; int score1; ?int score2; ?int score3; int total_score; } zf[N]; voidInformation()//进入信息录入系统选择系统子函数 { int n,w ; do { ?puts("\n\n\n"); puts("\t\t***^__^Weletoload 信息录入system! ^__^***\n"); puts("\t\t*************************MENU*************************\n"); puts("\t\t******** 1、saveathlete **************\n");//运动员姓名录入 puts("\t\t********2、saveschool **************\n");//运动员学校录入 puts("\t\t******** 3、saveprogram() **************\n");//参加项目录入 puts("\t\t********4、back **************\n");//退出 puts("\t\t******************************************************\n"); printf("Choicyour number(1-4):[ ]\b\b"); scanf("%d",&n); if(n<1||n>4) ?{ ??w=1; ?printf("\n\n\t\t----------------------DATAERROR!----------------------\n\n\n"); ?getchar(); }

某学校运动会管理系统设计方案

某学校运动会管理系统设计方案 1.2可行性分析 由于本系统管理的对象单一,都是在校学生及教工,且每个数据容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。 本系统的设计是在Windows XP中文版操作系统环境下,使用Microsoft Visual C++ 6.0中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用围,因此,在选择数据库时,应考虑数据库应用的特点及适用围。 2 任务概述 2.1目标 a. 为了为了运动会管理系统更完善; b. 为了为了加快运动会的管理速度; c. 为了减轻工作人员的工作负担。 现今运动会、成绩管理的繁索给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的运动会管理软件,为了对学生运动会的管理方便,因此开发了本系统。应用目标是通过本系统,能帮助体育教研人员利用计算机,快速方便的对学生成绩管理进行管理、输入、输出、查找的所需操作,使散乱的人事档案能够具体化,直观化、合理化。 在作用及围上本系统适用于各类学校,它是比较完善的运动会管理系统。其主要功能有:用户登录权限、运动会名称的录入、班级录入、运动员录入、成绩录入、成绩查询、成绩汇总、对数据的统计、帮助。

2.2运行环境 系统的运行最低硬件要求: Intel Pentium 166MHZ以上 CPU或其他相当X86 CPU。 128MB或更大存空间; 100MB以上的自由硬盘空间; CD-ROM/DVD光驱; VGA 以上彩色显示器。 操作系统: Microsoft Windows 2000server以上版本/2003等操作系统; 屏幕分辨率800×600 以上,强烈建议使用 1024×768 屏幕分辨率; 屏幕颜色 256 色以上,建议使用真彩24位以上屏幕颜色。 数据库: Microsoft SQL Server 2000 开发工具: Microsoft Visual Basic 6.0 用户操作水平: a.用户为各学校的教务管理人员。 b.具备计算机基本操作能力。 2.3条件与限制 开发截至日期:2005年12月31日 2.4需求概述 运动会管理系统,是经过对学校体育教研室、成绩管理工作的实地调查,并经过分析形成的书面文档,此文档界定运动会管理的基本功能,可作为设计说明书的依据。本文档为该系统的软件需求说明书,详细阐述了用户对此软件所提出的需求,对系统中的各项功能需求、技术需求、实现环境及所使用的实现技术进行明确定义。同时,对软件应具有的功能和性能及其他有效性需求也进行了定义。 本文档的使用对象是项目负责人、系统设计人员、系统测试人员、系统编程人员,是完成系统开发和检验系统是否满足项目提出方需求的依据。本系统是为了减轻各学校

学校运动会管理系统

【源代码】 #include #include using namespace std; #define N 10 class Student //每个学生的信息 { public: char name[10]; char sex; char college[10]; char item[10]; int position; int score; }; void menu(); //全局函数声明 Student stu[N]; //实例化出一个对象数组 void writein() //输入学生信息 { int i,n,M,W; cout<<"参赛院系总数为:"; cin>>n; cout<<"男子竞赛项目数为:"; cin>>M; cout<<"女子竞赛项目数为:"; cin>>W; cout<<"输入完毕!请继续输入参赛学生信息:"<>stu[i].name; loop_1:cout<<"请输入学生性别(m or w):"; cin>>stu[i].sex; if(stu[i].sex!='m'&&stu[i].sex!='w') { cout<<"性别输入错误!"<>stu[i].college;

cout<<"请输入学生参赛项目:"; cin>>stu[i].item; cout<<"请输入学生名次:"; cin>>stu[i].position; cout<<"请输入学生得分:"; cin>>stu[i].score; cout<>m; if(m==1) search_college(); //按学院查询的函数 else if(m==2) search_item(); //按项目查询的函数 else if(m==3) search_name(); //按名字查询的函数 else if(m==4) menu(); //返回主菜单 else { cout<<"请输入正确的序号!"<

相关主题