运动会成绩管理系统(JAVA)

合集下载

运动会成绩管理组织系统(JAVA)

运动会成绩管理组织系统(JAVA)

一、开发背景 (3)二、系统描述 (3)三、详细设计 (5)1、模块功能 (5)1.1、系统人员管理模块 (5)1.2、运动员管理模块 (6)1.3、运动员成绩管理模块 (6)2、数据库结构设计 (7)3、界面及代码设计 (9)3.1、登录子系统开发 (9)3.2、系统用户管理模块 (11)3.3、运动员信息管理模块 (15)3.4、运动员成绩管理模块 (17)四、心得体会 (20)五、参考文献 (21)一、开发背景当前,运动会已经在全国普遍开展,许多学校每年都定期的举行不同规模的田径运动会。

但是,在运动会举行过程中一直存在着参赛人数多,项目设置复杂,时间安排紧凑等问题,而且这些问题能否解决直接关系着运动会的成功与否。

另一方面,人们对于比赛结果的实时性、准确性、安全性、可靠性的要求也越来越高,而这些要求是人工操作很难实现的。

同时竞赛组织者要尽量减少人为因素的干扰,减少赛场作弊行为的发生,还要为参赛的教练员和运动员及时准确地提供竞赛的相关信息,辅助进行竞赛的决策指导。

因此,计算机技术的融入就成为一种必然,而且逐渐成为运动会信息管理的核心所在。

根据调查,现在全国已经有不少学校在田径运动会举办过程中采用了现代化的计算机技术进行运动会的系统管理,有的已经达到了一个相当高的水平。

但是我们发现这些运动会管理系统的设计和实现标准不一,参差不齐,而且更多的情况下这些系统只是实现了对运动会的分数统计等功能,在提供运动会的整个举办过程中的人性化、自动化服务等方面还有许多不足和欠缺。

我们小组根据当前学校运动会的开展组织情况,结合运动会的组织原则和相关规定,运用现代计算机技术,以全新的模式设计开发了适合田径运动会的校级运动会管理系统。

采用了本运动会管理系统后,运动员在比赛前由院系统一输入个人信息即可,这样就方便了运动员的报名,有错误时可以及时汇报修改。

裁判员单独对各自的项目进行管理,保证上了比赛的公正、公平。

每个项目都有单独的帐号和密码对应,以保证成绩录入人员对自己管辖范围的唯一性和确定性。

运动会分数统计java 源程序

运动会分数统计java 源程序

package test1;class Dele {private int rank; // 成绩private String nameStudent; // 姓名private String numitem; // 项目号private int numSchool; // 学校编号private int score; // 得分private String sexStudent; // 性别public int getRank() {return rank;}public void setRank(int rank) {this.rank = rank;}public String getNameStudent() {return nameStudent;}public void setNameStudent(String nameStudent) { Student = nameStudent;}public String getNumitem() {return numitem;}public void setNumitem(String numitem) {this.numitem = numitem;}public int getNumSchool() {return numSchool;}public void setNumSchool(int numSchool) { this.numSchool = numSchool;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}public String getSexStudent() {return sexStudent;}public void setSexStudent(String sexStudent) { this.sexStudent = sexStudent;}}package test1;class School {private int shoolnum;private int shoolscore;public int getShoolnum() {return shoolnum;}public void setShoolnum(int shoolnum) { this.shoolnum = shoolnum;}public int getShoolscore() {return shoolscore;}public void setShoolscore(int shoolscore) { this.shoolscore = shoolscore;}}package test1;import java.util.*;import java.io.*;class Severdele {private int n;private int m;private int w;Severdele(int n,int m,int w){this.n=n;this.w=w;this.m=m;}Dele stu[];Scanner s=new Scanner(System.in);public void input(){stu=new Dele[3*m+w*5];for(int i=0;i<stu.length;i++)stu[i]=new Dele();String numitem;int numSchool;String nameStudent;int rank;int score;String sexStudent;int j,i;i=j=0;boolean flag1=false ; boolean flag2=false;for(;i<3*m+5*w;){String str1[]={"跳远","跳高","铅球","接力赛"};String str2[]={"短跑","长跑","跳绳","标枪"};System.out.println("输入项目名:");numitem=s.next();stu[i].setNumitem(numitem);for(int k=0;k<str1.length;k++){if(str1[k].equals(numitem)){flag1=true;flag2=false;}else if(str2[k].equals(numitem)){flag1=false;flag2=true;}}if(flag1){System.out.println("前三名的学校编号选手姓名取得名次得分性别");for(j=i;j<i+3;j++){numSchool=s.nextInt();nameStudent=s.next();rank=s.nextInt();score=s.nextInt();sexStudent=s.next();stu[j].setNumitem(numitem);stu[j].setNumSchool(numSchool);stu[j].setNameStudent(nameStudent);stu[j].setRank(rank);stu[j].setScore(score);stu[j].setSexStudent(sexStudent);}i=j;}else if(flag2){System.out.println("前五名的学校编号选手姓名取得名次得分性别");for(j=i;j<i+5;j++){numSchool=s.nextInt();nameStudent=s.next();rank=s.nextInt();score=s.nextInt();sexStudent=s.next();stu[j].setNumitem(numitem);stu[j].setNumSchool(numSchool);stu[j].setNameStudent(nameStudent);stu[j].setRank(rank);stu[j].setScore(score);stu[j].setSexStudent(sexStudent);}i=j;}else{System.out.println("项目名输入错误,请重新输入!");}}}int schoolscore[];Dele pp[][];School ss[];public void divide(){Dele dd[] =new Dele[3*m+5*w];pp=new Dele[n][3*m+5*w];for(int i=0;i<pp.length;i++)for(int j=0;j<pp[i].length;j++)pp[i][j]=new Dele();for(int i=0;i<dd.length;i++)dd[i]=new Dele();for(int i=0;i<stu.length;i++){dd[i]=stu[i];}for(int i=0,k=0;i<dd.length;i++){if(dd[i]!=null){pp[k][0]=dd[i];for(int j=i+1;j<dd.length;j++)if(dd[j]!=null&&dd[i].getNumSchool()==dd[j].getNumSchool()){pp[k][j]=dd[j];dd[j]=null;}k++;}}}public void sumScore(){schoolscore=new int[n];ss=new School[n];for(int i=0;i<ss.length;i++)ss[i]=new School();this.divide();for(int i=0;i<pp.length;i++)for(int j=0;j<pp[i].length;j++){schoolscore[i]+=pp[i][j].getScore();}for(int i=0;i<ss.length;i++){ss[i].setShoolnum(pp[i][0].getNumSchool());ss[i].setShoolscore(schoolscore[i]);}}public void malesort(){String man="男";School ss1[]=new School[n];for(int i=0;i<ss1.length;i++)ss1[i]=new School();int maleschoolscore[]=new int[n];this.divide();for(int i=0;i<pp.length;i++)for(int j=0;j<pp[i].length;j++){if(man.equals(pp[i][j].getSexStudent()))maleschoolscore[i]+=pp[i][j].getScore();}for(int i=0;i<ss1.length;i++){ss1[i].setShoolnum(pp[i][0].getNumSchool());ss1[i].setShoolscore(maleschoolscore[i]);}int i,j;School index;for( i=0;i<ss1.length;i++)for( j=i+1;j<ss1.length;j++)if(ss1[i].getShoolscore()<ss1[j].getShoolscore()){index=ss1[i];ss1[i]=ss1[j];ss1[j]=index;}System.out.println("按学校男团体总分排序为:");for(i=0;i<maleschoolscore.length;i++)System.out.println(ss1[i].getShoolnum()+" "+ss1[i].getShoolscore()); }public void femalesort(){String woman="女";School ss1[]=new School[n];for(int i=0;i<ss1.length;i++)ss1[i]=new School();int femaleschoolscore[]=new int[n];this.divide();for(int i=0;i<pp.length;i++)for(int j=0;j<pp[i].length;j++){if(woman.equals(pp[i][j].getSexStudent()))femaleschoolscore[i]+=pp[i][j].getScore();}for(int i=0;i<ss1.length;i++){ss1[i].setShoolnum(pp[i][0].getNumSchool());ss1[i].setShoolscore(femaleschoolscore[i]);}int i,j;School index;for( i=0;i<ss1.length;i++)for( j=i+1;j<ss1.length;j++)if(ss1[i].getShoolscore()<ss1[j].getShoolscore()){index=ss1[i];ss1[i]=ss1[j];ss1[j]=index;}System.out.println("按学校女团体总分排序为:");for(i=0;i<femaleschoolscore.length;i++)System.out.println(ss1[i].getShoolnum()+" "+ss1[i].getShoolscore()); }public void sumsort(boolean b){int i,j;School index;this.sumScore();if(b){for( i=0;i<ss.length;i++){for( j=i+1;j<ss.length;j++)if(ss[i].getShoolscore()<ss[j].getShoolscore()){index=ss[i];ss[i]=ss[j];ss[j]=index;}}System.out.println("按学校总分排序为:");for(i=0;i<schoolscore.length;i++)System.out.println(ss[i].getShoolnum()+" "+ss[i].getShoolscore());}else {for( i=0;i<ss.length;i++){for( j=i+1;j<ss.length;j++)if(ss[i].getShoolnum()<ss[j].getShoolnum()){index=ss[i];ss[i]=ss[j];ss[j]=index;}}System.out.println("按学校编号排序输出为:");for(i=0;i<schoolscore.length;i++)System.out.println(ss[i].getShoolnum()+" "+ss[i].getShoolscore());}}public void search(){int num;String name;boolean bl=true;System.out.println("请输入学校编号和项目名:");num=s.nextInt();name=s.next();for(int i=0;i<stu.length;i++)if(num==stu[i].getNumSchool()&&name.equals(stu[i].getNumitem())){System.out.println("学校"+num+"的"+name+"信息为:"); bl=false;System.out.println(stu[i].getNumSchool()+""+stu[i].getNumitem()+" "+stu[i].getNameStudent()+""+stu[i].getSexStudent()+" "+stu[i].getRank()+" "+stu[i].getScore());}if(bl){System.out.println("无此信息!");}}public void searchitem(){String itemname;boolean t=true;System.out.println("请输入项目号:");itemname=s.next();System.out.println("该项目取得前三名或前五名的学校信息为:");for(int i=0;i<stu.length;i++)if(itemname.equals(stu[i].getNumitem())){t=false;System.out.println(stu[i].getNumSchool()+""+stu[i].getNumitem()+" "+stu[i].getNameStudent()+""+stu[i].getSexStudent()+" "+stu[i].getRank()+" "+stu[i].getScore());}if(t){System.out.println("无此项目!");}}public void outFile(){FileWriter f;try {f=new FileWriter("file.txt");for(int i=0;i<stu.length;i++){f.write(Integer.toString(stu[i].getNumSchool()));f.write(" ");f.write(stu[i].getNumitem());f.write(" ");f.write(stu[i].getNameStudent());f.write(" ");f.write(stu[i].getSexStudent());f.write("");f.write(Integer.toString(stu[i].getRank())); f.write("");f.write(Integer.toString(stu[i].getScore()));f.write("\n");}f.close();} catch (IOException e) {e.printStackTrace();}}}package test1;import java.util.*;public class Test {public static Scanner s=new Scanner(System.in);static Severdele sd;public static void main(String[] args) {int n,m,w;String str1[]={"跳远","跳高","铅球","接力赛"};String str2[]={"短跑","长跑","跳绳","标枪"};System.out.println("可以取前三名的项目有:");for(int i=0;i<str1.length;i++)System.out.print(str1[i]+" ");System.out.println();System.out.println("可以取前五的项目有:");for(int j=0;j<str2.length;j++)System.out.print(str2[j]+" ");System.out.println();System.out.println("参赛的学校个数、可以取前三名的项目个数和可以取前五名的项目个数:");n=s.nextInt();m=s.nextInt();w=s.nextInt();System.out.println("您选择了有"+n+"学校参赛,项目有"+m+"个可以取前三名的项目和"+w+"个可以取前五名的项目");System.out.println();sd=new Severdele(n,m,w);boolean bool=true;int p;while(bool){System.out.println("--------------------菜单---------------------");System.out.println("1------------输入前三名或前五名的成绩---------------");System.out.println("2-------------------排序---------------------");System.out.println("3-------------按学校编号查询某项目的信息------------");System.out.println("4----------按项目编号查询前三或前五名的学校----------");System.out.println("5-------------------数据存入文件--------------------");System.out.println("-------------------其他输入退出---------------------");p=s.nextInt();switch(p){case 1:sd.input();break;case 2:sort();break;case 3:sd.search();break;case 4:sd.searchitem();break;case 5:sd.outFile();break;default:bool=false;System.out.println("------------------您选择了退出!------------------");break;}}}public static void sort(){boolean bool=true;int k;while(bool){System.out.println("1---------------按学校编号排序---------------");System.out.println("2--------------- 学校总分排序-----------------");System.out.println("3--------------男团体总分排序----------------");System.out.println("4--------------女团体总分排序----------------");System.out.println("----------------其他输入退出-----------------");k=s.nextInt();switch(k){case 1:sd.sumsort(false);break;case 2:sd.sumsort(true);break;case 3:sd.malesort();break;case 4:sd.femalesort();break;default:bool=false;System.out.println("-------------------您选择了退出!----------------------");System.out.println();break;}}}}。

基于JAVA的运动会成绩发布系统

基于JAVA的运动会成绩发布系统
MySQL数据库即使拥有某些不足之处,例如规模小、功能有限等,但是开放源码,快捷灵活、稳定和容易使用等这些优点却是不容小觑的。对于此次要开发的系统—高校人事管理系统而言,MySQL提供的功能已经绰绰有余。
(5)、参考文献
[1]何坚东. 基于B/S架构的高校运动会管理系统的设计与实现[D].电子科技大学,2015.
2.毕业设计(论文)任务要研究或解决的问题和拟采用的方法:
(1)、于B/S架构运动会成绩发布系统的设计与实现的概述
基于BS架构的运动员成绩发布系统以运动员,教练员,记者,观众以及赛事组织者等相关人员作为使用对象,对赛事的公布,赛事的调整,赛事的查询,成绩的传送,成绩的公布,成绩的申诉等统一进行管理,为运动会成绩公布提供有效的管理方式。利用计算机进行运动员成绩发布的管理,并对运动员成绩的相关信息进行整理、分析、处置、决策,可以大大减少人工误差,提高成绩查询效率、正确性和真实性。本系统主要包括以下模块:赛事组织者对赛事的管理,裁判对成绩的管理,记者查询成绩,运动员查询成绩,运动员对成绩的申述,观众查询成绩,观众查询赛事,观众订阅成绩,用户管理。
3)安全性方面
数据备份:通过定期备份数据库,定期刻录成光盘进行数据的备份。
4)开发工具
MyEclipse;mysql
5)运行环境要求
硬件环境:CPU:1.8G及以上、内存256 M及以上
软件环境:windows 8 +mysql+jdk1.7+Tomcat7
6)开发环境配置
(3)本系统拟采用的解决方法
[15]Ray Stefani. The Methodology of Officially Recognized International Sports Rating Systems[J]. Journal of Quantitative Analysis in Sports,2012,7(4):.

