当前位置:文档之家› 用java编写学生信息管理系统

用java编写学生信息管理系统

用java编写学生信息管理系统
用java编写学生信息管理系统

用java编写学生信息管理系统

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

import java.io.*;

importjava.util.*;

class Student implements java.io.Serializable{

String number,name,specialty,grade,borth,sex;

public Student(){};

public void setNumber(String number){ this.number=number;}

public String getNumber(){ return number;}

public void setName(String name){ https://www.doczj.com/doc/a5742241.html,=name;}

public String getName(){ return name;}

public void setSex(String sex){ this.sex=sex;}

public String getSex(){ return sex;}

public void setSpecialty(String specialty){ this.specialty=specialty;}

public String getSpecialty(){ return specialty;}

public void setGrade(String grade){ this.grade=grade;}

public String getGrade(){ return grade;}

public void setBorth(String borth){ this.borth=borth;}

public String getBorth(){ return borth;}

}

public class StudentManager extends JFrame{

JLabellb=new JLabel("录入请先输入记录,查询、删除请先输入学号,修改是对查询" + "内容改后的保存!");

staticJTextFieldJnumber,Jname,Jspecialty,Jgrade,Jborth;

staticJRadioButtonboy,girl;

staticButtonGroup group=null;

staticJButtonLogin,select,delete,update,show;

staticJPanel p1,p2,p3,p4,p5,p6,pv,ph;

static Student student=null;

staticHashtableShashtable=null;

static File file=null;

staticFileInputStreaminOne=null;

staticObjectInputStreaminTwo=null;

staticFileOutputStreamoutOne=null;

staticObjectOutputStreamoutTwo=null;

publicStudentManager(){

super("学生基本信息管理系统");

Jnumber=new JTextField(10);

Jname =new JTextField(10);

Jspecialty=new JTextField(10);

Jgrade=new JTextField(10);

Jborth=new JTextField(10);

group=new ButtonGroup();

boy=new JRadioButton("男",true);

girl=new JRadioButton("女",false); group.add(boy);

group.add(girl);

Login=new JButton("录入");

select=new JButton("查询");

delete=new JButton("删除");

update=new JButton("修改");

show=new JButton("显示");

Login.addActionListener(new InputAct()); select.addActionListener(new InquestAct()); update.addActionListener(new ModifyAct()); delete.addActionListener(new DeleteAct()); show.addActionListener(new ShowAct()); update.setEnabled(false);

p1=new JPanel();

p1.add(new JLabel("学号:",JLabel.CENTER)); p1.add(Jnumber);

p2=new JPanel();

p2.add(new JLabel("姓名:",JLabel.CENTER)); p2.add(Jname);

p3=new JPanel();

p3.add(new JLabel("性别:",JLabel.CENTER)); p3.add(boy);

p3.add(girl);

p4=new JPanel();

p4.add(new JLabel("专业:",JLabel.CENTER)); p4.add(Jspecialty);

p5=new JPanel();

p5.add(new JLabel("年级:",JLabel.CENTER)); p5.add(Jgrade);

p6=new JPanel();

p6.add(new JLabel("出生:",JLabel.CENTER)); p6.add(Jborth);

pv=new JPanel();

pv.setLayout(new GridLayout(6,1));

pv.add(p1);

pv.add(p2);

pv.add(p3);

pv.add(p4);

pv.add(p5);

pv.add(p6);

ph=new JPanel();

ph.add(Login);

ph.add(select);

ph.add(update);

ph.add(delete);

ph.add(show);

file=new File("学生信息.txt");

Shashtable=new Hashtable();

if(!file.exists()){

try{

FileOutputStream out=new FileOutputStream(file); ObjectOutputStreamobjectOut=new ObjectOutputStream(out); objectOut.writeObject(Shashtable);

objectOut.close();

out.close();

}

catch(IOException e){}

}

Container con=getContentPane();

con.setLayout(new BorderLayout());

con.add(lb, BorderLayout.NORTH);

con.add(pv, BorderLayout.CENTER);

con.add(ph, BorderLayout.SOUTH); setDefaultCloseOperation(EXIT_ON_CLOSE);

setBounds(100,100,600,300);

setVisible(true);

}

public static void main(String[] args) {new StudentManager();} classInputAct implements ActionListener{

public void actionPerformed(ActionEvent e){

update.setEnabled(false);

String number="";

number=Jnumber.getText();

if(number.length()>0){

try{

inOne=new FileInputStream(file);

inTwo=new ObjectInputStream(inOne);

Shashtable=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exception ee){System.out.println("创建散列表出现问题!");}

if(Shashtable.containsKey(number)){

String warning="该生信息已存在,请到修改页面修改!"; JOptionPane.showMessageDialog(null,warning,"警告",

JOptionPane.WARNING_MESSAGE);

}//end if1

else{

String m="该生信息将被录入!";

int ok=JOptionPane.showConfirmDialog(null,m,"确认",

JOptionPane.YES_NO_OPTION,https://www.doczj.com/doc/a5742241.html,RMATION_MESSAGE);

if(ok==JOptionPane.YES_OPTION){

String name=Jname.getText();

String specialty=Jspecialty.getText();

String grade=Jgrade.getText();

String borth=Jborth.getText();

String sex=null;

if(boy.isSelected()){sex=boy.getText();}

else{sex=girl.getText();}

student=new Student();

student.setNumber(number);

student.setName(name);

student.setSpecialty(specialty);

student.setGrade(grade);

student.setBorth(borth);

student.setSex(sex);

try{

outOne=new FileOutputStream(file);

outTwo=new ObjectOutputStream(outOne);

Shashtable.put(number,student);

outTwo.writeObject(Shashtable);

outTwo.close();

outOne.close();

}

catch(Exception ee){System.out.println("输出散列表出现问题!");} Jnumber.setText(null);

Jname.setText(null);

Jspecialty.setText(null);

Jgrade.setText(null);

Jborth.setText(null);

}

}//end else1

}//end if0

else{

String warning="必须输入学号!";

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE);

}//end else0

}//end actionPerformed

}//end class

classInquestAct implements ActionListener{

public void actionPerformed(ActionEvent e){

String number="";

number=Jnumber.getText();

if(number.length()>0){

try{

inOne=new FileInputStream(file);

inTwo=new ObjectInputStream(inOne);

Shashtable=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exception ee){System.out.println("散列表有问题!");} if(Shashtable.containsKey(number)){

update.setEnabled(true);

Student stu=(Student)Shashtable.get(number); Jname.setText(stu.getName());

Jspecialty.setText(stu.getSpecialty());

Jgrade.setText(stu.getGrade());

Jborth.setText(stu.getBorth());

if(stu.getSex().equals("男")){boy.setSelected(true);}

else{girl.setSelected(true);}

}

else{

update.setEnabled(false);

String warning="该学号不存在!"; JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE);

}

}

else{

update.setEnabled(false);

String warning="必须输入学号!";

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE);

}

}

}

