软件工程专业毕业论文—学生成绩管理系统03917.doc

上传人:小小飞 文档编号:3973267 上传时间:2019-10-11 格式:DOC 页数:21 大小:1.01MB
返回 下载 相关 举报
软件工程专业毕业论文—学生成绩管理系统03917.doc_第1页
第1页 / 共21页
软件工程专业毕业论文—学生成绩管理系统03917.doc_第2页
第2页 / 共21页
软件工程专业毕业论文—学生成绩管理系统03917.doc_第3页
第3页 / 共21页
软件工程专业毕业论文—学生成绩管理系统03917.doc_第4页
第4页 / 共21页
软件工程专业毕业论文—学生成绩管理系统03917.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《软件工程专业毕业论文—学生成绩管理系统03917.doc》由会员分享,可在线阅读,更多相关《软件工程专业毕业论文—学生成绩管理系统03917.doc(21页珍藏版)》请在三一文库上搜索。

1、课 程 设 计 说 明 书设计题目: 学生成绩管理系统 专 业: 软件工程 班级: 设 计 人: 2010年 6 月 18 日大学学生课程设计一、软件的功能描述主界面: (1) 信息整理1.录入信息本模块实现录入学生学号、姓名以及各科成绩的功能。并实现了几个完整性约束的判断。点击“下一条”,进入下一条学生信息的录入;点击“取消”,则取消当前的录入操作。当输入格式不正确时:当存储的文件里已有该信息时:2. 修改信息本模块实现对学生信息的修改功能。点击“下一条”,进入下一条学生信息的修改;点击“取消”,则取消当前的修改操作。当修改符合要求时:当输入格式不正确时:当输入的学号不存在时:3. 删除信息

2、本模块实现对学生信息的删除功能。输入要删除的学号,点击“确定”,实现删除;点击“取消”,则取消当前操作。当删除成功时:当输入学号格式不正确时:当记录中没有该信息时:(2) 成绩管理1. 平均成绩数据库平均成绩:2. 成绩降序数据库成绩降序排列(以表格形式输出):(3) 综合评估1. 柱状图数据结构成绩柱状图(标识属性名称和数量): 2. 饼形图 Java成绩饼形图(标识属性和百分比): (4) 查询1. 学生成绩查询 输入学号,以表格形式输出信息 当输入格式不正确时:若输入的学号不存在时:2. 班级成绩查询以表格形式输入整个班级信息情况,以学号升序排列: 二、系统的UML类图图 学生成绩管理U

3、ML类图三、系统实现的核心代码第13页1.package StudentManagement;public class StudentManagementTest public static void main(String args)new Management();2.package StudentManagement;import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;public cla

4、ss Management extends JFrameprivate static final long serialVersionUID = 1L;JPanel j=new JPanel();private JMenuBar menuBar=new JMenuBar();private JLabel label=new JLabel(请选择一个菜单项);private JMenu menu1=new JMenu(信息整理);private JMenu menu2=new JMenu(成绩管理);private JMenu menu3=new JMenu(综合评估);private JMen

5、u menu4=new JMenu(查询); private JMenuItem insert=new JMenuItem(插入); private JMenuItem alter=new JMenuItem(修改); private JMenuItem delete=new JMenuItem(删除); private JMenu aver=new JMenu(平均成绩); private JMenu desc=new JMenu(成绩降序); private JMenuItem averDB=new JMenuItem(数据库成绩); private JMenuItem averJava=

6、new JMenuItem(Java成绩); private JMenuItem averDS=new JMenuItem(数据结构成绩); private JMenuItem descDB=new JMenuItem(数据库成绩); private JMenuItem descJava=new JMenuItem(Java成绩); private JMenuItem descDS=new JMenuItem(数据结构成绩); private JMenu volumn=new JMenu(柱状图); private JMenuItem DBVolumn=new JMenuItem(数据库成绩)