java学生成绩管理系统课程设计

java学生成绩管理系统课程设计

Java学生成绩管理系统课程设计1. 简介Java学生成绩管理系统是一个用于管理学生课程成绩的应用程序。

它可以帮助学校、老师和学生轻松管理和查询学生的成绩信息,包括课程信息、学生信息和成绩信息。

该系统具有用户友好的界面和强大的功能,可以实现学生成绩的录入、修改、查询和统计等操作。

2. 功能需求Java学生成绩管理系统的主要功能如下:2.1 学生信息管理•学生信息的录入、修改和删除•学生信息的查询和显示•学生信息的批量导入和导出2.2 课程信息管理•课程信息的录入、修改和删除•课程信息的查询和显示•课程信息的批量导入和导出2.3 成绩信息管理•成绩信息的录入、修改和删除•成绩信息的查询和显示•成绩信息的批量导入和导出•成绩信息的统计和排名2.4 用户管理•用户的注册、登录和注销•用户密码的找回和修改•用户权限的管理3. 技术实现Java学生成绩管理系统使用Java语言开发,通过MySQL数据库存储数据,使用JDBC进行数据库操作。

系统采用MVC架构,将数据、视图和控制逻辑分离,提高了系统的可维护性和扩展性。

系统的界面采用Swing库进行设计,使用Java的GUI组件创建用户界面,并通过事件处理和监听器实现用户交互。

系统的数据存储和管理使用MySQL数据库,通过JDBC连接数据库,实现对数据的增删改查操作。

通过SQL语句对数据进行查询和统计,实现成绩信息的排名和统计功能。

系统的用户管理功能通过数据库存储用户信息,并提供注册、登录和注销功能。

用户密码的找回和修改通过邮件验证和安全问题验证实现。

4. 系统设计4.1 数据库设计系统的数据库设计包括以下表格:•学生表(Student):存储学生信息,包括学生编号、姓名、年龄、性别等字段。

•课程表(Course):存储课程信息,包括课程编号、课程名称、学分等字段。

•成绩表(Score):存储成绩信息,包括学生编号、课程编号、成绩等字段。

•用户表(User):存储用户信息,包括用户名、密码、邮箱等字段。

Java版成绩管理系统代码(系统登录、退出、一系列数据操作,实现许多必备功能)

Java版成绩管理系统代码(系统登录、退出、一系列数据操作,实现许多必备功能)