classModifyAct implements ActionListener{ public void actionPerformed(ActionEvent e){

String number=Jnumber.getText();

String name=Jname.getText();

String specialty=Jspecialty.getText();

String grade=Jgrade.getText();

String borth=Jborth.getText();

String sex=null;

if(boy.isSelected()){sex=boy.getText();}

else{sex=girl.getText();}

Student 学生=new Student();

学生.setNumber(number);

学生.setName(name);

学生.setSpecialty(specialty);

学生.setGrade(grade);

学生.setBorth(borth);

学生.setSex(sex);

try{

outOne=new FileOutputStream(file);

outTwo=new ObjectOutputStream(outOne); Shashtable.put(number, 学生);

outTwo.writeObject(Shashtable);

outTwo.close();

outOne.close();

Jnumber.setText(null);

Jname.setText(null);

Jspecialty.setText(null);

Jgrade.setText(null);

Jborth.setText(null);

}

catch(Exception ee){

System.out.println("录入修改出现异常!"); update.setEnabled(false);

}

}

}

classDeleteAct implements ActionListener{ public void actionPerformed(ActionEvent e){ update.setEnabled(false);

String number=Jnumber.getText(); if(number.length()>0){

try{

inOne=new FileInputStream(file);

inTwo=new ObjectInputStream(inOne);

Shashtable=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exception ee){}

if(Shashtable.containsKey(number)){

Student stu=(Student)Shashtable.get(number); Jname.setText(stu.getName());

Jspecialty.setText(stu.getSpecialty());

Jgrade.setText(stu.getGrade());

Jborth.setText(stu.getBorth());

if(stu.getSex().equals("男")){boy.setSelected(true);} else{girl.setSelected(true);}

}

String m="确定要删除该学生的记录吗?";

int ok=JOptionPane.showConfirmDialog(null,m,"确认", JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);

if(ok==JOptionPane.YES_OPTION){

Shashtable.remove(number);

try{

outOne=new FileOutputStream(file);

outTwo=new ObjectOutputStream(outOne);

outTwo.writeObject(Shashtable);

outTwo.close();

outOne.close();

Jnumber.setText(null);

Jname.setText(null);

Jspecialty.setText(null);

Jgrade.setText(null);

Jborth.setText(null);

}

catch(Exception ee){System.out.println(ee);}

}

else if(ok==JOptionPane.NO_OPTION){

Jnumber.setText(null);

Jname.setText(null);

Jspecialty.setText(null);

Jgrade.setText(null);

Jborth.setText(null);

}

else{

String warning="该学号不存在!"; JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE);

}

}

else{

String warning="必须输入学号!";

JOptionPane.showMessageDialog(null,warning,

"警告",JOptionPane.WARNING_MESSAGE);

}

}

}

