欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    JAVA课程设计论文学生成绩管理系统.doc

    • 资源ID:4844372       资源大小:178.03KB        全文页数:18页
    • 资源格式: DOC        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JAVA课程设计论文学生成绩管理系统.doc

    目 录1 需求分析.21.1 系统功能要求分析.21.2 其它要求分析31.3 数据库需求分析32概要结构设计32.1系统功能结构设计32.2 概要结构设计43 详细设计及实现.53.1 用户登陆界面.53.2 管理员界.73.3 用户界面.93.4 添加模块123.5 删除模块153.5.1 代码实现:154设计总结.175 参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .181 需求分析1.1系统功能要求分析:(1)具有新用户注册功能。(2)具有注册用户登录功能。(3)具有学生成绩的录入功能,要求只录入各科成绩,自动计算每个学生的总成绩。(4)具有数据查询功能,可以实现查询全部信息和按条件执行查询。(5)具有按条件删除数据功能。具体功能的详细描述如下1.1.1 选择学生基本维护菜单命令,即可进入 学生基本维护功能窗体,在其中输入学生的相关信息,如果需要添加或修改学生信息,则单击相应的按纽,输入新信息后单击添加就可以了。需要删除一条信息,则只要选择这条信息再点击 删除。在搜索条件中输入相关的条件,单击 查询就可查找信息。1.1.2 选择学生信息查询菜单命令,即可进入学生信息查询功能窗体,在其中的下拉列表中选择你要看的信息,则在下面的表格中显示你要的信息。1.1.3 选择成绩管理 添加成绩菜单命令,即可进入 添加成绩功能窗体,此功能权限只有管理员和教师。1.1.4 选择成绩管理 输入成绩菜单命令,即可进入 输入成绩功能窗体,此功能权限只有管理员和教师。 1.1.5 选择成绩管理 修改成绩 界面,此功能规管理员所有。 1.1.6 选择成绩管理 查询成绩界面此界面对学生也是可见的,它的权限规所有用户所有。1.1.7 选择登陆 重新登陆 则会返回登陆界面,为用户提供方便。1.1.8 选择退出将退出整个系统。1.2其它要求分析:(1)只能使用Java语言,采用面向对象方法进行设计,要求源程序要有适当的注释,使程序容易阅读。(2)程序必须与数据库进行通信。(3)系统必须是图形用户界面的形式并连接数据库。(4)学生可根据自身情况酌情增加新功能(视情况可另外加分)。(5)独立完成课程设计,并完成课程设计报告,报告应记录设计的过程,尤其是分析/设计/实现过程中的决策。1.3 数据库需求分析在系统中功能模块主要牵涉到的信息包括:是学生信息(Student)、课程信息(Course)、成绩表(SC).学生信息:包含学号(STNO)、姓名(SNAME)、年龄(SAGE)、性别(SSEX)、系别(SDEPT)课程信息:包括课程编号(Cno)、课程名称(Cname)、先行课(Cpno)成绩表;学号(STNO)、课程号(Cno)、成绩(Grade)2概要结构设计2.1系统功能结构设计根据需求分析阶段得到的功能需求,管理员、学生和教师用户通过输入口令号和密码进下该系统后,可以进行一些学生基础信息查询(学生信息查询、班级信息查询、课程信息查询)、学生信息维护、成绩管理(成绩查询、计算平均分)重新登陆系统、退出。 模块功能大概可以分为如下4个方面:这几个模块学生基础维护、成绩管理、登陆、退出。其中基础维护还要包括学生信息维护、班级信息维护、课程信息维护。成绩管理包括成绩查询、添加成绩、成绩输入等。综上所述,得到客户端功能模块图如下2.1所示。2.2 概要结构用户登陆登陆管理员登陆增加信息查询信息查询信息删除信息E-R 图:开课系别 名称成绩姓名先行课课名课程选课学号系别年龄学生含有装订线长 春 大 学 课程设计纸3详细设计及实现3.1用户登陆模块3.1.1 代码实现package com.mkx;import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Login extends JFrame TextField f1;TextField f2;/文本域JButton b1;JButton b2;JButton b3; String power; /表示权限Login() Container cp=getContentPane(); cp.setLayout(new GridLayout(4,1); Label l1=new Label("用户名");/设置标签名 Label l2=new Label("密 码"); Panel p1=new Panel();/添加面板 Panel p2=new Panel(); Panel p3=new Panel(); f1=new TextField(10); f2=new TextField(10); f2.setEchoChar('*'); b1=new JButton("登录"); b2=new JButton("重置"); b3=new JButton("退出"); p1.add(l1); p1.add(f1); p2.add(l2); p2.add(f2); p3.add(b1); p3.add(b2); p3.add(b3); cp.add(p1); cp.add(p2); cp.add(p3); b1.addActionListener(new Enter(); b2.addActionListener(new ReWrite(); b3.addActionListener(new Close();public static void main(String args) Login log=new Login(); log.setTitle("系统登录"); log.setBounds(200, 200, 300, 300); log.setBackground(Color.blue); log.setVisible(true);class Enter implements ActionListener /对登陆具体进行处理 public void actionPerformed(ActionEvent e) if(f1.getText().equals("1100")&&(f2.getText().equals("mkx") JOptionPane.showMessageDialog(null, "登录成功!用户权限是管理员"); power="管理员" XueSheng frame1 = new XueSheng(); frame1.setVisible(true); else if(f1.getText().equals("abc")&&(f2.getText().equals("123456") JOptionPane.showMessageDialog(null, "登录成功!用户权限是学生"); power="学生" Find f2 = new Find(); f2.setVisible(true); else JOptionPane.showMessageDialog(null, "登录失败,请重新登录!"); class ReWrite implements ActionListener public void actionPerformed(ActionEvent e) f1.setText(""); f2.setText(""); f1.requestFocus(); class Close implements ActionListenerpublic void actionPerformed(ActionEvent e) if(e.getSource()=b3) System.exit(0) ; 3.2 管理员界面3.2.1 代码实现:package com.mkx;import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.JFrame;public class XueSheng extends JFrame implements ActionListener JButton cx, zj, tc, sc;XueSheng() setBounds(100, 100, 600, 600);JPanel panel2 = new JPanel(); /创建新面板setContentPane(panel2);panel2.setLayout(null); /设计布局为空JLabel label1 = new JLabel("欢迎进入学生信息管理界面"); /创建标签label1.setFont(new Font("BOLD", Font.BOLD, 28); /设计字体颜色大小panel2.add(label1);label1.setBounds(50, 20, 400, 100);cx = new JButton("查询");panel2.add(cx);cx.setBounds(50, 200, 80, 50);zj = new JButton("增加");panel2.add(zj);ianzj.setBounds(150, 200, 80, 50);sc = new JButton("删除");panel2.add(sc);sc.setBounds(250, 200, 80, 50);tc = new JButton("退出");panel2.add(tc);tc.setBounds(350, 200, 80, 50);cx.addActionListener(this);/添加监听zj.addActionListener(this);sc.addActionListener(this);tc.addActionListener(this);setVisible(true);public void actionPerformed(ActionEvent e) /对监听具体处理方法if (e.getSource() = cx) Find f = new Find(); if(e.getSource()=zj) AddFI f = new AddFI(); if(e.getSource()=sc) Delet d = new Delet(); if(e.getSource()=tc)shutDown();private void shutDown()this.dispose();3.3 用户界面3.3.1 代码实现:package com.mkx;import java.awt.*;import java.awt.event.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import javax.swing.*;public class Find extends JFrame implements ActionListener JTextField t1;String STNO, r1, r2, r3, r4, r5, r6;JButton b1, b2;XueSheng xue;Find() super("查询学生信息");Container c1 = this.getContentPane();/获得默认面板setBackground(new Color(215, 215, 215);c1.setLayout(new GridLayout(3, 2);JPanel pp = new JPanel();JLabel label0 = new JLabel("请输入你的学号");label0.setForeground(Color.blue);pp.add(label0);JPanel p1 = new JPanel();t1 = new JTextField(10);p1.add(new Label("");p1.add(t1);c1.add(p1);JPanel p2 = new JPanel();b1 = new JButton("查询");b2 = new JButton("退出");b1.addActionListener(this);b2.addActionListener(this);p2.add(b1);p2.add(b2);c1.add(p2);this.setVisible(true);this.setBounds(200, 200, 400, 300);public void actionPerformed(ActionEvent e) try if (e.getSource() = b1) try STNO = t1.getText();Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();String url = "jdbc:sqlserver:/localhost:1433; /数据库所在地址 DatabaseName=ss"String userName = "sa" / 默认用户名String userPwd = "sa"Connection cn = DriverManager.getConnection(url, userName,userPwd);String str = "select Student.SNAME,Student.SAGE,Student.SSEX,Student.STNO,Course.Cname,SC.Grade from Student,Course ,SC where Student.STNO = SC.STNO and SC.Cno = Course.Cno and Student.STNO ='"+STNO+"'"PreparedStatement ps = cn.prepareStatement(str);/创建结果处理类ResultSet rs = ps.executeQuery();System.out.println("STNO=" + STNO);if (rs.next() r1 = rs.getString("STNO");r2 = rs.getString("SNAME");r3 = rs.getString("SAGE");r4 = rs.getString("SSEX");r5 = rs.getString("Cname");r6 = rs.getString("Grade"); else JOptionPane.showMessageDialog(null, "你输入的学号有误");cn.close(); catch (SQLException g) System.out.println("Error" + g.getErrorCode();System.out.println("Merrage=" + g.getMessage(); catch (Exception f) f.printStackTrace();File f = new File();this.dispose();if (e.getSource() = b2) t1.setText("");t1.repaint(); catch (NumberFormatException ex) JOptionPane.showMessageDialog(null, "数据转换错误");class File extends JFrame implements ActionListener JTextField tt1, t2, t3, t4, t5, t6;JButton b3;File() super("查询学生信息");Container c2 = this.getContentPane();setBackground(new Color(215, 215, 215);c2.setLayout(new GridLayout(3, 1);tt1 = new JTextField(r1);t2 = new JTextField(r2);t3 = new JTextField(r3);t4 = new JTextField(r4);t5 = new JTextField(r5);t6 = new JTextField(r6);tt1.setEditable(false);t2.setEditable(false);t3.setEditable(false);t4.setEditable(false);t5.setEditable(false);t6.setEditable(false);JPanel pp1 = new JPanel();JLabel label2 = new JLabel("学号为" + STNO + "学生的信息");pp1.add(label2);label2.setFont(new Font("BOLD", Font.BOLD, 28);c2.add(pp1);JPanel pp2 = new JPanel(new GridLayout(6, 2);pp2.add(new JLabel("学号", SwingConstants.CENTER);tt1.setText(STNO);pp2.add(tt1);pp2.add(new JLabel("姓名", SwingConstants.CENTER);pp2.add(t2);pp2.add(new JLabel("年龄", SwingConstants.CENTER);pp2.add(t3);pp2.add(new JLabel("性别", SwingConstants.CENTER);pp2.add(t4);pp2.add(new JLabel("课程", SwingConstants.CENTER);pp2.add(t5);pp2.add(new JLabel("成绩", SwingConstants.CENTER);pp2.add(t6);c2.add(pp2);JPanel pp3 = new JPanel();b3 = new JButton("返回");b3.addActionListener(this);pp3.add(b3);c2.add(pp3);this.setBounds(200, 200, 600, 400);setVisible(true);public void actionPerformed(ActionEvent f) if (f.getSource() = b3) this.dispose();3.4 添加模块3.4.1 添加模块代码实现:package com.mkx;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.sql.*;public class AddFI extends JFrame implements ActionListener JTextField STNOText, SNAMEText, SAGEText, SSEXText, SDEPTText;JButton b1, b2, b3;String STNO, SNAME, SAGE, SSEX, SDEPT;public AddFI() Container c = this.getContentPane(); /获得默认面板c.setLayout(new GridLayout(3, 1);JPanel center = new JPanel(new GridLayout(5, 2);JPanel low = new JPanel(new FlowLayout();JLabel label1 = new JLabel("添加学生信息", SwingConstants.CENTER);label1.setFont(new Font("TRUE", Font.TRUETYPE_FONT, 20);c.add(label1);STNOText = new JTextField(30);SNAMEText = new JTextField(30);SSEXText = new JTextField(30);SAGEText = new JTextField(30);SDEPTText = new JTextField(30);center.add(new JLabel("学号", SwingConstants.CENTER);center.add(STNOText);center.add(new JLabel("姓名", SwingConstants.CENTER);center.add(SNAMEText);center.add(new JLabel("性别", SwingConstants.CENTER);center.add(SSEXText);center.add(new JLabel("年龄", SwingConstants.CENTER);center.add(SAGEText);center.add(new JLabel("系别", SwingConstants.CENTER);center.add(SDEPTText);c.add(center);b1 = new JButton("添加");b2 = new JButton("清除");b3 = new JButton("退出");low.add(b1);low.add(b2);low.add(b3);c.add(low);/ 为按钮添加jiantingb1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);this.setBounds(200, 200, 600, 400);this.setVisible(true);this.setTitle("添加学生信息");public void actionPerformed(ActionEvent e) if (e.getSource() = b1) addFI();if (e.getSource() = b2) clearForm();if (e.getSource() = b3) shutdown();private void addFI() STNO = STNOText.getText();SNAME = SNAMEText.getText();SSEX = SSEXText.getText();SAGE = SAGEText.getText();SDEPT = SDEPTText.getText();if (STNO.length() = 0 | SNAME.length() = 0 | SAGE.length() = 0| SDEPT.length() = 0 | SSEX.length() = 0)JOptionPane.showMessageDialog(this, "请添加完全信息");else try Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();String url = "jdbc:sqlserver:/localhost:1433; DatabaseName=ss"String userName = "sa" / 默认用户名String userPwd = "sa"Connection cn = DriverManager.getConnection(url, userName,userPwd);String str = "INSERT INTO Student VALUES(?,?,?,?,?)"PreparedStatement ps = cn.prepareStatement(str);ps.setString(1, STNO);ps.setString(2, SNAME);ps.setString(3, SSEX);ps.setString(4, SAGE);ps.setString(5, SDEPT);ps.executeUpdate();cn.close();JOptionPane.showMessageDialog(this, "添加成功");clearForm(); catch (SQLException e) System.out.println("ECode" + e.getErrorCode();System.out.println("E M=" + e.getMessage(); catch (Exception e) e.printStackTrace();private void clearForm() STNOText.setText("");SNAMEText.setText("");SAGEText.setText("");SSEXText.setText("");SDEPTText.setText("");private void shutdown() this.dispose();3.5 删除模块3.5.1 代码实现:package com.mkx;import java.awt.*;import java.awt.event.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.SQLException;import javax.swing.*;public class Delet extends JFrame implements ActionListenerJButton yes;JButton cancle;JTextField text1;String STNO;Delet()Container c = this.getContentPane();c.setLayout(new GridLayout(3, 1);c.setFont(new Font("true",Font.TRUETYPE_FONT,13);JPanel p1 = new JPanel();JPanel p2 = new JPanel();JLabel label1 = new JLabel("删除学生信息",SwingConstants.CENTER);label1.setFont(new Font("true",Font.TRUETYPE_FONT,13);label1.setForeground(Color.blue);c.add(label1);JLabel label2 = new JLabel("请输入学号"); text1 = new JTextField(10);p1.add(label2);p1.add(text1);c.add(p1); yes = new JButton("确定"); cancle = new JButton("退出");p2.add(yes);p2.add(cancle);c.add(p2);yes.addActionListener(this);cancle.addActionListener(this);this.setTitle("删除学生信息");this.setBounds(200,200,400,300);this.setVisible(true); public void actionPerformed(ActionEvent e)if(e.getSource()=yes)

    注意事项

    本文(JAVA课程设计论文学生成绩管理系统.doc)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开