7、; private JMenuItem JavaVolumn=new JMenuItem(Java成绩); private JMenuItem DSVolumn=new JMenuItem(数据结构成绩); private JMenu cake=new JMenu(饼状图); private JMenuItem DBCake=new JMenuItem(数据库成绩); private JMenuItem JavaCake=new JMenuItem(Java成绩); private JMenuItem DSCake=new JMenuItem(数据结构成绩); private JMenuIte

8、m show=new JMenuItem(学生成绩查询); private JMenuItem showAll=new JMenuItem(班级成绩查询); private Image img=null; Container container=null; public Management() super(成绩管理系统); container=this.getContentPane(); desc.add(descDB); desc.add(descJava); desc.add(descDS); aver.add(averDB); aver.add(averJava); aver.add(

9、averDS); volumn.add(DBVolumn); volumn.add(JavaVolumn); volumn.add(DSVolumn); cake.add(DBCake); cake.add(JavaCake); cake.add(DSCake); menu1.add(insert); menu1.add(alter); menu1.add(delete); menu2.add(aver); menu2.add(desc); menu3.add(volumn); menu3.add(cake); menu4.add(show); menu4.add(showAll); menu

10、Bar.add(menu1); menuBar.add(menu2); menuBar.add(menu3); menuBar.add(menu4); container.add(j); this.setJMenuBar(menuBar); /插入图片 JPanel jp = new JPanel() private static final long serialVersionUID = 1L;public void paintComponent(Graphics g) super.paintComponent(g); img =new ImageIcon(管理.jpg).getImage(

11、); g.drawImage(img,0,0,this); ; jp.add(label); this.add(jp); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); init();/初始化主界面 /插入、修改界面 final JFrame insertFrame=new JFrame(学生信息);insertFrame.setLayout(null);JLabel noLabel =new JLabel(学号);JLabel nameLabel=new JLabel(姓名); JLabel DBLabel =new JLabel(数

12、据库成绩); JLabel javaLabel=new JLabel(java成绩); JLabel DSLabel=new JLabel(数据结构); JButton next=new JButton(下一条); JButton back=new JButton(返回); final JButton ok=new JButton(录入); final JButton alterButton=new JButton(修改); final JTextField noField =new JTextField(); final JTextField nameField =new JTextFiel

13、d(); final JTextField DBField =new JTextField(); final JTextField javaField =new JTextField(); final JTextField DSField =new JTextField(); final JLabel oklabel=new JLabel(); noLabel.setBounds(10, 20, 100, 25); nameLabel.setBounds(10,80,100,25); DBLabel.setBounds(10,140,100,25); javaLabel.setBounds(1

14、0,200,100,25); DSLabel.setBounds(10,260,100,25); noField.setBounds(100,20,200,25); nameField.setBounds(100,80,200,25); DBField.setBounds(100,140,200,25); javaField.setBounds(100,200,200,25); DSField.setBounds(100,260,200,25);alterButton.setBounds(350,50,80,25);ok.setBounds(350,50,80,25);next.setBoun

15、ds(350, 120, 80, 25);back.setBounds(350, 190, 80, 25); oklabel.setForeground(Color.RED);oklabel.setBounds(80,140,200,50); insertFrame.add(oklabel);insertFrame.add(noLabel);insertFrame.add(nameLabel);insertFrame.add(DBLabel);insertFrame.add(javaLabel);insertFrame.add(DSLabel);insertFrame.add(noField)

16、;insertFrame.add(nameField);insertFrame.add(DBField);insertFrame.add(javaField);insertFrame.add(DSField);insertFrame.add(next);insertFrame.add(back); insertFrame.setBounds(200, 150, 500, 400);insertFrame.setResizable(false); /录入功能 insert.addActionListener(new ActionListener()public void actionPerfor

17、med(ActionEvent e) alterButton.setVisible(false);ok.setVisible(true);insertFrame.add(ok);noField.setText();nameField.setText();DBField.setText();javaField.setText();DSField.setText();insertFrame.setVisible(true););next.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)