classShowAct implements ActionListener{

public void actionPerformed(ActionEvent e){

newStudentShow(file);

}

}

classStudentShow extends JDialog{

Hashtable学生散列表= null;

JTextArea显示=null;

FileInputStreaminOne=null;

ObjectInputStreaminTwo=null;

File file=null;

publicStudentShow(File file){

super(new JFrame(),"显示对话框");

this.file=file;

显示=new JTextArea(16,30);

try{

inOne=new FileInputStream(file);

inTwo=new ObjectInputStream(inOne);

学生散列表=(Hashtable)inTwo.readObject();

inOne.close();

inTwo.close();

}

catch(Exception ee){}

if(学生散列表.isEmpty())显示.append("目前还没有学生的信息记录!\n");

else{

显示.setText("学号姓名性别专业年级出生\n");

for(Enumeration enm=学生散列表.elements();enm.hasMoreElements();){

Student stu=(Student)enm.nextElement();

String sex="";

if(stu.getSex().equals("男"))sex="男";

else sex="女";

String str=stu.getNumber()+","+stu.getName()+","+sex+","

+stu.getSpecialty()+","+stu.getGrade()+","+stu.getBorth()+"\n"; 显示.append(str);

}

}

JScrollPane scroll=new JScrollPane(显示);

Container con=getContentPane();

con.add("Center",scroll);

con.validate();

setVisible(true);

setBounds(200,200,400,300);

addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){setVisible(false);} }

);

}

}

}

学生信息管理系统(Java)+代码

学生信息管理系统设计 1、系统简介 本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。 管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2、功能设计 2.1 需求分析 本系统需要实现的功能: (1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。 (2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。 2.2 总体设计 学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。 总体结构图 2.3 模块详细设计 1、学生信息管理模块 学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。

学生信息管理模块结构图 2、课程信息管理模块 课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。 课程信息管理模块结构图 3、选课信息管理模块 选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。 选课信息管理模块结构图 4、成绩信息管理模块 成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。

成绩信息管理模块结构图 5、用户信息管理模块 用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。 用户信息管理模块结构图 3、数据库设计 在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

C++实现:简单的学生信息管理系统

<< endl << endl; cout << "按下1:进入学生信息管理系统." << endl; cout << "按下0:退出." << endl; cout << "-----------------------------------------------------" << endl<> flagOperateInformation; (); cout << endl; if (flagOperateInformation) EditMenu(); } } << endl; cout << "按下2:修改学生信息." << endl; cout << "按下3:删除学生信息." << endl; cout << "按下4:显示学生信息." << endl; cout << "按下5:按学号升序排序" << endl; cout << "按下6:读入已有信息(暂时没实现)" << endl; cout << "按下7:将信息输出(暂时没实现)" << endl; cout << "按下8:显示系统内所有学生的信息" << endl; cout << "按下0:返回上一级." << endl; cout << "--------------------------------------------" << endl << endl; cin >> flagContinueOperation; (); cout << endl; switch (flagContinueOperation) { case 1:AddStudentPersonalInformation(1); break; case 2:ModifyStudentInformation(); break; case 3:DeleteStudentInformation(); break; case 4:DisplayStudentInformation(); break; case 5:RankByID(); break; case 6:cout << "功能暂未实现" << endl; break; case 7:cout << "功能暂未实现" << endl; break; case 8:DisplayAllStudentInformation(); break; case 0:break; } } } tudent_WritePersonalInformation(iD,name,address,phone); cout << "基本信息输入成功!" << endl << "------------------------------" << endl; } tudent_WriteMaPhEgGrade(mathGrade, physicsGrade, englishGrade); cout << "学习成绩输入成功!" << endl