import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class AddForm extends JFrame implements ActionListener{ JLabel labName=new JLabel("学号:");JLabel labDate=new JLabel("出生日期:");JLabel labScore=new JLabel("成绩:");JTextField txtName=new JTextField(20);JTextField txtDate=new JTextField(18);JTextField txtScore=new JTextField(20);JButton btnOk=new JButton("确定");JButton btnClear=new JButton("清空");JPanel pan=new JPanel();JPanel pan1=new JPanel();JPanel pan2=new JPanel();JPanel pan3=new JPanel();JPanel pan4=new JPanel();Connection cnn;Statement stm;ResultSet rs;AddForm(){super("添加数据");setSize(400,300);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);pan.setBorder(BorderFactory.createEtchedBorder());pan1.add(labName);pan1.add(txtName);pan2.add(labDate);pan2.add(txtDate);pan3.add(labScore);pan3.add(txtScore);pan4.add(btnOk);pan4.add(btnClear);pan.setLayout(new GridLayout(3,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);getContentPane().add(pan,"Center");getContentPane().add(pan4,"South");btnOk.addActionListener(this);btnClear.addActionListener(this);setVisible(true);txtName.requestFocus();}public void actionPerformed(ActionEvent ae){if(ae.getSource()==btnClear){txtName.setText("");txtDate.setText("");txtScore.setText("");txtName.requestFocus();}else if(ae.getSource()==btnOk){String strName=txtName.getText();String strDate=txtDate.getText();String strScore=txtScore.getText();if(strName.equals(""))JOptionPane.showMessageDialog(this,"学号不能为空!","警告",JOptionPane.ERROR_MESSAGE);else if(strDate.equals(""))JOptionPane.showMessageDialog(this,"出生日期不能为空!","警告",JOptionPane.ERROR_MESSAGE);else if(strScore.equals(""))JOptionPane.showMessageDialog(this,"成绩不能为空!","警告",JOptionPane.ERROR_MESSAGE);else{try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch (ClassNotFoundException ex) {ex.printStackTrace();}try {cnn=DriverManager.getConnection("Jdbc:Odbc:MyDB");stm=cnn.createStatement();} catch (SQLException ex) {ex.printStackTrace();}try{rs = stm.executeQuery("select * from 成绩表where 学号='" +strName + "'");if (rs.next()) {JOptionPane.showMessageDialog(this,"对不起,该成绩信息已存在!");} else //否则插入记录{//System.out.println("insert into 成绩表values('"+strName+"',#"+strDate+"#,"+strScore+")");stm.executeUpdate("insert into 成绩表values('"+strName+"','"+strDate+"',"+strScore+")");JOptionPane.showMessageDialog(null,"记录已经成功添加!");}//断开连接stm.close();cnn.close();} catch (SQLException ex) {System.out.println("SQLException:" + ex.getMessage());}}}}public static void main(String[] args) {new AddForm();}}import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.table.JTableHeader;public class BrowseForm extends JFrame {String []str={"学号","出生日期","成绩"};Object[][] data;JTable table;JTableHeader head;JScrollPane jsp;Connection conn;Statement stmt;ResultSet rs;BrowseForm(){super("浏览数据");setSize(400,300);int i=0,j=0;int row;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.getConnection("jdbc:odbc:MyDB","","");stmt=conn.createStatement();rs=stmt.executeQuery("select COUNT(*) as a from 成绩表");rs.next();row=rs.getInt("a");rs.close();data=new Object[row][3];rs=stmt.executeQuery("select * from 成绩表");while(rs.next()){data[i][j++]=rs.getString("学号");data[i][j++]=rs.getDate("出生日期");data[i][j]=new Integer(rs.getInt("成绩"));i++;j=0;}table=new JTable(data,str);head=table.getTableHeader();jsp=new JScrollPane(table);getContentPane().add(head,"North");getContentPane().add(jsp,"Center");rs.close();stmt.close();conn.close();}catch(Exception e){e.printStackTrace();}setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setVisible(true);}public static void main(String[] args) {new BrowseForm();}}import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class DeleteForm extends JFrame implements ActionListener{ JLabel labName=new JLabel("学号:");JLabel labDate=new JLabel("出生日期:");JLabel labScore=new JLabel("成绩:");JTextField txtName=new JTextField(20);JTextField txtDate=new JTextField(18);JTextField txtScore=new JTextField(20);JButton btnDel=new JButton("删除");JButton btnCancel=new JButton("取消");JButton btnQuery=new JButton("查询");JPanel pan=new JPanel();JPanel pan1=new JPanel();JPanel pan2=new JPanel();JPanel pan3=new JPanel();JPanel pan4=new JPanel();Connection cnn;Statement stm;ResultSet rs;DeleteForm(){super("删除数据");setSize(400,300);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);pan.setBorder(BorderFactory.createEtchedBorder());pan1.add(labName);pan1.add(txtName);pan2.add(labDate);pan2.add(txtDate);pan3.add(labScore);pan3.add(txtScore);pan4.add(btnQuery);pan4.add(btnDel);pan4.add(btnCancel);pan.setLayout(new GridLayout(3,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);getContentPane().add(pan,"Center");getContentPane().add(pan4,"South");btnQuery.addActionListener(this);btnDel.addActionListener(this);btnCancel.addActionListener(this);btnDel.setEnabled(false);txtDate.setEditable(false);txtScore.setEditable(false);setVisible(true);txtName.requestFocus();}public void actionPerformed(ActionEvent ae){if(ae.getSource()==btnCancel){try {if(stm!=null)stm.close();if(cnn!=null)cnn.close();} catch (SQLException ex) {ex.printStackTrace();}this.dispose();} else if(ae.getSource()==btnQuery){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");cnn=DriverManager.getConnection("jdbc:odbc:MyDB","","");stm=cnn.createStatement();rs=stm.executeQuery("select * from 成绩表where 学号='"+txtName.getText()+"'");if(rs.next()){txtName.setText(rs.getString("学号"));txtDate.setText(rs.getDate("出生日期").toString());txtScore.setText(new Integer(rs.getInt("成绩")).toString());btnDel.setEnabled(true);}else{JOptionPane.showMessageDialog(this,"不存在该记录!");btnDel.setEnabled(false);txtName.setText("");txtScore.setText("");txtDate.setText("");}}catch(Exception e){e.printStackTrace();}}else if(ae.getSource()==btnDel){try {if(JOptionPane.YES_OPTION==JOptionPane.showConfirmDialog(this,"确定要删除该记录?","信息",JOptionPane.YES_NO_OPTION)){stm.executeUpdate("delete from 成绩表where 学号='"+txtName.getText()+"'");btnDel.setEnabled(false);txtName.setText("");txtScore.setText("");txtDate.setText("");}} catch (SQLException ex) {ex.printStackTrace();}}}public static void main(String[] args) {new DeleteForm();}}import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class LoginForm extends JFrame implements ActionListener{ JLabel labName=new JLabel("姓名");JLabel labPwd=new JLabel("密码");JTextField txtName=new JTextField(20);JPasswordField txtPwd=new JPasswordField(20);JButton btnOk=new JButton("确定");JButton btnCancel=new JButton("取消");JPanel pan=new JPanel();JPanel pan1=new JPanel();JPanel pan2=new JPanel();JPanel pan3=new JPanel();JPanel pan4=new JPanel();Connection cnn;Statement stm;ResultSet rs;LoginForm(){super("用户登录");setSize(300,200);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);pan.setBorder(BorderFactory.createTitledBorder("登录"));pan.setLayout(new GridLayout(2,1));pan1.add(labName);pan1.add(txtName);pan2.add(labPwd);pan2.add(txtPwd);pan.add(pan1);pan.add(pan2);pan3.add(btnOk);pan3.add(btnCancel);pan4.add(pan);getContentPane().add(pan4,"Center");getContentPane().add(pan3,"South");txtName.addActionListener(this);txtPwd.addActionListener(this);btnOk.addActionListener(this);btnCancel.addActionListener(this);setVisible(true);try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch (ClassNotFoundException ex) {ex.printStackTrace();}try {cnn=DriverManager.getConnection("Jdbc:Odbc:MyDB");stm=cnn.createStatement();} catch (SQLException ex) {ex.printStackTrace();}txtName.requestFocus();}public void actionPerformed(ActionEvent ae){if(ae.getSource()==txtName)txtPwd.requestFocus();else if(ae.getSource()==txtPwd)btnOk.requestFocus();else if(ae.getSource()==btnCancel){txtName.setText("");txtPwd.setText("");txtName.requestFocus();}else if(ae.getSource()==btnOk){String str="select * from 用户表where 用户名='"+txtName.getText()+"'and 密码='"+new String(txtPwd.getPassword())+"'";try {rs=stm.executeQuery(str);} catch (SQLException ex) {ex.printStackTrace();}try {if(rs.next()){JOptionPane.showMessageDialog(this,"验证通过!","信息",RMA TION_MESSAGE);rs.close();stm.close();cnn.close();new MainForm().setV isible(true);this.dispose();}else{JOptionPane.showMessageDialog(this,"用户名或密码不正确!","信息",RMA TION_MESSAGE);}} catch (SQLException ex) {ex.printStackTrace();}}}public static void main(String[] args) {new LoginForm();}}import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class ModifyForm extends JFrame implements ActionListener{JLabel labName=new JLabel("学号:");JLabel labDate=new JLabel("出生日期:");JLabel labScore=new JLabel("成绩:");JTextField txtName=new JTextField(20);JTextField txtDate=new JTextField(18);JTextField txtScore=new JTextField(20);JButton btnModify=new JButton("修改");JButton btnCancel=new JButton("取消");JButton btnQuery=new JButton("查询");JPanel pan=new JPanel();JPanel pan1=new JPanel();JPanel pan2=new JPanel();JPanel pan3=new JPanel();JPanel pan4=new JPanel();Connection cnn;Statement stm;ResultSet rs;ModifyForm(){super("修改数据");setSize(400,300);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);pan.setBorder(BorderFactory.createEtchedBorder());pan1.add(labName);pan1.add(txtName);pan2.add(labDate);pan2.add(txtDate);pan3.add(labScore);pan3.add(txtScore);pan4.add(btnQuery);pan4.add(btnModify);pan4.add(btnCancel);pan.setLayout(new GridLayout(3,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);getContentPane().add(pan,"Center");getContentPane().add(pan4,"South");btnQuery.addActionListener(this);btnModify.addActionListener(this);btnCancel.addActionListener(this);btnModify.setEnabled(false);txtDate.setEditable(false);txtScore.setEditable(false);setVisible(true);txtName.requestFocus();}public void actionPerformed(ActionEvent ae){if(ae.getSource()==btnCancel){try {if(stm!=null)stm.close();if(cnn!=null)cnn.close();} catch (SQLException ex) {ex.printStackTrace();}this.dispose();} else if(ae.getSource()==btnQuery){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");cnn=DriverManager.getConnection("jdbc:odbc:MyDB","","");stm=cnn.createStatement();rs=stm.executeQuery("select * from 成绩表where 学号='"+txtName.getText()+"'");if(rs.next()){txtName.setText(rs.getString("学号"));txtScore.setText(new Integer(rs.getInt("成绩")).toString());txtDate.setText(rs.getDate("出生日期").toString());btnModify.setEnabled(true);txtDate.setEditable(true);txtScore.setEditable(true);}else{JOptionPane.showMessageDialog(this,"不存在该记录!");btnModify.setEnabled(false);txtName.setText("");txtScore.setText("");txtDate.setText("");txtDate.setEditable(false);txtScore.setEditable(false);}}catch(Exception e){e.printStackTrace();}}else if(ae.getSource()==btnModify){try{System.out.println("Update 成绩表set 出生日期=#"+txtDate.getText()+"#,成绩="+txtScore.getText()+" where 学号='"+txtName.getText()+"'");stm.executeUpdate("Update 成绩表set 出生日期=#"+txtDate.getText()+"#,成绩="+txtScore.getText()+" where 学号='"+txtName.getText()+"'");JOptionPane.showMessageDialog(this,"记录修改完毕!");btnModify.setEnabled(false);txtName.setText("");txtScore.setText("");txtDate.setText("");txtDate.setEditable(false);txtScore.setEditable(false);stm.close();cnn.close();}catch(Exception e){e.printStackTrace();}}}public static void main(String[] args) {new ModifyForm();}}import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class NumberQueryForm extends JFrame implements ActionListener{ JLabel labName=new JLabel("学号:");JLabel labDate=new JLabel("出生日期:");JLabel labScore=new JLabel("成绩:");JTextField txtName=new JTextField(20);JTextField txtDate=new JTextField(18);JTextField txtScore=new JTextField(20);JButton btnCancel=new JButton("取消");JButton btnQuery=new JButton("查询");JPanel pan=new JPanel();JPanel pan1=new JPanel();JPanel pan2=new JPanel();JPanel pan3=new JPanel();JPanel pan4=new JPanel();Connection cnn;Statement stm;ResultSet rs;NumberQueryForm(){super("按学号查询");setSize(400,300);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);pan.setBorder(BorderFactory.createEtchedBorder());pan1.add(labName);pan1.add(txtName);pan2.add(labDate);pan2.add(txtDate);pan3.add(labScore);pan3.add(txtScore);pan4.add(btnQuery);pan4.add(btnCancel);pan.setLayout(new GridLayout(3,1));pan.add(pan1);pan.add(pan2);pan.add(pan3);getContentPane().add(pan,"Center");getContentPane().add(pan4,"South");btnQuery.addActionListener(this);btnCancel.addActionListener(this);txtDate.setEditable(false);txtScore.setEditable(false);setVisible(true);txtName.requestFocus();}public void actionPerformed(ActionEvent ae){if(ae.getSource()==btnCancel){try {if(stm!=null)stm.close();if(cnn!=null)cnn.close();} catch (SQLException ex) {ex.printStackTrace();}this.dispose();} else if(ae.getSource()==btnQuery){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");cnn=DriverManager.getConnection("jdbc:odbc:MyDB","","");stm=cnn.createStatement();rs=stm.executeQuery("select * from 成绩表where 学号='"+txtName.getText()+"'");if(rs.next()){txtName.setText(rs.getString("学号"));txtScore.setText(new Integer(rs.getInt("成绩")).toString());txtDate.setText(rs.getDate("出生日期").toString());}else{JOptionPane.showMessageDialog(this,"不存在该记录!");txtName.setText("");txtScore.setText("");txtDate.setText("");txtName.requestFocus();}}catch(Exception e){e.printStackTrace();}}}public static void main(String[] args) {new NumberQueryForm();}}import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.table.DefaultTableModel;import javax.swing.table.JTableHeader;public class ScoreQueryForm extends JFrame implements ActionListener{ JLabel labScore=new JLabel("请输入成绩:");JTextField txtScore=new JTextField(10);JButton btnQuery=new JButton("查询");JPanel pan1=new JPanel();JPanel pan2=new JPanel();String []str={"学号","出生日期","成绩"};Object[][] data=new Object[10][3];JTable table=new JTable(data,str);JTableHeader head=table.getTableHeader();JScrollPane jsp=new JScrollPane(table);Connection conn;Statement stmt;ResultSet rs;ScoreQueryForm(){super("按成绩查询");setSize(400,300);pan1.add(labScore);pan1.add(txtScore);pan1.add(btnQuery);getContentPane().add(pan1,"North");table=new JTable(data,str);pan2.setLayout(new BorderLayout());head=table.getTableHeader();jsp=new JScrollPane(table);pan2.add(head,"North");pan2.add(jsp,"Center");getContentPane().add(pan2,"Center");btnQuery.addActionListener(this);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setVisible(true);}public void actionPerformed(ActionEvent ae){if(ae.getSource()==btnQuery){int i,j,row;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");conn=DriverManager.getConnection("jdbc:odbc:MyDB","","");stmt=conn.createStatement();rs=stmt.executeQuery("select COUNT(*) as rowcount from 成绩表where 成绩="+txtScore.getText());rs.next();row=rs.getInt("rowcount");rs.close();data=new Object[row][3];rs=stmt.executeQuery("select * from 成绩表where 成绩="+txtScore.getText());i=0;j=0;while(rs.next()){data[i][j++]=rs.getString("学号");data[i][j++]=rs.getDate("出生日期");data[i][j]=new Integer(rs.getInt("成绩"));i++;j=0;}pan2.removeAll();getContentPane().remove(pan2);table=new JTable(data,str);pan2.setLayout(new BorderLayout());head=table.getTableHeader();jsp=new JScrollPane(table);pan2.add(head,"North");pan2.add(jsp,"Center");getContentPane().add(pan2,"Center");this.validate();rs.close();stmt.close();conn.close();}catch(Exception e){e.printStackTrace();}}}public static void main(String[] args) {new ScoreQueryForm();}}import javax.swing.*;import java.awt.*;import java.awt.event.*;class MyPanel extends JPanel{Image img=Toolkit.getDefaultToolkit().getImage("c:/a.jpg");public void paint(Graphics g){g.drawImage(img,0,0,this);}}public class MainForm extends JFrame implements ActionListener{ JMenu mSystem=new JMenu("系统");JMenuItem mExit=new JMenuItem("退出");JMenu mOperate=new JMenu("数据操作");JMenuItem mAdd=new JMenuItem("添加");JMenuItem mDel=new JMenuItem("删除");JMenuItem mModify=new JMenuItem("修改");JMenuItem mBrowse=new JMenuItem("浏览");JMenu mQuery=new JMenu("查询");JMenuItem mNumber=new JMenuItem("按学号查询");JMenuItem mScore=new JMenuItem("按成绩查询");JMenu mHelp=new JMenu("帮助");JMenuItem mAbout=new JMenuItem("关于");JMenuBar mBar=new JMenuBar();MainForm(){super("学生成绩管理系统");setSize(700,630);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);mSystem.add(mExit);mOperate.add(mAdd);mOperate.add(mDel);mOperate.add(mModify);mOperate.add(mBrowse);mQuery.add(mNumber);mQuery.add(mScore);mHelp.add(mAbout);mBar.add(mSystem);mBar.add(mOperate);mBar.add(mQuery);mBar.add(mHelp);setJMenuBar(mBar);mExit.addActionListener(this);mAdd.addActionListener(this);mDel.addActionListener(this);mModify.addActionListener(this);mBrowse.addActionListener(this);mNumber.addActionListener(this);mScore.addActionListener(this);mAbout.addActionListener(this);setContentPane(new MyPanel());setVisible(true);}public void actionPerformed(ActionEvent ae){if(ae.getSource()==mExit)System.exit(0);else if(ae.getSource()==mAbout)JOptionPane.showMessageDialog(this,"学生管理系统V1.0\n\n安徽师范大学数学计算机科学学院\n\n2010年11月","关于",RMA TION_MESSAGE);else if(ae.getSource()==mAdd)new AddForm().setV isible(true);else if(ae.getSource()==mDel)new DeleteForm().setV isible(true);else if(ae.getSource()==mModify)new ModifyForm().setV isible(true);else if(ae.getSource()==mBrowse)new BrowseForm().setVisible(true);else if(ae.getSource()==mNumber)new NumberQueryForm().setVisible(true);else if(ae.getSource()==mScore)new ScoreQueryForm().setVisible(true);}public static void main(String[] args) {new MainForm();}}。

JAVA学生成绩管理系统(说明书)

JAVA学生成绩管理系统(说明书)

┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊学生成绩管理系统目录1.设计题目 (2)2.设计目的 (2)3.设计分析 (2)3.3可行性研究 (2)3.3需求分析 (2)3.3需求分析 (2)4.概念结构设计 (3)5.系统总体设计 (4)5.1数据需求设计 (4)5.2模块设计和数据存储 (5)5.3功能模块设计 (6)6.具体功能实现 (7)6.1登录模块的实现 (10)6.2管理员登陆 (8)6.3添加学生信息 (10)6.4查询学生信息 (13)6.5修改学生信息 (14)6.6添加学生信息 (17)7.总结 (17)8.参考文献 (18)9.附录 (18)┊┊┊┊┊┊┊┊┊┊┊┊┊装┊┊┊┊┊订┊┊┊┊┊线┊┊┊┊┊┊┊┊┊┊┊┊┊一.设计题目学生成绩管理系统二.设计目的巩固和加深学生对高级语言程序设计课程的基本知识的理解和掌握,掌握java语言编程和程序调试的基本技能,利用java语言进行基本的软件设计,提高运用java语言解决实际问题的能力。

三.设计分析3.1可行性研究利用面向对象的JAVA语言来进行系统开发,可以很方便的根据实际定义各个所需要的对象,并对这些对象进行操作。

同时由于本系统是在控制台进行各种用户操作,所以需要及时验证用户的输入是否正确,并进行相应的提示,这些需求和功能在目前情况下利用所学知识完全可以实现。

并且本系统采用文件来存储数据,操作比较简单,但是在一定程度上限制数据量和系统的运行速度。

该学生成绩管理系统管理系统是在Windows7系统下进行开发和运行的,这些系统目前已经比较普及,用户在该系统中可以方便的进行各种操作,实现预期的目的。

但是受控制台的限制,使得用户的操作不是很方便,这需要下一步的系统改进和升级,但是本系统仍然是可以正常运行和使用的3.2问题陈述此项目是学生成绩管理系统,管理员对学生的成绩进行管理和分析。

在进入系统之前需要用户通过身份验证,当用户正确的输入了用户名称和密码后即可进入系统的主界面。

Java语言学生成绩管理系统(含源代码)

Java语言学生成绩管理系统(含源代码)

Java语言学生成绩管理系统(含源代码)
简介
该文档介绍了一个用Java语言编写的学生成绩管理系统,包括系统的功能和使用方法。

功能
该系统具有以下功能:
- 学生信息管理:包括学生的姓名、学号、性别等基本信息的录入和管理。

- 成绩录入和统计:学生的各科成绩可以通过系统录入,并且可以进行成绩统计和分析。

- 成绩查询和打印:通过学号或姓名可以查询学生的成绩,并且可以将成绩单以打印的形式输出。

使用方法
- 打开终端或命令行界面,输入以下命令克隆代码库:
git clone <代码库地址>
- 导入项目到Java开发工具中。

2. 编译和运行:
- 在Java开发工具中,找到项目的入口文件或主类。

- 点击运行按钮或使用快捷键进行编译和运行。

3. 使用系统:
- 在系统中选择相应的功能,如学生信息管理、成绩录入和统计、成绩查询和打印等。

- 根据系统的提示,进行相应的操作和输入。

- 根据需要,可以多次使用系统的各个功能。

注意事项
- 该系统仅用于学生管理和成绩统计,不涉及其他法律问题和敏感信息。

- 如需修改或添加系统功能,请参考源代码进行相应的开发和调整。

成绩管理系统课程设计java

成绩管理系统课程设计java

成绩管理系统课程设计java一、课程目标知识目标:1. 让学生理解成绩管理系统的基本概念,掌握Java语言在系统开发中的应用;2. 使学生掌握面向对象编程思想,能够运用类和对象构建简单的成绩管理系统;3. 帮助学生掌握Java中的数据存储和访问,包括文件读写、数据库操作等方法;4. 让学生掌握Java中的异常处理和界面设计,提高系统稳定性和用户体验。

技能目标:1. 培养学生运用Java语言进行成绩管理系统开发的能力;2. 培养学生独立分析和解决实际问题的能力;3. 提高学生的编程实践能力,使其能够熟练使用Java开发工具;4. 培养学生的团队协作能力,能够与他人共同完成项目。

情感态度价值观目标:1. 培养学生对编程的兴趣,激发其主动学习的热情;2. 培养学生严谨、细致的编程习惯,提高其程序质量意识;3. 培养学生面对问题积极思考、勇于克服困难的精神;4. 培养学生具备良好的团队合作精神,尊重他人,共享成果。

本课程针对高年级学生,课程性质为实践性较强的编程课程。

结合学生特点,课程目标注重培养编程实践能力和团队协作精神。

在教学过程中,要求教师关注学生个体差异,提供个性化的指导,确保学生在完成课程学习后,能够具备实际开发成绩管理系统所需的知识和技能。

同时,注重培养学生的情感态度价值观,使其在编程实践中形成积极、健康的人生态度。

通过分解课程目标为具体的学习成果,便于后续教学设计和评估,确保教学效果。

二、教学内容1. Java基础回顾:变量、数据类型、运算符、控制流程(条件语句、循环语句);2. 面向对象编程:类与对象、构造方法、封装、继承、多态;3. 数据存储与访问:文件读写、数据库连接与操作;4. 异常处理:异常的概念、try-catch语句、异常的抛出与捕获;5. Java图形用户界面:Swing组件、事件处理、界面布局;6. 成绩管理系统的设计与实现:需求分析、系统设计、功能模块划分、编码实现;7. 项目实践与团队协作:分组进行项目开发,分工合作,共同完成一个简单的成绩管理系统。

运动会成绩管理系统源代码

运动会成绩管理系统源代码

运动会成绩管理系统源代码#include#include#include#include#define S 4#define N 4#define M 4#define Y "123456"void yonghuming();void mima();void bsxm();void csxx();void Information();void main();void menu();void printf_back();void saveathlete();void saveprogram();void saveschool();void savescore();void Search();void ttzf() ;int i;FILE *fp1,*fp2,*fp3,*fp4;struct athlete //定义运动员信息{char univ[8];char name[8];char prog[8];char mingci[8];int score;}at[S];struct xuexiao //定义学校信息{ char univ[8];char prog[8];int num_athlete;}xx[N];struct program //定义项目信息{char prog[8];int quming;char ath1[8];char ath2[8];char univ1[8];char univ2[4];}pro[M];struct zongfen //定义学校得分信息{ char univ[8];char prog1[8];char prog2[8];char prog3[8];int score1;int score2;int score3;int total_score;}zf[N];//苏佳乐void main(){yonghuming ();}void yonghuming(){int i,flag;char person[20];printf("\\**********登录**********\"); printf("\\请输入用户名:");for(i=0;i<=3;i ++){char name[20] = "sml";gets(person);flag=strcmp(person,name);if(flag ==0)mima();else{printf("\\用户名错误!\\\\\请重新输入:"); }}}void mima(){char p[20],i=0;printf("\\请输入密码:");while(p[i]=getch()){if(p[i]==13) break;if(p[i]!='\\b'){printf("*");i++;}else{printf("\\b \\b");i--;}}p[i]='\\0';if(strcmp(p,Y)==0){printf("验证通过\\\");menu();}else{printf("\\\密码错误\");mima();}}//李瑞void menu(){int n,w1;do{printf("\\******** 校际运动会管理系统**************\");printf("\\**********************菜单****************************\");printf("\\******** 1.信息输入**************\");printf("\\******** 2.比赛结果录入**************\");printf("\\******** 3.信息查询**************\");printf("\\******** 4.退出**************\");printf("\\***************************************************** *\");printf("请选择:[ ]\\b\\b");scanf("%d",&n);if (n<1||n>4){w1=1;getchar();}elsew1=0;}while (w1==1);switch(n){case 1:Information();break; //输入信息case 2:savescore();break;//比赛结果录入case 3:Search();break;//查询模块case 4:exit(0);}}//米书馨void Information(){int n,w ;do{printf("\\\");printf("\\********** 欢迎进入信息输入系统! *********\"); printf("\\***********************菜单*********************\"); printf("\\********** 1.保存运动员信息**********\");printf("\\********** 2.保存学校信息**********\");printf("\\********** 3.保存项目信息**********\");printf("\\********** 4.退出**********\");printf("\\************************************************\"); printf("请选择[ ]\\b\\b");scanf("%d",&n);if (n<1 || n>4){w=1;}elsew=0;}while (w==1);switch(n){case 1 : saveathlete(); break;// 保存运动员信息子函数case 2 : saveschool(); break;//保存学校信息子函数case 3 : saveprogram();break;//保存项目比赛信息子函数case 4 : exit(0);}}void saveathlete() //保存运动员信息子函数{printf("\请输入各项目获奖运动员的信息:\");for(i=0;i<s;i++)< bdsfid="241" p=""></s;i++)<>{printf("\请输入第%d个运动员的信息:\",i+1);printf("姓名:");scanf("%s",&at[i].name);printf("学校(简称):");scanf("%s",&at[i].univ);printf("参赛项目:");scanf("%s",&at[i].prog);printf("名次:");scanf("%s",&at[i].mingci);printf("得分:");scanf("%d",&at[i].score);}fp1=fopen("ath","w");for(i=0;i<s;i++)< bdsfid="257" p=""></s;i++)<>{if(fwrite(&at[i],sizeof(struct athlete),1,fp1)!=1)//指向要输入数据的地址,size为要写的字节数,count为要进行写多少个size字节的数据项,fp1为文件指针printf("File write error!\");}fclose(fp1);fp1=fopen("ath","r");printf("\各运动员的信息如下:\\");printf("姓名学校项目名次得分\");for(i=0;i<s;i++)< bdsfid="267" p=""></s;i++)<>{fread(&at[i],sizeof(struct athlete),1,fp1);printf("%s,,%s,,%s,,%s,,%d\", at[i].name, at[i].univ, at[i].prog, at[i].mingci, at[i].score);}fclose(fp1);printf_back();}void saveschool() //保存学校信息子函数{printf("\请输入各参赛学校的信息:");for(i=0;i<n;i++)< bdsfid="279" p=""></n;i++)<> {printf("\请输入第%d个学校的信息:\",i+1);printf("学校:");scanf("%s",&xx[i].univ);printf("参赛项目:");scanf("%s",&xx[i].prog);printf("参赛人数:");scanf("%d",&xx[i].num_athlete);}fp3=fopen("xxiao","w");for(i=0;i<n;i++)< bdsfid="291" p=""></n;i++)<> {if(fwrite(&xx[i],sizeof(struct xuexiao),1,fp3)!=1) printf("文件错误!\");}fclose(fp3);printf_back();}void saveprogram() //保存项目比赛信息子函数{printf("\请输入关于比赛项目的信息:");for(i=0;i<m;i++)< bdsfid="303" p=""></m;i++)<> {printf("\请输入第%d个项目比赛的信息:\",i+1);printf("项目:");scanf("%s",pro[i].prog);printf("得分:");scanf("%d",&pro[i].quming);printf("参赛者1:");scanf("%s",pro[i].ath1);printf("所属学校:");scanf("%s",pro[i].univ1);printf("参赛者2:");scanf("%s",pro[i].ath2);printf("所属学校:");scanf("%s",pro[i].univ2);}fp4=fopen("pr","w");for(i=0;i<m;i++)< bdsfid="321" p=""></m;i++)<>{if(fwrite(&pro[i],sizeof(struct program),1,fp4)!=1)printf("文件错误!\");}fclose(fp4);printf_back();}//苏佳乐void savescore() //保存学校得分情况子函数{printf("\\\**********欢迎进入信息录入系统!**********\\\");printf("N-参赛学校总数,M-男子竞赛项目数,W-女子竞赛项目数。

java课程设计学生成绩管理系统代码

java课程设计学生成绩管理系统代码

一、概述随着信息化时代的到来,学生成绩管理系统已经成为学校教育管理的重要组成部分。

学生成绩管理系统的建设,对于提高学校教学管理水平,促进教学改革具有重要意义。

本文旨在通过java编程语言设计学生成绩管理系统代码,为学校教育管理提供技术支持和参考。

二、系统功能设计1. 学生成绩录入功能学生成绩录入功能是学生成绩管理系统的核心功能之一,通过该功能,教师可以方便快捷地录入学生成绩信息。

录入信息包括学生尊称、学号、课程名称、成绩等。

2. 学生成绩查询功能学生成绩查询功能是学生成绩管理系统的基本功能之一,通过该功能,教师和学生可以查询学生成绩信息。

查询信息包括学生尊称、学号、课程名称、成绩等。

3. 学生成绩统计功能学生成绩统计功能是学生成绩管理系统的重要功能之一,通过该功能,教师可以对学生成绩信息进行统计分析。

统计信息包括总分、平均分、及格人数、优秀人数等。

4. 学生成绩修改功能学生成绩修改功能是学生成绩管理系统的必要功能之一,通过该功能,教师可以对学生成绩信息进行修改。

修改信息包括学生尊称、学号、课程名称、成绩等。

5. 学生成绩导出功能学生成绩导出功能是学生成绩管理系统的便捷功能之一,通过该功能,教师可以将学生成绩信息导出为Excel或PDF格式,以便打印和备份。

三、系统代码设计1. 学生成绩录入代码```javapublic class StudentGradeInput {public static void m本人n(String[] args) {// 录入学生成绩信息Scanner input = new Scanner(System.in);System.out.println("请输入学生尊称:");String name = input.nextLine();System.out.println("请输入学号:");String id = input.nextLine();System.out.println("请输入课程名称:");String course = input.nextLine();System.out.println("请输入成绩:");int grade = input.nextInt();// 将学生成绩信息存入数据库// ...}}```2. 学生成绩查询代码```javapublic class StudentGradeQuery {public static void m本人n(String[] args) { // 查询学生成绩信息Scanner input = new Scanner(System.in); System.out.println("请输入学生尊称:"); String name = input.nextLine();// 查询数据库中对应学生的成绩信息// ...}}```3. 学生成绩统计代码```javapublic class StudentGradeStatistics {public static void m本人n(String[] args) { // 统计学生成绩信息// 从数据库中获取所有学生成绩信息// 统计总分、平均分、及格人数、优秀人数等 // ...}}```4. 学生成绩修改代码```javapublic class StudentGradeModify {public static void m本人n(String[] args) { // 修改学生成绩信息Scanner input = new Scanner(System.in); System.out.println("请输入学生尊称:"); String name = input.nextLine();// 查询数据库中对应学生的成绩信息// ...System.out.println("请输入新的成绩:"); int newGrade = input.nextInt();// 更新数据库中对应学生的成绩信息// ...}}```5. 学生成绩导出代码```javapublic class StudentGradeExport {public static void m本人n(String[] args) {// 导出学生成绩信息// 从数据库中获取所有学生成绩信息// 将学生成绩信息导出为Excel或PDF格式// ...}}```四、系统代码实现以上代码实现了学生成绩管理系统的基本功能,包括学生成绩录入、查询、统计、修改和导出。

JAVA课程设计运动会成绩管理系统

JAVA课程设计运动会成绩管理系统

权限管理:设置不同级别的用 户权存储设备

软件需求:操 作系统、数据 库、应用软件

部署步骤:安 装操作系统、 安装数据库、 安装应用软件

维护方案:定 期备份数据、 定期检查系统、 定期更新软件

系统运行环境:硬件、软件、网络等 系统维护:定期检查、备份、更新等 系统安全管理:用户权限、数据加密、防火墙等 系统性能优化:优化算法、提高响应速度等
系统升级:定期更 新系统版本,提高 系统稳定性和性能
功能扩展:根据用 户需求,增加新的 功能模块
数据备份:定期备 份系统数据,防止 数据丢失
安全防护:加强系 统安全防护,防止 黑客攻击和数据泄 露
汇报人:
性能需求:系统 响应时间、处理 速度等
可靠性需求:系 统稳定性、数据 安全性等
可用性需求:用 户界面友好、操 作简便等
可维护性需求: 系统升级、维护 方便等
前端设计:用户界面,包括登录、注册、成绩查询等功能 后端设计:数据库设计,包括成绩表、用户表、管理员表等 通信设计:前后端通信,包括HTTP请求、WebSocket等 安全设计:用户身份验证、数据加密等 性能设计:优化查询速度、提高系统稳定性等 可扩展性设计:支持未来功能扩展和升级等
测试方法:黑盒测试、白盒 测试、灰盒测试等
测试目的:确保系统功能正 常,提高系统稳定性
优化目标:提高系统响应速度、 降低系统资源消耗、提高系统 安全性
优化方法:代码优化、数据 库优化、服务器优化等
安全测试:对系统进行安全漏 洞扫描,确保系统安全
优化措施:对系统进行性能优 化,提高系统运行效率
数据备份:定期备份系统数据, 防止数据丢失
,a click to unlimited possibilities

java校运会管理系统测试原理

java校运会管理系统测试原理

一、引言校园运动会作为学校生活中一项重要的活动,具有丰富多彩的项目和参与者众多的特点。

为了更好地管理校运会的参与者信息、比赛项目安排、成绩统计等工作,很多学校利用计算机技术开发了校运会管理系统。

而在开发和使用这样的系统时,为了确保系统的稳定性和可靠性,必须进行充分的测试工作。

本文将介绍Java校运会管理系统测试的原理和方法。

二、测试原理1. 单元测试单元测试是针对程序模块(如方法或函数)的最小测试单位。

在Java 校运会管理系统中,这可能涉及到对参与者信息录入模块、比赛项目安排模块、成绩统计模块等进行单元测试。

单元测试的目的是验证每个模块的功能是否符合设计要求,并发现和解决潜在的代码错误。

2. 集成测试集成测试是对系统中不同模块之间的交互进行测试。

在Java校运会管理系统中,可能需要对不同模块的数据交换、流程控制等进行集成测试,确保系统各部分协调运行。

3. 系统测试系统测试是对整个系统的功能和性能进行测试。

在Java校运会管理系统中,需要对系统的整体功能进行测试,并模拟真实场景下的使用情况,以此来评估系统的稳定性和性能。

4. 验收测试验收测试是在用户验收系统之前进行的测试。

在Java校运会管理系统中,教师和学生将成为主要的使用者,他们应该参与验收测试过程,确保系统满足实际需求。

三、测试方法1. 黑盒测试黑盒测试是对系统接口和功能进行测试,而不考虑系统内部结构和代码。

在Java校运会管理系统中,可以通过输入不同的参数对系统功能进行测试,以发现系统中的错误和缺陷。

2. 白盒测试白盒测试是对系统代码的结构和逻辑进行测试,以验证程序的每个代码路径是否都被执行到。

通过对Java校运会管理系统的代码进行覆盖率测试,可以发现潜在的逻辑错误和死代码。

3. 自动化测试自动化测试是利用测试工具和脚本来执行测试,以提高测试效率和覆盖范围。

在Java校运会管理系统中,可以利用JUnit等测试框架来编写测试用例,并通过自动化测试工具进行测试。

运动会成绩管理系统

运动会成绩管理系统

运动会成绩管理系统本系统用java和mySQL实现B/S模式主页:实现用户登录|注册这两个按钮放在主页面的右上角主页面布局如下:第一排分别是:首页、体育赛事、运动员、系部管理人员、管理员等按钮中间分为2个部分,左右布局左小右大比例你看着怎样分布好看协调,左右两边的功能分别如下:左边是一个由下往上滚动的通知通知内容是:可以由管理人员发布的任何消息,点击里面的任何一条消息可以产生相应的页面,发布消息的权限为管理人员右边,是一个可以左右滚动的图片播放功能图片添加的权限为管理人员,点击图片可以产生相应的网页最下面为一个连接功能,大概做3个就可以了,第一个随便你做什么连接,我到时候改。

第二个第三个连接分别连接到新浪体育和腾讯体育注册:运动员注册:1、注册名2、密码3、确认密码4、验证码运动员注册后要实现信息采集,采集内容为:学号(学号为10个数字组成,分别从0-9,不能多不能少,多了或少了都要报错或提示),院系,院系做一个下拉框,可以选择但只能选一个,总共有这些系部(物理与信息工程系、艺术设计系、体育系、生命科学系、化学与化学工程系、预科部、音乐舞蹈系、美术系、教育科学系、计算机工程系、中国语言文学系、数学与应用数学系、外国语言文学系、政法系、公共管理系、商学系、经济学系共17个系部)这些系部一个也不能少姓名、性别(性别特别重要,总不能男女混合比)电话可以修改密码系部管理人员:系部管理人员由管理员添加每个系部管理人员只能一个。

注册名就可以是系部名字密码随便验证码可以修改密码运动员模块:1、可以实现项目报名,(男女分开,男的只能报男子组,实现的过程要区分男女,注册的过程就有男女的分别,运动员登陆后男性的报名项目只有男性的不能出现女性的,女子报名同理)有单项和多项报名都要实现,报名项目总数不能超过管理人员输入的项目总数,同一时间段的项目只能报一项。

多项报名只能是本系的人报同一个项目,不能出现不同系的人组一个队。

java学生成绩管理系统代码

java学生成绩管理系统代码

Java学生成绩管理系统代码介绍Java学生成绩管理系统是一个用于管理学生个人信息和学习成绩的应用程序。

该系统可以帮助学校、老师和学生快速高效地管理和查看学生成绩。

本文将讨论该系统的代码设计和功能实现。

功能Java学生成绩管理系统具有以下功能:1.添加学生信息:可以添加学生的基本信息,如学号、姓名、性别、年龄等。

2.更新学生信息:可以修改学生的个人信息。

3.删除学生信息:可以从系统中删除学生的信息。

4.添加学生成绩:可以添加学生的学习成绩,如数学、英语、科学等。

5.更新学生成绩:可以修改学生的学习成绩。

6.删除学生成绩:可以从系统中删除学生的某门学习成绩。

7.查询学生信息:可以按照学号或姓名查询学生的信息。

8.查询学生成绩:可以按照学号或姓名查询学生的学习成绩。

9.统计学生成绩:可以计算某门课程的平均成绩、最高成绩、最低成绩等统计数据。

10.打印学生成绩单:可以打印学生的学习成绩单。

代码设计学生类学生类是Java学生成绩管理系统的核心类之一,它包含了学生的基本信息和学习成绩信息。

下面是学生类的代码示例:public class Student {private String studentId;private String name;private String gender;private int age;private Map<String, Double> scores; // 使用Map存储学习成绩,key为课程名称,value为成绩// 构造函数public Student(String studentId, String name, String gender, int ag e) {this.studentId = studentId; = name;this.gender = gender;this.age = age;this.scores = new HashMap<>();}// 添加学习成绩public void addScore(String course, double score) {scores.put(course, score);}// 更新学习成绩public void updateScore(String course, double score) {scores.put(course, score);}// 删除学习成绩public void deleteScore(String course) {scores.remove(course);}// 获取学生的学习成绩public Map<String, Double> getScores() {return scores;}// 其他getter和setter方法// ...}学生管理类学生管理类负责管理学生对象,包括学生的添加、更新、删除等操作。

运动会管理系统毕业论文 java_access

运动会管理系统毕业论文 java_access

目录摘要 (1)Abstract (1)第一章前言 (1)第二章概述 (2)1.系统模块概述 (2)2.需求分析 (2)3.可行性分析 (2)第三章概要设计 (3)1.基本模块 (3)2.数据流程图 (3)第四章详细设计 (5)1.模块功能 (5)1.1用户管理模块 (5)1.2成绩管理模块 (6)2.数据库表设计 (6)3.界面及代码设计 (8)3.1 用户管理 (8)3.1.1添加管理员用户 (8)3.1.2删除管理员用户 (9)3.1.3管理员密码修改 (10)3.1.4 添加普通用户 (11)3.1.5 删除普通用户 (12)3.1.6 普通用户密码修改 (14)3.2 成绩管理 (15)3.2.1成绩录入 (15)3.2.2 成绩查询 (16)3.2.3 成绩修改 (17)3.2.4 成绩删除 (18)第五章全文总结 (20)运动会管理系统的设计与实现江海洋,电子信息系摘要:随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。

管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

本文介绍了使用NetBeans作为开发工具,access 2003作为数据库开发设计的一个运动会管理系统,该系统能有效的帮助运动会管理人员提高工作效率,减少工作时间,同时更简单直观的表达了运动会中所涵盖的各种信息,如运动员的基本信息、项目信息、运动员成绩等。

关键字:运动会;管理系统;数据库;java;accessThe Design And Realization Of Sports-Meeting-Administration System Jiang HaiYang, department of electronics and informationAbstract:As the application of IT in administration become deeper and wider, administrative information system has become mature in technology aspect. As a continuing developing novel discipline, administrative information system has to build a system that will meet its demand for surviving and organizing its inner activities.The thesis introduces a sports-meeting-administration system that can help sports-meeting administrators to improve efficiency and reduce working hours. What’s more, using NetBeans as developing tool and access 2003 as database developing tool, the system express all sorts of sports-meeting information in an easier way, information like basic profile of the athletes, information about each sports event, performance and so on.Key words: Sports-meeting; Administrative system; Datebase; Java; Access管理系统是由管理者与管理对象组成的并由管理者负责控制的一个整体。

java学生成绩管理系统

java学生成绩管理系统

java学生成绩管理系统
Java学生成绩管理系统是一个用Java语言开发的管理学生成绩的软件系统。

该系统可以实现以下功能:
1. 学生信息管理:可以添加、修改和删除学生的基本信息,包括学号、姓名、性别、年龄等。

2. 成绩录入与查询:可以录入学生的各科成绩,并可以根
据学号或姓名查询学生的成绩。

3. 成绩统计与分析:可以统计每个学生的总分和平均分,
并可以进行成绩分析,比如计算班级的最高分、最低分和
平均分。

4. 成绩报表生成:可以生成学生成绩的报表,包括各科成
绩排名、总分排名等。

5. 成绩排名:可以按照总分或各科成绩对学生进行排名。

6. 数据备份与恢复:可以对学生的信息和成绩数据进行备份,以防止数据丢失。

7. 用户权限管理:可以设置不同用户的权限级别,比如管
理员可以进行所有操作,而普通用户只能进行学生信息的
查询和成绩的录入。

通过使用Java编程语言,可以实现系统的跨平台性,即可以运行在不同的操作系统上,如Windows、Linux等。

此外,Java语言具有良好的面向对象特性和丰富的类库支持,使得开发该系统更加方便和灵活。

java项目(学生成绩管理系统)

java项目(学生成绩管理系统)

《Java程序设计实训》学生成绩管理系统设计数据库:CREATE DATABASE 学生成绩管理系统(1)教师信息表创建:create table 教师信息表(教师ID varchar(8) primary key ,教师 varchar(8) not null unique,登录密码 varchar(8) not null,)(2)学籍信息表创建:create table 学籍信息表(学号 varchar(15) primary key,varchar(8) not null ,年龄 varchar(10),出生日期 varchar(10),性别 varchar(4) ,班级 varchar(8) not null ,专业 varchar(5) ,民族 varchar(10),登录密码 varchar(6) not null)(3)成绩信息表创建:create table 成绩信息表(学号 varchar(15),计算机网络 varchar(8),计算机专业英语 smallint,计算机信息技术基础 smallint,Java程序设计 smallint ,数据库应用实训教程 smallint ,高等数学 smallint ,Xml smallint ,)概要结构分析:1.登录界面和主界面import javax.swing.*;import javax.swing.table.DefaultTableModel;import java.awt.*;import java.awt.event.*;import java.sql.*;class myConnection{ResultSet re;public myConnection(){}public ResultSet getResult(String sql){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");学生成绩管理系统登录界面教师登录学生登录添加学生信息添加学生成绩修改学生信息删除学生信息查看学生信息查看学生成绩查看学生信息查看学生成绩添加学生信息Statementstmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.C ONCUR_UPDATABLE);ResultSet re=stmt.executeQuery(sql);return re;}catch(Exception e){System.out.println("getResult------"+e.toString());return null;}}public boolean executeSql(String sql){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection conn=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt=conn.createStatement();stmt.executeUpdate(sql);mit();return true;}catch(Exception e){System.out.println("executeSql----"+e.toString());return false;}}}class stuMainFrame extends JFrame implements ActionListener {JMenuBar jmb = new JMenuBar();Message = new JMenu("信息");JMenu Score = new JMenu("查询");JMenuItem Item1 = new JMenuItem("添加学生信息");JMenuItem mName=new JMenuItem("学生成绩查询");JMenuItem mScore=new JMenuItem("按成绩查询");JMenuItem mNam1=new JMenuItem("查询学生信息");JLabel label = new JLabel();public stuMainFrame(){ImageIcon icon = newImageIcon("src/images/1.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight());add(label);setSize(label.getWidth(),label.getHeight());this.setJMenuBar(jmb);jmb.add(Message);jmb.add(Score);Message.add(Item1);Score.add(mNam1);Score.add(mName);Score.add(mScore);Item1.addActionListener(this);mName.addActionListener(this);mScore.addActionListener(this);mNam1.addActionListener(this); }public void actionPerformed(ActionEvent e){if(e.getSource()==Item1){ new addForm().setVisible(true);}else if(e.getSource()==mName){ dispose();new Score1().setVisible(true);}else if(e.getSource()==mScore){new scoreQueryForm().setVisible(true);}else if(e.getSource()==mNam1){dispose();new Serch1().setVisible(true);}}}class mainFrame extends JFrame implements ActionListener{ J Label label = new JLabel();J MenuBar mBar= new JMenuBar();J Panel p=new JPanel();p rivate JMenu mSystem,mOperate,mQuery,mHelp,myMenuUser;p rivate JMenuItemmFile,mNew,mOpen,mExit,mAdd,mDel,mModify,mName,miShow,mScore,mAbout,m iUser,mAddSc;p ublic mainFrame(){this.setJMenuBar(mBar);I mageIcon icon = new ImageIcon("src/images/1.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(),icon.getIconHeight());add(label);setSize(label.getWidth(),label.getHeight());myMenuUser=new JMenu("用户");miUser=new JMenuItem("编辑用户");myMenuUser.add(miUser);mSystem=new JMenu("系统");mOperate=new JMenu("数据操作");mQuery=new JMenu("查询");mHelp=new JMenu("帮助");mBar.add(mSystem);mBar.add(mOperate);mBar.add(mQuery);mBar.add(mHelp);mBar.add(myMenuUser);mFile=new JMenuItem("文件");mNew=new JMenuItem("新建");mOpen=new JMenuItem("打开");mExit=new JMenuItem("退出");mSystem.add(mFile);mSystem.add(mNew);mSystem.add(mOpen);mSystem.addSeparator();mSystem.add(mExit);mAdd=new JMenuItem("添加基本信息");mAddSc=new JMenuItem("添加成绩信息");mDel=new JMenuItem("删除");mModify=new JMenuItem("修改");mOperate.add(mAdd);mOperate.add(mAddSc);mOperate.add(mDel);mOperate.add(mModify);mName=new JMenuItem("查询学生信息");mScore=new JMenuItem("查询学生成绩");miShow=new JMenuItem("全部显示");mQuery.add(mName);mQuery.add(mScore);mQuery.addSeparator();mQuery.add(miShow);mAbout=new JMenuItem("软件信息");mHelp.add(mAbout);mExit.addActionListener(this);mAdd.addActionListener(this);mDel.addActionListener(this);mModify.addActionListener(this);mName.addActionListener(this);mScore.addActionListener(this);mAbout.addActionListener(this);miShow.addActionListener(this);miUser.addActionListener(this);mAddSc.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==mExit){dispose();new CJ().setVisible(true);}else if(e.getSource()==mAbout){JOptionPane.showMessageDialog(this,"学生成绩管理系统\n\n电信学院\n\n2012年3月","软件信息",RMATION_MESSAGE);} else if(e.getSource()==mAdd){dispose();new addForm().setVisible(true);}else if(e.getSource()==mAddSc){dispose();new addScore().setVisible(true);}else if(e.getSource()==mDel){dispose();new deleteForm().setVisible(true);}else if(e.getSource()==mName){dispose();new Serch().setVisible(true);}else if(e.getSource()==mScore){dispose();new Score().setVisible(true);}else if(e.getSource()==mModify){new modifyForm().setVisible(true);} else if(e.getSource()==miUser){new userFrame().setVisible(true);}else if(e.getSource()==miShow){new freshTable().setVisible(true); }}} class CJ extends JFrame implements ActionListener{ JLabel t1=new JLabel("ID号:");JLabel t3=new JLabel("密码:");JLabel label = new JLabel();public String zh=null;JTextField t2=new JTextField(null,15);JTextField t4=new JPasswordField(null,15);JRadioButton b=new JRadioButton("教师");JRadioButton b1=new JRadioButton("学生");JButton jB1=new JButton("登录");JButton jB2=new JButton("取消");public CJ (){super("学生生成绩管理系统");setLayout(null);jB1.setBounds(110,170,60,20);jB1.setBackground(Color.red);add(jB1);jB2.setBounds(210,170,60,20);jB2.setBackground(Color.red);add(jB2);t1.setBounds(90,50,80,35);add(t1);t2.setBounds(120,50,150,35);add(t2);t3.setBounds(90,100,80,35);add(t3);t4.setBounds(120,100,150,35);add(t4);b.setBounds(200,20,70,30);b1.setBounds(120,20,70,30);ButtonGroup bg=new ButtonGroup();b.setSelected(false);b1.setSelected(true);b1.setSelected(false);add(b);bg.add(b);add(b1); bg.add(b1);b.setContentAreaFilled(false);b1.setContentAreaFilled(false);ImageIcon icon = new ImageIcon("src/images/a.jpg");label.setIcon(icon);label.setBounds(0, 0, icon.getIconWidth(), icon.getIconHeight()); add(label);setSize(label.getWidth(),label.getHeight());setResizable(false);setVisible(true);setLocation(300,300);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);jB1.addActionListener(this);jB2.addActionListener(this);}public void actionPerformed(ActionEvent e) {if (e.getSource()==jB2){System.exit(0);}else if (e.getSource()==jB1){String username , password;username = t2.getText();password = t4.getText();if(b.isSelected()) {if (username.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入用户名", "温馨提示", RMATION_MESSAGE);}else if (password.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入密码", "温馨提示", RMATION_MESSAGE);}else{myConnection conn=new myConnection();ResultSet rs;String s ql="select * from 教师信息表 where 教师ID='"+username.toString()+"' and 登录密码 = '"+password.toString()+"'";try{rs=conn.getResult(sql);st();if(rs.getRow()==1){ setVisible(false);rs.beforeFirst();while(rs.next()){this.dispose();sql="select * from 学籍信息表";mainFrame mf=new mainFrame();mf.setLayout(null);mf.setVisible(true);mf.setLocation(300,300);mf.setResizable(false);mf.setTitle("学生成绩管理系统:教师登录界面");mf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);mf.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});JOptionPane.showMessageDialog( null,rs.getString("教师")+"老师!您好!欢迎登录学生成绩管理系统!" ) ; }}else{JOptionPane.showMessageDialog(null, "用户名或密码错误", "登录失败", RMATION_MESSAGE);}}catch(Exception er){System.out.println(er.toString());}}}if(b1.isSelected()) {if (username.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入用户名", "温馨提示", RMATION_MESSAGE);}else if (password.toString().equals("")){JOptionPane.showMessageDialog(null, "请输入密码", "温馨提示", RMATION_MESSAGE);}else{myConnection conn=new myConnection();ResultSet rs;String s ql="select * from 学籍信息表 where 学号='"+t2.getText().toString()+"' and 登录密码 ='"+t4.getText().toString()+"'";try{rs=conn.getResult(sql);st();if(rs.getRow()==1){ setVisible(false);rs.beforeFirst();while(rs.next()){this.dispose();sql="select * from 学籍信息表";stuMainFrame smf =new stuMainFrame();s mf.setSize(500,400);smf.setVisible(true);smf.setResizable(false);smf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);s mf.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});JOptionPane.showMessageDialog( null,rs.getString("学生")+"同学!您好!欢迎登录学生成绩管理系统!" ) ; } }else{JOptionPane.showMessageDialog(null, "用户名或密码错误", "登录失败", RMATION_MESSAGE);}}catch(Exception er){System.out.println(er.toString());}} }}}public static void main(String[] args) {try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){}CJ frame=new CJ();new mainFrame();stuMainFrame stu = new stuMainFrame();}}2.添加学生基本信息import javax.swing.*;import javax.swing.table.DefaultTableModel; import java.awt.*;import java.awt.event.*;import java.sql.*;public class addForm extends JFrame implements ActionListener { JLabel label1 = new JLabel("添加基本信息",JLabel.CENTER);JLabel labxuehao=new JLabel("学号:",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labName=new JLabel(":",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel labclass=new JLabel("班级:",JLabel.CENTER);JLabel labzy=new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);JLabel labsex = new JLabel("性别:",JLabel.CENTER);JTextField txtName=new JTextField(20);JTextField txtDate=new JTextField(18);JTextField txtXueHao=new JTextField(20);JTextField txtYear=new JTextField(20);JTextField txtClass=new JTextField(20);JTextField txtZY=new JTextField(20);JTextField txtMZ=new JTextField(20);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JButton btnAdd=new JButton("添加");JButton btnCancel=new JButton("返回");JButton btnReset = new JButton("重置");JPanel jpl=new JPanel(); //创建面板对象Connection con;Statement sql;ResultSet rs;addForm(){ super("添加学生信息");this.setResizable(false);this.setSize(550,450);this.setVisible(true);this.setLocation(300,300);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);btnAdd.addActionListener(this);btnReset.addActionListener(this);btnCancel.addActionListener(this);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);label1.setBounds(100,20,300,20);jpl.add(label1);labxuehao.setBounds(100,50,70,20);jpl.add(labxuehao);txtXueHao.setBounds(190,50,140,20);jpl.add(txtXueHao);labName.setBounds(100,90,70,20);jpl.add(labName);txtName.setBounds(190,90,140,20);jpl.add(txtName);labsex.setBounds(110,130,60,20);jpl.add(labsex);man.setBounds(190,130,60,20);women.setBounds(270,130,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp.add(women);labyear.setBounds(100,180,70,20);jpl.add(labyear);txtYear.setBounds(190,180,140,20);jpl.add(txtYear);labDate.setBounds(100,210,70,20);jpl.add(labDate);txtDate.setBounds(190,210,140,20);jpl.add(txtDate);labmz.setBounds(100,240,70,20);jpl.add(labmz);txtMZ.setBounds(190,240,140,20);jpl.add(txtMZ);labclass.setBounds(100,270,70,20);jpl.add(labclass);txtClass.setBounds(190,270,140,20);jpl.add(txtClass);labzy.setBounds(100,300,70,20);jpl.add(labzy);txtZY.setBounds(190,300,140,20);jpl.add(txtZY);btnReset.setBounds(80,350,90,20);btnAdd.setBounds(200,350,90,20);btnCancel.setBounds(320,350,90,20);jpl.add(btnReset);jpl.add(btnAdd);jpl.add(btnCancel);}public void actionPerformed(ActionEvent e){ if(e.getSource()==btnCancel){dispose();new mainFrame().setVisible(true);}if(e.getSource()==btnAdd){if (txtXueHao.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入学号", "温馨提示", RMATION_MESSAGE);}else if (txtName.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入", "温馨提示", RMATION_MESSAGE);}else if (txtYear.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入年龄", "温馨提示", RMATION_MESSAGE);}else if (txtDate.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "出生日期", "温馨提示", RMATION_MESSAGE);}else if (txtZY.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入专业", "温馨提示", RMATION_MESSAGE);}else if (txtMZ.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入民族", "温馨提示", RMATION_MESSAGE);}else if (txtClass.getText().toString().equals("")){JOptionPane.showMessageDialog(null, "请输入班级", "温馨提示", RMATION_MESSAGE);}else{String sex;if(man.isSelected()){ sex="男";}else{ sex="女"; }try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(null,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt = con.createStatement();int a = stmt.executeUpdate("insert into 学籍信息表(学号 ,登录密码,,年龄 , 出生日期 , 性别 , 班级,专业,民族)values('"+txtXueHao.getText()+"','"+00000+"','"+txtName.getText()+ "','"+txtYear.getText()+"','"+txtDate.getText()+"','"+sex+"','"+txtCl ass.getText()+"','"+txtZY.getText()+"','"+txtMZ.getText()+"')");if(a==1){JOptionPane.showMessageDialog(null,"已成功添加","温馨提示",RMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"添加失败","温馨提示",RMATION_MESSAGE);}stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(null,se.getMessage());}}} else{ txtClass.setText("");txtZY.setText("");txtMZ.setText("");txtName.setText("");txtDate.setText("");txtXueHao.setText("");txtYear.setText("");txtXueHao.requestFocus();}}public static void main(String[] args){addForm amg = new addForm();}}3.添加学生成绩import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class extends JFrame implements ActionListener{static addScore ss;JLabel[] label = {new JLabel("学号:") , new JLabel("计算机网络:") , new JLabel("Linux操作系统:") , new JLabel("计算机专业英语:") , new JLabel("计算机信息技术基础:") , new JLabel("Java程序设计:") , new JLabel("数据库应用实训教程:") , new JLabel("高等数学:") , new JLabel("XML:")};JTextField[] txt = {new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() };JButton add = new JButton("添加");JButton reset = new JButton("重置");JButton Cancel=new JButton("返回");JPanel jpl = new JPanel();JLabel title = new JLabel("添加学生成绩" , JLabel.CENTER);Font f = new Font("黑体" , Font.BOLD , 16 );int s=100;public addScore(){super("添加学生信息");this.setResizable(false);this.setSize(500,600);this.setDefaultCloseOperation(EXIT_ON_CLOSE);this.setVisible(true);this.add(jpl);Cancel.addActionListener(this);add.addActionListener(this);reset.addActionListener(this);jpl.setLayout(null);title.setBounds(150,40,200,20);title.setFont(f);title.setForeground(Color.red);jpl.setBackground(Color.LIGHT_GRAY);jpl.add(title);for(int i = 0 ; i <label.length ; i++){label[i].setBounds(100,s,140,20);jpl.add(label[i]);txt[i].setBounds(260,s,140,20);jpl.add(txt[i]);s=s+40;}add.setBounds(100,s,80,20);reset.setBounds(200,s,80,20);Cancel.setBounds(300,s,80,20);jpl.add(add);jpl.add(reset);jpl.add(Cancel);}public void actionPerformed(ActionEvent e){if(e.getSource()==Cancel){dispose();new mainFrame().setVisible(true);}else if(e.getSource()==add){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(ss,ce.getMessage());}try{Connection con = DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");Statement stmt = con.createStatement();int a = stmt.executeUpdate("insert into 成绩信息表(学号 , 计算机网络 , Linux操作系统 , 计算机专业英语 , 计算机信息技术基础 , Java程序设计 , 数据库应用实训教程 , 高等数学 ,Xml)values('"+txt[0].getText()+"','"+txt[1].getText()+"','"+txt[2].ge tText()+"','"+txt[3].getText()+"','"+txt[4].getText()+"','"+txt[5].ge tText()+"','"+txt[6].getText()+"','"+txt[7].getText()+"','"+txt[8].ge tText()+"')");if(a==1){JOptionPane.showMessageDialog(ss,"添加成功");}else{JOptionPane.showMessageDialog(ss,"添加失败");}}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage()); }} else{for(int i = 0 ; i<txt.length ; i++){txt[i].setText("");txt[0].requestFocus(); }}}public static void main(String[] args){addScore as = new addScore();}}4.修改学生信息:import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class modifyForm extends JFrame implements ActionListener {JPanel jpl = new JPanel();JLabel SCH = new JLabel("修改学生信息",JLabel.CENTER);Font f = new Font("楷体",Font.BOLD+Font.ITALIC,30);JLabel label1 = new JLabel("请输入学号:",JLabel.CENTER);JButton btnQuery = new JButton("查询");JLabel label2 = new JLabel(":",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel label5 = new JLabel("性别:",JLabel.CENTER);JLabel label3 = new JLabel("班级:",JLabel.CENTER);JLabel label4 = new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField tyear = new JTextField();JTextField tDate = new JTextField();JTextField tmz = new JTextField();JTextField num = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton btnModify = new JButton("修改");JButton btnCancel = new JButton("取消");Connection con;Statement sql;ResultSet rs;int re;public modifyForm(){ this.setSize(560,460);this.setVisible(true);this.setResizable(false);SCH.setForeground(Color.red);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);jpl.setLayout(null);btnQuery.addActionListener(this);btnModify.addActionListener(this);btnCancel.addActionListener(this);SCH.setBounds(100,20,300,20);jpl.add(SCH);label1.setBounds(100,60,100,20);jpl.add(label1);num.setBounds(220,60,140,20);jpl.add(num);btnQuery.setBounds(120,100,90,20);btnModify.setBounds(230,100,90,20);btnCancel.setBounds(340,100,90,20);jpl.add(btnQuery);jpl.add(btnModify);jpl.add(btnCancel);label2.setBounds(100,150,70,20);jpl.add(label2);nam.setBounds(190,150,140,20);jpl.add(nam);labyear.setBounds(100,180,70,20);jpl.add(labyear);tyear.setBounds(190,180,140,20);jpl.add(tyear);labDate.setBounds(100,210,70,20);jpl.add(labDate);tDate.setBounds(190,210,140,20);jpl.add(tDate);label5.setBounds(100,250,70,20);jpl.add(label5);man.setBounds(205,250,60,20);women.setBounds(285,250,60,20);bgp.add(man);bgp.add(women);jpl.add(man);jpl.add(women);label3.setBounds(100,290,70,20);jpl.add(label3);clas.setBounds(190,290,140,20);jpl.add(clas);label4.setBounds(100,320,70,20);jpl.add(label4);scl.setBounds(190,320,140,20);jpl.add(scl);labmz.setBounds(100,350,70,20);jpl.add(labmz);tmz.setBounds(190,350,140,20);jpl.add(tmz);}public void actionPerformed(ActionEvent ae){if(ae.getSource()==btnCancel){dispose();new mainFrame().setVisible(true);} else if(ae.getSource()==btnQuery){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");} catch(ClassNotFoundException e){ }try{con=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");sql=con.createStatement();rs=sql.executeQuery("select * from 学籍信息表 where 学号='"+num.getText()+"'");if(rs.next()){num.setText(rs.getString("学号"));nam.setText(rs.getString(""));tyear.setText(rs.getString("年龄").toString());tDate.setText(rs.getString("出生日期"));if(rs.getString("性别").equals("男")){man.setSelected(true);}else{women.setSelected(true);}clas.setText(rs.getString("班级"));scl.setText(rs.getString("专业"));tmz.setText(rs.getString("民族"));btnModify.setEnabled(true);nam.setEditable(true);tyear.setEditable(true);tDate.setEditable(true);clas.setEditable(true);scl.setEditable(true);tmz.setEditable(true);}else{JOptionPane.showMessageDialog(null, "不存在该记录!", "温馨提示", RMATION_MESSAGE);btnModify.setEnabled(false);tyear.setText("");tDate.setText("");tmz.setText("");num.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();nam.setEditable(false);tyear.setEditable(false);tDate.setEditable(false);clas.setEditable(false);scl.setEditable(false);tmz.setEditable(false);}}catch(SQLException e){ } }else if(ae.getSource()==btnModify){ try{con=DriverManager.getConnection("jdbc:odbc:学生成绩管理系统","ww","123");sql=con.createStatement();re=sql.executeUpdate("Update 学籍信息表 set='"+nam.getText()+"',年龄='"+tyear.getText()+"',出生日期='"+tDate.getText()+"',班级='"+clas.getText()+"',专业='"+scl.getText()+"',民族='"+tmz.getText()+"' where 学号='"+num.getText()+"'");if(re==1){JOptionPane.showMessageDialog(null,"记录修改完毕!","温馨提示",RMATION_MESSAGE);}else{JOptionPane.showMessageDialog(null,"记录修改失败!","温馨提示",RMATION_MESSAGE);}sql.close();}catch (SQLException se){JOptionPane.showMessageDialog(null,se.getMessage());}}else{btnModify.setEnabled(false);tyear.setText("");tDate.setText("");tmz.setText("");num.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();nam.setEditable(false);tyear.setEditable(false);tDate.setEditable(false);clas.setEditable(false);scl.setEditable(false);tmz.setEditable(false); } }public static void main(String[] args) {new modifyForm(); }}5.删除学生信息import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;public class deleteForm extends JFrame implements ActionListener { JPanel jpl = new JPanel();JLabel SCH = new JLabel("删除学生信息",JLabel.CENTER);Font f = new Font("楷体",Font.BOLD+Font.ITALIC,30);JLabel label1 = new JLabel("请输入学号:",JLabel.CENTER);JButton btnQuery = new JButton("查询");JLabel label2 = new JLabel(":",JLabel.CENTER);JLabel labyear=new JLabel("年龄:",JLabel.CENTER);JLabel labDate=new JLabel("出生日期:",JLabel.CENTER);JLabel label5 = new JLabel("性别:",JLabel.CENTER);JLabel label3 = new JLabel("班级:",JLabel.CENTER);JLabel label4 = new JLabel("专业:",JLabel.CENTER);JLabel labmz=new JLabel("民族:",JLabel.CENTER);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField tyear = new JTextField();JTextField tDate = new JTextField();JTextField tmz = new JTextField();JTextField num = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton btnDelete = new JButton("删除");JButton btnCancel = new JButton("取消");Connection con;Statement sql;ResultSet rs;int re;deleteForm(){ this.setSize(560,460);this.setVisible(true);this.setResizable(false);SCH.setForeground(Color.red);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setBackground(Color.cyan);man.setBackground(Color.cyan);women.setBackground(Color.cyan);jpl.setLayout(null);btnQuery.addActionListener(this);btnDelete.addActionListener(this);btnCancel.addActionListener(this);SCH.setBounds(100,20,300,20);jpl.add(SCH);label1.setBounds(100,60,100,20);jpl.add(label1);num.setBounds(220,60,140,20);jpl.add(num);btnQuery.setBounds(120,100,90,20);btnDelete.setBounds(230,100,90,20);btnCancel.setBounds(340,100,90,20);jpl.add(btnQuery);jpl.add(btnDelete);jpl.add(btnCancel);label2.setBounds(100,150,70,20);jpl.add(label2);nam.setBounds(190,150,140,20);jpl.add(nam);labyear.setBounds(100,180,70,20);。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、开发背景 (3)二、系统描述 (3)三、详细设计 (5)1、模块功能 (5)1.1、系统人员管理模块 (5)1.2、运动员管理模块 (6)1.3、运动员成绩管理模块 (6)2、数据库结构设计 (7)3、界面及代码设计 (9)3.1、登录子系统开发 (9)3.2、系统用户管理模块 (11)3.3、运动员信息管理模块 (15)3.4、运动员成绩管理模块 (17)四、心得体会 (20)五、参考文献 (21)一、开发背景当前,运动会已经在全国普遍开展,许多学校每年都定期的举行不同规模的田径运动会。

但是,在运动会举行过程中一直存在着参赛人数多,项目设置复杂,时间安排紧凑等问题,而且这些问题能否解决直接关系着运动会的成功与否。

另一方面,人们对于比赛结果的实时性、准确性、安全性、可靠性的要求也越来越高,而这些要求是人工操作很难实现的。

同时竞赛组织者要尽量减少人为因素的干扰,减少赛场作弊行为的发生,还要为参赛的教练员和运动员及时准确地提供竞赛的相关信息,辅助进行竞赛的决策指导。

因此,计算机技术的融入就成为一种必然,而且逐渐成为运动会信息管理的核心所在。

根据调查,现在全国已经有不少学校在田径运动会举办过程中采用了现代化的计算机技术进行运动会的系统管理,有的已经达到了一个相当高的水平。

但是我们发现这些运动会管理系统的设计和实现标准不一,参差不齐,而且更多的情况下这些系统只是实现了对运动会的分数统计等功能,在提供运动会的整个举办过程中的人性化、自动化服务等方面还有许多不足和欠缺。

我们小组根据当前学校运动会的开展组织情况,结合运动会的组织原则和相关规定,运用现代计算机技术,以全新的模式设计开发了适合田径运动会的校级运动会管理系统。

采用了本运动会管理系统后,运动员在比赛前由院系统一输入个人信息即可,这样就方便了运动员的报名,有错误时可以及时汇报修改。

裁判员单独对各自的项目进行管理,保证上了比赛的公正、公平。

每个项目都有单独的帐号和密码对应,以保证成绩录入人员对自己管辖范围的唯一性和确定性。

在成绩查询界面中可以准确及时的查询到各参赛队伍、各项目、各运动员的个人信息、比赛成绩、排名、和团体加分的情况。

以上运动会中各环节组织和编排工作的系统实现,使大量繁琐的人工组织编排任务通过简单方便的操作便可以实现,大大减轻了运动会组织人员的劳动强度,节省了大量物力、人力、财力,提高了工作效率,保证了数据的实时性、准确性、安全性、可靠性,充分体现出了现代化的计算机技术在信息采集、处理、和管理等方面的无可比拟的优越性。

二、系统描述本系统采用软件工程原理,使用面向对象的Java编程环境编写校级运动会管理系统,利用SQL Server数据库技术,对数据库进行了全面的开发。

系统主要包括前台应用程序的开发以及后台数据库的建立和维护两个方面,实现了运动员成绩数据库的创建及运动员成绩的输入、统计、浏览和维护,使得系统具有界面友好,功能强大,易于维护的特点。

本校级运动会管理系统在功能实现方面主要分为以下几点:1)运动员个人信息管理模块。

运动员管理与普通的用户管理基本类似,包括用户的添加、修改、编辑和删除功能,参赛项目的维护。

例如有的运动员临时因伤不能参寒,有的又调整为可以参加某个项目(虽然严格说来,不允许运动员临时更改参赛项目,但需要在系统中留有余地)。

2)运动员成绩管理模块。

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