18、noField.setText(); nameField.setText(); DBField.setText(); javaField.setText(); DSField.setText(); oklabel.setVisible(false); );ok.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) int flag=0; try BufferedReader brStu = new BufferedReader(new FileReader(E:/Student.txt)

19、; String str=null;while(str=brStu.readLine()!=null)if(str.split(t)0.equals(noField.getText()flag=1; catch (IOException e2) e2.printStackTrace(); if(noField.getText().equals() |flag=1|nameField.getText().equals()|DBField.getText().equals()|javaField.getText().equals()|DSField.getText().equals()|isLon

20、g(noField.getText()=false|isDouble(DBField.getText()=false|isDouble(javaField.getText()=false|isDouble(DSField.getText()=false) if(flag=1) JOptionPane.showMessageDialog(null,已有该信息!,错误,JOptionPane.WARNING_MESSAGE); else JOptionPane.showMessageDialog(null,请重新输入学生信息!,错误,JOptionPane.WARNING_MESSAGE);noF

21、ield.setText(); nameField.setText(); DBField.setText(); javaField.setText(); DSField.setText();/if 判断是否有未输入的空白文本和 输入格式是否为double else Student stu=new Student( noField.getText(), nameField.getText(), Double.parseDouble(DBField.getText(),Double.parseDouble(javaField.getText(), Double.parseDouble(DSFiel

22、d.getText(); try int count; BufferedReader br = newBufferedReader(new FileReader(E:/count.txt);count=Integer.parseInt(br.readLine(); BufferedWriter bw = new BufferedWriter(new FileWriter(E:/count.txt);bw.write(+(+count); bw.flush(); bw.close(); br.close();/记录学生个数 BufferedWriter bwStu = new BufferedW

23、riter(new FileWriter(E:/Student.txt,true);bwStu.write(stu.getNo()+t+stu.getName()+t +stu.getDatabase()+t+stu.getJava()+t+stu.getDS();bwStu.newLine();bwStu.flush();bwStu.close();oklabel.setVisible(true);oklabel.setFont(new Font(,1,36);oklabel.setText(录入成功!); catch (IOException e1) e1.printStackTrace(

24、); ); back.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) insertFrame.setVisible(false);); /修改功能alter.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) ok.setVisible(false);alterButton.setVisible(true);insertFrame.add( alterButton);okl

25、abel.setVisible(false);noField.setText(); nameField.setText(); DBField.setText(); javaField.setText(); DSField.setText();insertFrame.setVisible(true); ); alterButton.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) if(noField.getText().equals()|nameField.getText().equ

26、als() |DBField.getText().equals() |javaField.getText().equals() |DSField.getText().equals() |isLong(noField.getText()=false|isDouble(DBField.getText()=false|isDouble(javaField.getText()=false|isDouble(DSField.getText()=false)JOptionPane.showMessageDialog(null,请重新输入学生信息!, 错误,JOptionPane.WARNING_MESSA

27、GE);noField.setText();nameField.setText();DBField.setText();javaField.setText();DSField.setText();/if 判断是否有未输入的空白文本和 输入格式是否为doubleelseStudent stu=new Student(noField.getText(),nameField.getText(), Double.parseDouble(DBField.getText(), Double.parseDouble(javaField.getText(), Double.parseDouble(DSFiel

28、d.getText();try BufferedWriter bwTempStu =new BufferedWriter(new FileWriter(E:/temp.txt);BufferedReader brStu = new BufferedReader(new FileReader(E:/Student.txt); String str=null; int flag=0;while(str=brStu.readLine()!=null) if(str.split(t)0.equals(stu.getNo()bwTempStu.write(stu.getNo()+t+stu.getNam

29、e()+t +stu.getJava()+t+stu.getDatabase() +t+stu.getDS();flag=1;else bwTempStu.write(str);bwTempStu.newLine();bwTempStu.flush();bwTempStu.close();brStu.close();BufferedReader brTempStu = new BufferedReader(new FileReader(E:/temp.txt);BufferedWriter bwStu = new BufferedWriter(new FileWriter(E:/Student

30、.txt);while(str=brTempStu.readLine()!=null) bwStu.write(str);bwStu.newLine();brTempStu.close();bwStu.flush();bwStu.close();if(flag=1)JOptionPane.showMessageDialog(null,修改成功,提示信息,JOptionPane.INFORMATION_MESSAGE);elseJOptionPane.showMessageDialog(null,没有该信息,修改失败,提示信息,JOptionPane.INFORMATION_MESSAGE);n

31、oField.setText(); nameField.setText(); DBField.setText(); javaField.setText(); DSField.setText();catch (IOException e1)e1.printStackTrace(); );/删除功能delete.addActionListener( new ActionListener()public void actionPerformed(ActionEvent e) new Delete(); ); /查询功能show.addActionListener(new ActionListener

32、()public void actionPerformed(ActionEvent e) new Search(); );showAll.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) new Desc(0); );/平均成绩averDB.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) tryBufferedReader brStu = new BufferedRead

33、er(new FileReader(E:/Student.txt);getAver(brStu,2);brStu.close();catch(IOException e1)e1.printStackTrace(); );averJava.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) tryBufferedReader brStu = new BufferedReader(new FileReader(E:/Student.txt);getAver(brStu,3);brStu.c

34、lose();catch(IOException e1) e1.printStackTrace(); );averDS.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) try BufferedReader brStu = new BufferedReader(new FileReader(E:/Student.txt);getAver(brStu,4); brStu.close();catch(IOException e1) e1.printStackTrace(););/成绩降序

35、/采用冒泡排序 然后记录数组下标 再让学生对象重新排列 descDB.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) new Desc(1););descJava.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) new Desc(2););descDS.addActionListener(new ActionListener()public void actionPer

36、formed(ActionEvent e) new Desc(3); ); /柱状图 DBVolumn.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) try BufferedReader br = new BufferedReader(new FileReader(E:/Student.txt);int a=getArray(br,2);br.close();volumnTest volumn=new volumnTest(a); volumn.setTitle(数据库成绩柱状图

37、); volumn.setVisible(true); volumn.setResizable(false);catch(IOException e1)e1.printStackTrace(););JavaVolumn.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) tryBufferedReader br = new BufferedReader(new FileReader(E:/Student.txt);int a=getArray(br,3);br.close();volu

38、mnTest volumn=new volumnTest(a); volumn.setTitle(Java成绩柱状图); volumn.setVisible(true);volumn.setResizable(false);catch(IOException e1)e1.printStackTrace(); );DSVolumn.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) try BufferedReader br = new BufferedReader(new FileRe

39、ader(E:/Student.txt);int a=getArray(br,4);br.close();volumnTest volumn=new volumnTest(a);volumn.setTitle(数据结构成绩柱状图);volumn.setVisible(true);volumn.setResizable(false);catch(IOException e1)e1.printStackTrace(); );DBCake.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e)

40、try BufferedReader br = new BufferedReader(new FileReader(E:/Student.txt);int a=getArray(br,2);br.close(); floatsum=a0+a1+a2+a3+a4;CakyPlan cakyplan = new CakyPlan();cakyplan.setTitle(数据库成绩饼形图);cakyplan.setVisible(true); cakyplan.setAlwaysOnTop(true); CakyPlan.jPanel.insert(优秀, a0/sum*100); CakyPlan.jPanel.insert(良好, a1/sum*100); CakyPlan.jPanel.insert(中等, a2/sum*100); CakyPlan.jPanel.insert(及格, a3/sum*100); CakyPlan.jPanel.insert(不及格,a4/sum*100); cakyplan.setResizable(false);catch(IOException e1)e1.printStackTrace(); );JavaCake.addActionListener(new ActionListener()public void actionPer

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1