学生信息管理系统java课程设计(含源代码)

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 设计时间: 评阅意见: 评定成绩:

目录 一、系统描述 (2) 1、需要实现的功能 (3) 2、设计目的 (3) 二、分析与设计 (3) 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11) 三、系统测试 (16) 四、心得体会 (23) 五、参考文献 (24) 六、附录 (24)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,

简单学生信息管理系统设计

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组容。 2.设计实现一个简单的信息管理系统。 实验容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有、学号、math、os、java用来存放 对应的成绩,在构造方法中进行、学号、课程成绩的赋值。 Override有Object继承来的tostring方法已便友好格式显 示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 (判断是否相等使用string类的equalsIgnoreCase方 法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的容,注意要考虑以前未保存容的情况, 可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找 3 按查找 4 按学号删除 5 保存 6 读入7 退出 请输入数字(1-7): 程序代码

学生信息管理系统 java 连接数据库

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.Date; import java.util.Scanner; public class Student { public static final String DRIVER="sun.jdbc.odbc.JdbcOdbcDriver"; public static final String URL="jdbc:odbc:student"; public static final String USERNAME="root";//用户名 public static final String PASSWORD="root";//密码 private static String name;//当前登录管理员的名字 private static int userid;//当前登录管理员的主键 //获得jdbc链接 public Connection connection(){ try { Class.forName(DRIVER); Connection con=DriverManager.getConnection(URL, USERNAME, PASSWORD); return con; } catch (Exception e) { e.printStackTrace(); } return null; } //管理员登陆 public boolean login() throws Exception{ Scanner sc = new Scanner(System.in); System.out.print("输入用户名:"); String username = sc.next(); System.out.print("输入密码:"); String password = sc.next(); //查找该用户 String sql = "select username,id from muser where username='" + username + "' and password='" + password + "'";

基于java学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现 摘要:利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找便、可靠性高、存储量大、保密性好。本设计就是一个为实现信息化管理而开发的信息管理系统,能够进行信息存储、查询、修改等能功。该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。通过这些模块的有机结合,能便的对学生信息进行综合管理,从而实现了信息化管理的目的。由于本人的能力有限,设计过程中难免有不足之处,设计中的存在问题本人将在日后进一步修改,以便让程序的设计更加完善。 关键词:oracle; 异常处理;关系模型

目录 1 引言 0 1.1背景及意义 (3) 1.2 实验技术选择 (4) 1.3 课题实现技术的简要说明 (7) 1.4可行性分析 (8) 2系统需求分析 (9) 3 学生信息管理系统设计 (10) 3.1数据模型分析与设计 (10) 3.2 结构设计与结构功能图 (13) 3.2.1 结构设计 (13) 3.2.2 功能结构图 (13) 4 系统实现 (15) 5 系统调试与测试 (20) 5.1系统功能测试 (20) 5.2系统调试常见错误 (20) 6 实验小结 (22) 参考文献 (22)

1 引言 1.1背景及意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的式管理文件档案、统计和查询数据,这种管理式存在着多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规化、自动化,从而达到提高学生信息管理效率的目的。本课题就是针对便于学生信息管理的问题而设计的一个管理系统。

简单学生信息管理系统

简单学生信息管理系统-标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: 姓名: 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用 来存放对应的成绩,在构造方法中进行姓名、学号、课 程成绩的赋值。Override有Object继承来的tostring方法 已便友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方 法,在main中写一段测试代码,运行以保证目前所做工 作的正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制 到新数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误 信息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的 情况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如 下: 1显示所有学生信息 2按学号查找 3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7):

基于java的学生信息管理系统设计与实现

基于java的学生信息管理系统设计与实现 基于java的学生信息管理系统设计与实现摘要:利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。本设计就是一个为实现信息化管理而开发的信息管理系统,能够进行信息存储、查询、修改等能功。该系统由六个模块构成,包括学生管理系统的主界面模块、学生信息管理模块、课程信息管理模块、成绩信息管理模块、信息查询模块和数据库操作模块。通过这些模块的有机结合,能方便的对学生信息进行综合管理,从而实现了信息化管理的目的。由于本人的能力有限,设计过程中难免有不足之处,设计中的存在问题本人将在日后进一步修改,以便让程序的设计更加完善。 关键词:oracle;异常处理;关系模型 目录

1 引言 1.1背景及意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比拟的优点。例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。 本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。通过一个简化的学生信息管理系统,使学生信息管理工作系统化、规范化、自动化,从而达到提高学生信息管理效率的目的。本课题就是针对便于学生信息管理的问题而设计的一个管理系统。 1.2 实验技术选择 本课题设计主要运用的技术有两个:java项目开发和oracle对数据库的操作。这里主要介绍本课题为什么选用这两个开发技术: ⑴首先了解一下Java语言特点

简单学生信息管理系统

. ——综合性程序设计 题目:简单学生信息管理系统(序列化版)班级: : 学号:

实验目的: 1.综合运用输入、输出的知识,用序列化方法保存、读入数组内容。 2.设计实现一个简单的信息管理系统。 实验内容: 编写能够满足如下条件的程序,分两次四个课时完成 1.声明Student类,该类实现Serializable接口以表明该类可 以进行序列化。该类有姓名、学号、math、os、java用来 存放对应的成绩,在构造方法中进行姓名、学号、课程成 绩的赋值。Override有Object继承来的tostring方法已便 友好格式显示自己的属性; 2.建立一个类,利用数组来存储多个Student,写完一个方法, 在main中写一段测试代码,运行以保证目前所做工作的 正确性,正确后再写其他代码。有以下方法: 1)add(Student stu):增加新的学生,人数满时显示人满或是new一个更长的数组,把现有的Student复制到新 数组 2)dispAll():可以显示所有的学生信息(测试add是否正确) 3)findById(long id):可以按照学号来查找,然后显示符合条件的学生信息,查无此人的话显示错误信息。 4)findByName(string name):可以按照姓名来查找,然后显示符合条件的学生信息,查无此人的话显示错误信 息。(判断姓名是否相等使用string类的 equalsIgnoreCase方法) 5)delBy Id(long id): 可以按照id来删除学生信息,然后显示找到该人,若查无此人的话显示错误信息。 6)save():利用ObjectOutputStream 来把数组写入文件中,需要考虑在什么时候调用该方法。 7)load():利用ObjectIntputStream 来进行反序列化,得到以前保存的内容,注意要考虑以前未保存内容的情 况,可返回错误信息。 3.在控制台显示一个菜单,并实现相应的功能。菜单如下: 1显示所有学生信息2按学号查找3 按姓名查找 4 按学号删除 5 保存 6 读入 7 退出 请输入数字(1-7): 程序代码