运动员可以通过终端查看运动成绩。

3)权限管理模块。

管理员可以对操作人员进行信息维护,如增加前场成绩录入人员,或者某位成绩录入人员调离岗位则取消其权限。

对于运动员可以匿名查询某个项目的成绩。

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

图1应用层提供诸如GUI的显示、事件的处理等;代理层是分离上层和具体数据库访问层的,也可以称为业条层,这样的目的是当数据库发生变更时,可以将程序的改动缩减到最小。

数据库接口层是与具体的数据库进行交互,对数据进行提取、存入操作。

模块包是与数据库实体相对应的类定义,也可以说与数据库中的每条记录相对应。

三、详细设计1、模块功能1.1、系统人员管理模块该模块实现系统人员的添加、修改、查询和删除,先在数据库中添加管理员帐户。

管理员在用户管理方面拥有一切权限,而普通用户只有修改个人密码、查询个人信息、运动会比赛信息、比赛成绩及获奖情况的权限。

如图2所示。

图21.2、运动员管理模块该模块由管理员对运动员个人信息的录入、修改及删除功能。

普通用户可以实现对运动员个人信息的查询功能。

其功能层次如图3所示。

图31.3、运动员成绩管理模块该模块实现管理员录入运动员的成绩、查询成绩、修改成绩删除查询到的成绩信息以及普通用户查询成绩。

