1、长 春 大 学 课程设计纸共 9 页 第 1 页装订线目 录一、设计目的 2二、功能介绍 2三、程序流程 2四、设计步骤 3五、设计总结 5六、程序清单 6七、参考文献 6长 春 大 学 课程设计纸共 9 页 第 2 页装订线1 设计目的设计目的:巩固和加深学生对高级语言程序设计课程的基本知识的理解和掌握,掌握 java语言编程和程序调试的基本技能,利用 java 语言进行基本的软件设计,提高运用java 语言解决实际问题的能力。内容要求实现学生成绩的管理(增、删、改、查询、持久化、成绩排序、成绩统计等功能) ,在文件中增加、删除、学生信息,根据学号查询、修改学生信息,统计功能求每个人的总分并
2、按从高到低排序,通过这些操作对文件中的信息保存。2 功能介绍删除信息界面,通过输入的学号进行查找并在 arraylist 中移除修改信息界面,捕获输入的学号,查找该生信息,直接在文本框中修改,类似添加功能冲新添加该生信息3 程序流程成功登陆系统以后,出现成绩管理界面,系统初始化,可对学生成绩进行增加、删除、查询、修改、统计,进入相应界面进行成绩管理,退出系统自动保存本次操作内容,保存信息。简易流程图: 3.1 删除功能流程图:选择删除按钮进入删除页面,输入学号。判断学号是否存在?删除成功结束学号不存在长 春 大 学 课程设计纸共 9 页 第 3 页装订线3.2 修改信息功能流程图:4 设计步骤
3、4.1 系统数据结构删除模块函数名:Delet函数作用:让管理员可以对学生的信息进行删除操作。通过输入的学号进行查找并在 arraylist 中移除修改模块函数名:XiuGai函数作用:让管理员可以对学生的信息进行修改操作。捕获输入的学号,查找该生信息,直接在文本框中修改,类似添加功能冲新添加该生信息进入修改页面,输入学号。显示学生姓名等信息选择修改按钮输入修改后的学生信息结束长 春 大 学 课程设计纸共 9 页 第 4 页装订线4.2 系统测试进入修改界面。输入需要修改学生的学号。直接在相应位置修改,完成后点击修改按钮,提示修改成功。长 春 大 学 课程设计纸共 9 页 第 5 页装订线进入
4、删除界面,输入需要删除学生的学号,点击确定按钮。提示删除成功。5 设计总结通过这一周的实践学习,我认识到学好计算机要重视实践操作,不仅仅是学习java,以及其它的计算机方面的知识都要重在实践,很多以前学过的东西,在运用时都不能很熟练,也说明理论知识和实践之间的差别。这就告诉了我们在以后的学习过程中要培养自己的动手能力,要将学过的知识转化为实践。作为一个计科专业的学生,通过这周的学习,使我更加明白了动手能力的重要性。在这次的课程设计中,我不断地去找书本知识和查阅其它有关资料,不仅巩固了对课本知识的掌握,还有利于以后更好的进步,提高了对课外知识的了解,虽然花费了不少时间,但只要学到有价值的东西,我
5、认为都是值得的。在完成该试验的过程中,我问了同学和老师,还查阅了很多和链表有关系的书籍,通过学习,翻看以前学过的知识,使我明白了我在学习知识上的很多不足。不过在此同时又重新复习了课本,从中学到了许多以前未学到的知识,感觉非常有成就感,让我对自己更加有信心,让我对数据结构这门课程也更感兴趣了,以前我一直感觉枯燥难学的数据结构,现在我也愿意去认真研究学习了。这次设计中,多亏了我的指导老师老师的悉心教导。在以后的学习过程中,我要认真负责地对待课本中的每一个知识点,进一步充实自己,提高自己。长 春 大 学 课程设计纸共 9 页 第 6 页装订线6 程序清单/删除信息界面,通过输入的学号进行查找并在 a
6、rraylist 中移除class Delet extends JFrame implements ActionListenerprivate JButton yes;private JButton cancle;private JTextField text1;private String STNO;public Delet()Container c3 = this.getContentPane();c3.setLayout(new GridLayout(3, 1);c3.setFont(new Font(“true“,Font.TRUETYPE_FONT,13);JPanel p1 = n
7、ew JPanel();JPanel p2 = new JPanel();JLabel label1 = new JLabel(“删除学生信息“,SwingConstants.CENTER);label1.setFont(new Font(“true“,Font.TRUETYPE_FONT,13);label1.setForeground(Color.blue);c3.add(label1);JLabel label2 = new JLabel(“请输入学号“);text1 = new JTextField(10);p1.add(label2);p1.add(text1);c3.add(p1)
8、;yes = new JButton(“确定“);cancle = new JButton(“退出“);p2.add(yes);p2.add(cancle);c3.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)delt();if(
9、e.getSource()=cancle)this.dispose();private void delt()STNO = text1.getText();scs.del(Integer.parseInt(STNO);JOptionPane.showMessageDialog(this, “删除成功“);/修改信息界面,捕获输入的学号,查找该生信息,直接在文本框中修改,类似添加功能冲新添加该生信息class XiuGai extends JFrame implements ActionListenerprivate JTextField STNOText, SNAMEText, MAText,
10、 CHIText, JAVAText;private JButton b1,b2,b3;public XiuGai()Container c4 = this.getContentPane();c4.setLayout(new GridLayout(4, 1);长 春 大 学 课程设计纸共 9 页 第 7 页装订线c4.setFont(new Font(“true“,Font.TRUETYPE_FONT,13);JPanel up = new JPanel();JPanel center1 = new JPanel();JPanel center2 = new JPanel(new GridLa
11、yout(4, 2);JPanel low = new JPanel();JLabel label11 = new JLabel(“需要修改的学号 “);STNOText=new JTextField(15);up.add(label11);up.add(STNOText);c4.add(up);b1=new JButton(“查找“);center1.add(b1);c4.add(center1);JLabel label21 = new JLabel(“姓名“, SwingConstants.CENTER);JLabel label22 = new JLabel(“TCP“, SwingC
12、onstants.CENTER);JLabel label23 = new JLabel(“英语“, SwingConstants.CENTER);JLabel label24 = new JLabel(“java“, SwingConstants.CENTER);SNAMEText=new JTextField(22);MAText=new JTextField(22);CHIText=new JTextField(22);JAVAText=new JTextField(22);center2.add(label21);center2.add(SNAMEText);center2.add(l
13、abel22);center2.add(MAText);center2.add(label23);center2.add(CHIText);center2.add(label24);center2.add(JAVAText);c4.add(center2);b2=new JButton(“修改“);b3=new JButton(“退出“);low.add(b2);low.add(b3);c4.add(low);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);this.setTitl
14、e(“修改信息“);this.setBounds(200, 200, 600, 400);this.setVisible(true);public void actionPerformed(ActionEvent e) if (e.getSource() = b1) for(int i=0;iscs.al.size();i+)if(Integer.parseInt(STNOText.getText()=scs.al.get(i).getNum()SNAMEText.setText(scs.al.get(i).getName();MAText.setText(String.valueOf(scs
15、.al.get(i).getTcp();CHIText.setText(String.valueOf(scs.al.get(i).getYingyu();JAVAText.setText(String.valueOf(scs.al.get(i).getJava();if (e.getSource() = b2) if (SNAMEText.getColumns() = 0 | MAText.getColumns() = 0| JAVAText.getColumns() = 0 | CHIText.getColumns() = 0)长 春 大 学 课程设计纸共 9 页 第 8 页装订线JOpti
16、onPane.showMessageDialog(this, “请添加完全信息“);else scs.del(Integer.parseInt(STNOText.getText();Student a=new Student(SNAMEText.getText(),Integer.parseInt(STNOText.getText(),Integer.parseInt(CHIText.getText(),Integer.parseInt(MAText.getText(),Integer.parseInt(JAVAText.getText();scs.adds(a);JOptionPane.sh
17、owMessageDialog(this, “修改成功“);if (e.getSource() = b3) this.dispose();/统计界面,对 arraylist 中所有对象进行求总分,并按总分从达到小排序class Tongji extends JFrame implements ActionListenerprivate JButton b1,b2;JTextArea t;public Tongji()Container c1 = this.getContentPane();c1.setLayout(new GridLayout(3, 1);JPanel p1 =new JPan
18、el();JLabel label1 = new JLabel(“统计信息“, SwingConstants.CENTER);p1.add(label1);c1.add(p1);t=new JTextArea();JScrollPane scroll=new JScrollPane(t);c1.add(scroll);JPanel p3=new JPanel();b1 = new JButton(“统计“);b2 = new JButton(“退出“);p3.add(b1);p3.add(b2);c1.add(p3);this.setBounds(200,200,400,300);this.s
19、etVisible(true);b1.addActionListener(this);b2.addActionListener(this);public void actionPerformed(ActionEvent e) if (e.getSource() = b1) scs.sum();scs.sort();String s=new String100;String s1=“总分从大到小n 姓名 学号 TCP 英语 java 总分“;for(int i=0;iscs.al.size();i+)si=scs.al.get(i).getName()+“ “+scs.al.get(i).get
20、Num()+“ “+scs.al.get(i).getTcp()+“ “+scs.al.get(i).getYingyu()+“ “+scs.al.get(i).getJava()+“ “+scs.al.get(i).getSum();长 春 大 学 课程设计纸共 9 页 第 9 页装订线for(int i=0;iscs.al.size();i+)s1=s1+“n“+si;t.append(s1);if (e.getSource() = b2) this.dispose();7 参考文献1. 张海藩.软件工程导论. 清华大学出版社, 2010 2. 沈洪, 施明利. VB 程序设计案例汇编. 清华大学出版社 , 20103. 孟德欣. VB 程序设计. 清华大学出版社, 20114. 石志国. VB.NET 数据库编程. 清华大学出版社, 20095. 张友生. 软件体系结构原理、方法与实践. 清华大学出版社, 2010