(完整版)JAVA学生管理系统源代码

JA V A学生管理系统源代码 一、程序 import java.util.*; public class Test {//主程序 public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("------请定义学生的人数:------"); Student[] stuArr = new Student[in.nextInt()]; Admin adminStu = new Admin(); while(true){ System.out.println("-----请选择你要执行的功能-----"); System.out.println("10:添加一个学生"); System.out.println("11:查找一个学生"); System.out.println("12:根据学生编号更新学生基本信息"); System.out.println("13:根据学生编号删除学生"); System.out.println("14:根据编号输入学生各门成绩"); System.out.println("15:根据某门成绩进行排序"); System.out.println("16:根据总分进行排序"); System.out.println("99:退出系统"); String number = in.next(); if(number.equals("10")){ System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next(); System.out.println("请输入学生的年龄:"); int age = in.nextInt(); adminStu.Create(num,name,age,stuArr);//添加学生}else if(number.equals("11")){ System.out.println("执行查找学生基本信息的操作"); System.out.println("请输入学生的编号进行查找:"); int num = in.nextInt(); adminStu.find(num,stuArr);//查找学生 }else if(number.equals("12")){ System.out.println("执行更新学员的基本信息操作"); System.out.println("请输入学生的编号:"); int num = in.nextInt(); System.out.println("请输入学生的姓名:"); String name = in.next();

简单的学生信息管理系统C语言

#include #include //输入函数getch的头文件,不能用getchar,具体请查看两者的区别 #include //申请空间的函数malloc的头文件 typedef struct { //定义结构体类型,包含四项内容,可以自由添加 int num; char name[10]; int age; char sex[5]; }st; typedef struct node //构造结点(也是结构体变量) { st data; //数据域 struct node *next; //指针域(指向结构体,也就是自身) }list; list *create() //建立一个单链表 { list *p,*r,*head; //定义结构体指针变量 int i,n; head = (list *)malloc(sizeof(list)); //申请头结点 r = head; head->next = NULL; //头结点的指针域先定义为空 printf("请输入学生人数:\n"); scanf("%d",&n); printf("请输入学生个人信息:\n\n学号,姓名,年龄,性别\n"); for(i=1;i<=n;i++) { p = (list *)malloc(sizeof(list)); //申请一个结点 scanf("%d%s%d%s",&p->data.num,&p->https://www.doczj.com/doc/a5742241.html,,&p->data.age,&p->data.sex); //向结点的数据域输入学生信息 p->next = NULL; r->next = p; //将头结点指向第一个结点,以此类推。 r = r->next; } return (head); //返回头结点的地址 } void output(list *h) // 输出链表中的学生信息 { list *p; p = h->next; //使p指向第一个结点 if(p == NULL)

学生管理系统Java

实现一个简单的学生管理系统,能支持学生数据(Student)的显示、增加、修改和删除等操作,学生信息包括学号、姓名、性别、专业等。具体要求如下: 学生数据按对象序列化写入文件 程序启动后,从文件读取学生对象存入ArrayList中; 增加学生数据时将学生对象Student存入ArrayList,按保存后再写入; 删除学生必须输入学生的学号; 修改学生必须输入学号,然后输入姓名、性别和专业进行修改; 保存时将当前ArrayList中的所有学生对象写入; 退出前也要将当前ArrayList中的所有学生对象写入; 设计一个操作菜单,包括“增加”、“修改”、“删除”、“显示”、“保存”、“退出”等6个选项。import ; import ; import ; import ; import ; import ; import ; import ; import ; class Student implements Serializable { int id; String name; String sex; String zuanYe; public Student() { id = 0; name = "wu"; sex = "男"; zuanYe = "English"; } public Student(int id, String name, String sex, String zuanYe) { = id; = name; = sex; = zuanYe; } public void output() { ("学号:" + id); (",姓名:" + name); (",性别:" + sex); (",专业:" + zuanYe); } } public class StuInfoSystem {

基于JAVA学生信息管理系统

基于J A V A学生信息管理 系统 Prepared on 22 November 2020

江西科技师范大学毕业设计(论文) 学生姓名: 题目(中文):基于Java的学生信息管理系统 (外文):Student Information Management System based on Java 院(系):数学与计算机科学学院 专业:计算机科学与技术 年级:学号: 指导教师: 时间:2016 年 4 月 2016年 4月 20日 目录

基于Java的学生信息管理系统摘要:基于Java的学生信息管理系统分为五大模块:登录管理、学生基本信息管理、成绩管理、课程管理和班级管理。本文详细介绍了前台界面的操作及后台数据库的链接,根据模块制定各个功能的所需界面的实现方法。该系统具有十分清晰友好的界面,操作界面简洁,便于使用。 关键字:学生信息管理;MYSQL;JA VA 1.引言 项目开发背景和意义 随着科学技术的快速发展和不断提高,尤其是计算机科学技术的日渐普及,其功能的强大以及运行速度已经被人们深刻地了解。近几年来高校的办学模式多元化和学校规模的扩大,为了实现对学生信息进行科学管理,因此开发一个简单快速规范的平台。学生的信息管理是教务管理的一个至关重要的部分,传统的方法不仅费人力和时间,而且效率低。如学生发生班级调动,传统的方法需要人工及时更改信息,十分复杂,使得该学生信息不能合理地配置。而使用计算机技术对学生档案信息进行管理的优点具有便于查找、检索快速、统计科学、保密性强、管理规范、节约成本等优点。 国内外的研究现状 学生信息管理工作是各大高校必不可少的管理工作之一,在学校占据重要的地位,它涉及到学生、老师和管理员等多方面。由于各大高校学生人数日益增长,因此研发出一款具有操作灵活且人性化的管理系统成为了迫切需要。 从国外看来许多高校一般是由技术强大稳定的队伍来完成该系统程序的设计与研制,或者是本校的某个院系。在西方电子管理系统的概念早已被学生引入,他们可以通过网络浏览学校的管理系统网站,以及学校的学术信息等。可以查看个人信息、考试成绩和课程,这种方式大大地减轻了人力和时间。

一个简单数据管理软件的设计-软件综合设计-学生信息管理系统

《软件综合设计》课程实验报告

4、实验内容 1、实验步骤及流程: 1)新建工程:新建一个单文件类型的MCF工程,在Resource之中新建并利用控件设计对话框。 2)增加控件:一个控件是能够放置在一个对话框中,提供应用程序与用户交互的某种功能。本次 实验需要添加编辑框、下拉列表控件、列表框(ListBox)控件以及按钮键。 3)设置对话框及控件等的属性:一个控件相关的属性设置决定了一个控件可操作行为和显示。修 改控件ID以及名称,对话框名称等。 4)组织和安排各部件的位置大小等:软件为我们提供了各种调整方式,如:左对齐、右对齐、宽 相等、水平居中等等。 5)设置控件的顺序:执行菜单命令Layout->Tab Order可以显示并修改Tab Order,按所想要的 访问顺序依次点击每一个控件,完成后,点击空白处就可以了。 6)为对话框成员添加变量:打开ClassWizard窗口,选择Member Variables标签页,Class name下拉列表中选择CScoreDlg类。则对话框中可以创建成员变量的控件ID出现在下方的 Control IDs列表中。单击Add Variable按钮,则弹出Add Member Variable对话框,设置 变量名即可。 7)对话框类的构造函数:双击各个控件并确定就会弹出编程界面,为各个控件添加函数程序,实 现它们所对应的功能。 8)运行程序,调试程序。 2、源程序代码: 见后:实验结果及分析