其功能层次图如图4所示。

图42、数据库结构设计表1 运动会项目表(SportItems)表2 运动员参赛项目表(ItemAttend)表3 运动员个人信息表(Sportor)表4 系统用户信息(SysUser)表5 系统用户角色(Roles)3、界面及代码设计3.1、登录子系统开发由于每个系统中都涉及登录子系统,因此在这里并不进行过多介绍,只提供一个登录子系统的框架,登录成功后程序的流程应根据登录用户的身份来区别对待。

登录系统的界面如图5所示。

图5主要代码如下: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,"登录成功!","正确",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,"登录成功!","正确",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");}elseSystem.out.println("Unsupported!");}catch(Exception ex){System.out.println("Unknow Exception: "+ ex.getMessage() );}}}}当用户输入用户名、密码和登录身份后,会通过RoleAccessProxy类进行底层访问,查看用户登录信息是否正确!代码如下:RoleAcessProxy roleProxy=new RoleAccessProxy();If(roleProxy.ValidateUserExist(UserName,Password,RoleIdMapRoleName.SYSADMIN)==true) JOptionPane.showMessageDialog(null,"登录成功!","正确",RMA TION_MESSAGE);Else{ JOptionPane.showMessageDialog(null,"用户角色不支持,请联系管理员!","错误",JOptionPane.ERROR_MESSAGE);System.exi(-1);}3.2、系统用户管理模块系统用户管理模块是实现对本系统中的操作人员——管理人员的权限分配、个人信息修改、密码设定、删除等功能,其运行界面如图6所示。

相关文档
最新文档