3、调试过程记录: 在调试程序的时候,我们必须使程序在某一地点停下来。即是设立断点,其次再运行程序;当程序在设立断点处停下来时,利用各种工具观察程序的状态。程序在断点停下来后,有时我们需要按我们的要求控制程序的运行,以进一步观测程序的流向,从而调试程序。 逐步完善对话框的内容,加入控件,编写程序:

学生学籍管理系统(含java源代码)

学生学籍管理详细设计 学号:____________ 姓名:____________ 班级:____________ 一、设计题目: 学生学籍管理 二:设计内容: 设计GUI学生学籍管理界面,用户可以加入学生信息,并对基本信息进行修改,添加,查询,删除。 三:设计要求: 进行简单的学生信息管理。 四:总体设计 (1)登陆界面的设计 (2)主窗体的设计 (3)添加学生信息窗体 (4)查询学生信息窗体 (5)修改学生信息窗体 (6)删除学生信息窗体 (7)事件响应的处理 五:具体设计 (1)程序结构的说明: A.入口程序:; B.登陆界面程序:; C.主窗体程序:; D.添加信息窗口程序:; E.修改信息窗口程序:;

F.查询信息窗口程序:; G.删除信息窗口程序:; H.程序数据连接:; (2)程序代码及分析说明 A.程序源代码(已提交) 是程序的入口。使登录窗口位于窗口中间,并且不可改变窗口大小。 是程序的登陆窗体。输入用户名和密码(用户名和密码在数据库的password表中)点击“进入系统”,然后登陆界面消失;出现要操作的界面(屏幕左上角)。是添加信息界面。添加基本信息后,点击“添加信息”按钮,将信息加入xinxi 表中。 是修改信息界面。输入要修改的学号或姓名(两者数其一或全部输入),并输入所有信息,点击“修改信息”按钮(如果数据库中不存在此学号,则弹出对话框“无此学生信息”),若有则修改。 是删除信息界面。输入要删除的学生的学号,点击“删除信息”按钮,弹出确认删除对话框,即可删除该生信息。 是查询信息界面。输入要查询的学生学号,点击“信息查询”按钮,在相应的文本区里显示查询的信息。 H:源代码 ; import .*; etScreenSize(); Dimension frameSize=(); if> { =; } if> { =; } ( (true); } public static void main(String[] args) { try{ ()); } catch(Exception e) { (); } new student(); } }

java学生管理系统实训报告

Java学生管理系统 实训报告 学号: 姓名: 班级: 指导老师:

一、项目计划 (1)项目名称:学生信息管理系统 (2)实训地点: (3)小组成员: 二、系统总体设计 (1)需求分析 学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。 通过实际调查,要求学生信息管理系统具有以下功能: 1.界面设计美观大方,方便,快捷,操作灵活。 2.实现强大的学生个人信息,课程信息,成绩信息的查询,修改, 录入,删除管理。 3.实现强大的联系人信息及其类别的查询,录入,删除管理。 4.能够在不同的的操作系统下运行,不局限于特定的平台。 5.提供数据库备份与恢复功能。 6.提供友情平台,例如:计算机,方便对成绩的操作; (2)项目计划安排 一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。有计划、有步骤地进行软件开发,除了可以提高开发进度

外,更能明确项目组各成员之间的职责及任务。项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。(3)概要设计 概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。 (4)详细设计 概要设计是为了明确开发人员的工作步骤和工作目标。详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。(5)数据表设计 根据系统所需,可以得出需要以下数据表信息: 需要管理学生信息:学生表。 需要管理教师信息:教师表。 需要管理课程信息:课程表。 需要管理选课信息:选课表。 需要管理院系信息:院系表。 需要管理管理员信息:管理员表。

C++简单学生成绩管理系统

C++学生成绩管理系统 要求用C++语言编写学生成绩管理系统,要求能进行添加删除修改输入输出等的操作,并能使用面相对像原理对此系统进行实现。 学生成绩管理系统分析: 学生成绩管理系统分为8个模块,分别是:添加学生信息,输出学生成绩,查找学生成绩,修改学生成绩,删除学生成绩,学生成绩排序,保存数据到文件和读取文件中学生成绩的模块。 学生成绩管理系统结构:

各个子函数功能及其流程: 1.首先定义一个学生类Class Student;并定义其各个私有变量和公有函数 2.Student();构造函数,用于初始化学生类中的各个变量并记录 3.Add();函数:用于添加学生信息的函数包括学号姓名成绩等的内容 4.Output();函数:用于输出学生信息,包括学号姓名各科及总分平均成绩

5.Find();函数:用于查找学生各项信息。 6.modify();函数:用于修改学生各项信息。 7.delete();函数:用于删除学生信息。

();函数:对学生各项信息进行排序操作。 8.save()和load();函数:将学生信息保存到文件中,并在需要的时候调用该文件将 其中的学生信息显示出来

9.“=”“<<”“>>”符号的重载:在各个函数处理数据过程中对这些的调用处理 函数源代码: 此函数源代码在VisualC++环境下编译通过。具体如下: #include"" #include"" #include"" #include"" #include"" #include"" #include"" class student ame,n1)==0) { temp=stu[j]; f3=1; } } if(f3==0) cout<<"对不起,没有你要查找的学生成绩"<

学生成绩管理系统(JAVA课程设计)

Java课程设计课题:学生成绩管理系统

一、问题及功能分析 1、身份验证,和使用系统的权限设置、判定。 2、实现同学的学号、性别、成绩等信息的录入、编辑 3、提供对学号或姓名,进行成绩或所有信息的查询。 4、计算学生平均成绩,显示最高成绩学生信息 5、能实现按成绩、学号、姓名排序列出学生信息。 6、能统计学生成绩分数段的分布(60以下、60~70、70~80、80~90、90~100)情况,并输出。 7、用文件保存数据,以便反复使用。 二、概要设计 三、详细设计 学生成绩管理系统代码设计: import java.util.*;

import https://www.doczj.com/doc/a5742241.html,ng.*; import java.io.*; class Mytest { public static void main(String[] args) throws IOException { { int select; select = 1; Student stu[]= new Student[10]; StudentMis mis=new StudentMis(); Scanner sc = new Scanner(System.in); System.out.println(); System.out.println(" ---------------------------------------"); System.out.println(" * *"); System.out.println(" 欢迎进入学生成绩管理系统 "); System.out.println(" * *"); System.out.println(" ---------------------------------------"); while(true) { System.out.println( ); 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(" 6.修改学生信息;"); System.out.println(" 7.按成绩排序学生信息;"); System.out.println(" 8.学生信息库扩容;"); System.out.println(" 9.学生成绩分段输出;"); System.out.println(" 0.退出;"); System.out.println(" 请输入数字选项(0-9): "); select =sc.nextInt(); System.out.println(); //判断输入,0退出 if(select>=0 && select<=9) { switch(select) { case 1:

相关主题
文本预览
相关文档 最新文档