当前位置:文档之家› 学生信息管理系统(Java)+代码

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

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

学生信息管理系统设计

1、系统简介

本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。

管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。

2、功能设计

2.1 需求分析

本系统需要实现的功能:

(1)、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。

(2)、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。

2.2 总体设计

学生信息管理系统主要包括管理员和学生两大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。

总体结构图

2.3 模块详细设计

1、学生信息管理模块

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

学生信息管理模块结构图

2、课程信息管理模块

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

课程信息管理模块结构图

3、选课信息管理模块

选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。

选课信息管理模块结构图

4、成绩信息管理模块

成绩信息管理模块包括修改成绩、查询、显示全部等。具体的结构图如图所示。

成绩信息管理模块结构图

5、用户信息管理模块

用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。

用户信息管理模块结构图

3、数据库设计

在数据库student中共有4张数据表:s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。

4、界面库设计

1、学生信息管理系统的登录

学生信息管理系统可由管理员和学生两种身份的人使用。管理员和学生身份登录所能操作的功能有很大的区别。系统初始化一个系统管理员,登录名:admin 密码:admin 学生登录系统的登录名为学号,密码也为学号(如:10001),登录后可以修改密码。

登录界面

管理员登录系统后的界面

学生登录系统后的界面

2、实现管理员和学生操作功能的界面

管理员的登录系统后可以进行学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等功能操作,其具体界面设计如下图所示。

学生信息管理功能的界面

课程信息管理功能的界面

选课信息管理功能的界面

成绩信息管理功能的界面

用户信息管理功能的界面

学生的登录系统后可以进行学生信息查看、成绩信息查看、个人信息管理等功能操作,

其具体界面设计如下图所示。

学生信息查看功能的界面

成绩信息查看功能的界面

个人信息管理功能的界面5、程序类的设计

SimpleStudentManager 主函数类

DLFrame 登陆界面类

ManagerFrane 管理员界面类

StudentFrame 学生界面类

SM 学生信息管理的类

SAdd 用于学生信息管理中增加或修改某条记录的界面的类

SSelect 用于学生基本信息管理中查询时输入学号的界面的类

CM 课程信息管理的类

CAdd 用于课程信息管理中增加或修改某条记录的界面的类

CSelect 用于课程信息管理中查询时输入课程号的界面的类

SCM 选课信息管理的类

SCSelect 用于选课信息管理中查询时输入学号的界面的类

GM 成绩信息管理的类

GAdd 用于成绩信息管理中修改成绩的界面的类

GSelect 用于成绩信息管理中查询时输入学号的界面的类

PM 用户信息管理的类

UAdd 用于用户信息管理中修改密码的界面的类

PSelect 用于用户信息管理中查询时输入用户名的界面的类

StudentS 用于学生信息查看时输入学号的界面的类

StudentSelect 用于成绩信息查看时输入学号的界面的类

PPM 个人信息管理的类

PPSelect 用于个人信息管理查询时输入用户名的界面的类

程序类的具体代码实现见工程文件夹中的代码及注释

6、系统的使用说明及环境配置

学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:admin 密码:admin 登录系统后可以进行相应的操作。学生通过以自己的学号(如10001)作为用户名和密码登录系统后进行相应的学生权限范围内的操作。

数据库:SQL Server 2005

连接数据库的登录名:sa 密码:123

代码:

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

class CAdd extends JFrame implements ActionListener{// 用于课程信息管理中增加或修改某条记录的界面

JLabel lcno = new JLabel("课程号:");

JLabel lcname = new JLabel("课程名:");

JLabel lpcno = new JLabel("先行课程号:");

JTextField tcno = new JTextField(10);

JTextField tcname = new JTextField(10);

JTextField tpcno = new JTextField(10);

JButton btnOK = new JButton("确定");

JButton btnCancel = new JButton("取消");

JPanel p = new JPanel();

Connection con = null;

Statement stmt = null;

ResultSet rs = null;

boolean isNewsm = true;// 用于判断是否显示课程信息管理的界面

public CAdd() {// 构造方法

this.setTitle("增加");

this.setBounds(200, 200, 146, 235);

p.setLayout(new FlowLayout(FlowLayout.LEFT));

p.add(lcno);

p.add(tcno);

p.add(lcname);

p.add(tcname);

p.add(lpcno);

p.add(tpcno);

p.add(btnOK);

p.add(btnCancel);

this.add(p);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

btnOK.addActionListener(this);

btnCancel.addActionListener(this);

this.show();

}

public void connDB() { // 连接数据库

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

try {

con = DriverManager.getConnection(

"jdbc:sqlserver://localhost:1433; DatabaseName=student",

"sa", "123");

stmt = con.createStatement();

} catch (SQLException e) {

e.printStackTrace();

}

}

public void closeDB() // 关闭连接

{

try {

stmt.close();

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

public void insertst() { // 插入记录

String kch = null;

String kcm = null;

String xxkch=null;

kch = tcno.getText();

kcm = tcname.getText();

xxkch=tpcno.getText();

if (this.getTitle() == "修改") {// 如果是修改记录,先删除再增加try {

this.connDB();

int rs1 = stmt.executeUpdate("delete from c where cno='"

+ kch + "'");

} catch (SQLException e) {

e.printStackTrace();

}

}

String str = "insert into c values('" + kch + "','" + kcm + "','"

+ xxkch + "')";

this.connDB();// 连接数据库

try {

stmt.executeUpdate(str);

JOptionPane.showMessageDialog(null, this.getTitle() + "成功!",

"提示", https://www.doczj.com/doc/047100857.html,RMA TION_MESSAGE, new ImageIcon(

"menu4.gif"));

this.setVisible(false);

}

catch (SQLException e) {

JOptionPane.showMessageDialog(null, "课程号已存在!");

tcno.setText("");

}

}

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand() == "确定") {

this.insertst();

if (isNewsm) {

new CM("课程信息管理").display();

}

isNewsm = true;

}

if (e.getActionCommand() == "取消") {

this.setVisible(false);

new CM("课程信息管理").display();

}

}

}

import https://www.doczj.com/doc/047100857.html,ponent;

import java.awt.FlowLayout;

import java.awt.event.*;

import java.sql.*;

import java.util.*;

import javax.swing.*;

import javax.swing.table.TableCellRenderer;

class CM extends JFrame implements ActionListener {// 课程信息管理 JPanel p = new JPanel();

JButton btnAdd = new JButton("增加");

JButton btnDelete = new JButton("删除");

JButton btnAlter = new JButton("修改");

JButton btnSearch = new JButton("查询");

JButton btnDisplay = new JButton("显示");

JMenuBar mb = new JMenuBar();

JPanel p1 = new JPanel();;

JTable sTable;

JScrollPane scroll;

Connection con = null;

Statement stmt = null;

ResultSet rs = null;

Object[][] playerInfo;

CSelect cst;

String mkch = null;

boolean bstd = false;

CM(String title) {// 构造方法

super(title);

add("South", p);

this.add("Center", p1);

mb.add(btnAdd);

mb.add(btnDelete);

mb.add(btnAlter);

mb.add(btnSearch);

mb.add(btnDisplay);

this.connDB();// 连接数据库

this.setBounds(200, 200, 400, 260);

btnAdd.addActionListener(this);

btnDelete.addActionListener(this);

btnAlter.addActionListener(this);

btnSearch.addActionListener(this);

btnDisplay.addActionListener(this);

this.setJMenuBar(mb);

// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setResizable(false);

show();

}

CM(CSelect cst, String title) {// 构造方法

super(title);

this.cst = cst;

bstd = true;

add("South", p);

this.add("Center", p1);

mb.add(btnAdd);

mb.add(btnDelete);

mb.add(btnAlter);

mb.add(btnSearch);

mb.add(btnDisplay);

this.connDB();

this.setBounds(200, 200, 400, 260);

btnAdd.addActionListener(this);

btnDelete.addActionListener(this);

btnAlter.addActionListener(this);

btnSearch.addActionListener(this);

btnDisplay.addActionListener(this);

this.setJMenuBar(mb);

// this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setResizable(false);

show();

}

public void display() {// 显示所有的课程信息

int i = 0;

int j = 0;

int k = 0;

List al = new ArrayList();

try {

rs = stmt.executeQuery("select * from c");

while (rs.next()) {// 找出表中的记录数赋给i

al.add(rs.getString("cno"));

al.add(rs.getString("cn"));

al.add(rs.getString("pcno"));

i++;

}

} catch (SQLException e) {

e.printStackTrace();

}

playerInfo = new Object[i][3];

String[] columnNames = { "课程号", "课程名", "先行课程号" };

try {

rs = stmt.executeQuery("select * from c order by cno");

while (rs.next()) {

playerInfo[j][0] = rs.getString("cno");

playerInfo[j][1] = rs.getString("cn");

playerInfo[j][2] = rs.getString("pcno");

j++;

}

} catch (SQLException e) {

e.printStackTrace();

}

sTable = new JTable(playerInfo, columnNames);// 创建网格

p1.add(sTable);

scroll = new JScrollPane(sTable);

this.add(scroll);

}

public void connDB() { // 连接数据库

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

try {

con = DriverManager.getConnection(

"jdbc:sqlserver://localhost:1433; DatabaseName=student",

"sa", "123");

stmt = con.createStatement();

} catch (SQLException e) {

e.printStackTrace();

}

}

public void closeDB() // 关闭连接

{

try {

stmt.close();

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

public void delete() {// 删除某个课程信息

String kch = null;

String kcm = null;

String xxkch = null;

int row = -1;

row = sTable.getSelectedRow();

if (row == -1) {// 判断要删除的信息是否被选中

JOptionPane.showMessageDialog(null, "请选择要删除的记录!");

} else {

if (!bstd) {// 判断选择的是不是查询后的结果

int j1 = 0;

try {

rs = stmt.executeQuery("select * from c");

while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应

kch = rs.getString("cno");

kcm = rs.getString("cn");

xxkch = rs.getString("pcno");

j1++;

}

} catch (SQLException e) {

e.printStackTrace();

}

int i1 = 0;

try {

int rs1 = stmt.executeUpdate("delete from c where cno='"

+ kch + "'");// 删除数据库中当前被选中的记录

JOptionPane.showMessageDialog(null, "记录删除成功!");

this.dispose();

new CM("课程信息管理").display();

} catch (SQLException e) {

e.printStackTrace();

}

} else {

try {

int rs1 = stmt.executeUpdate("delete from c where cno='"

+ mkch + "'");// 删除数据库中当前被选中的记录

JOptionPane.showMessageDialog(null, "记录删除成功!");

this.dispose();

new CM("课程信息管理").display();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

public void update() {// 修改某个课程记录

String kch = null;

String kcm = null;

String xxkch = null;

int row = -1;

row = sTable.getSelectedRow();

if (row == -1) {

JOptionPane.showMessageDialog(null, "请选择要修改的记录!");

} else {

int j1 = 0;

try {

if (!bstd) {// 判断选择的是不是查询后的结果

rs = stmt.executeQuery("select * from c");

} else {

rs = stmt.executeQuery("select * from c where cno='" + mkch

+ "'");

}

while (rs.next() && j1 <= row) {// 找出当前被选中的记录在数据库中的对应

kch = rs.getString("cno");

kcm = rs.getString("cn");

xxkch = rs.getString("pcno");

j1++;

}

} catch (SQLException e) {

e.printStackTrace();

}

CAdd cadd = new CAdd();

cadd.setTitle("修改");

cadd.tcno.setText(kch);

cadd.tcname.setText(kcm);

cadd.tpcno.setText(xxkch);

cadd.tcno.setEnabled(false);

this.dispose();

}

}

public void select() {// 显示某个查询的结果

mkch = cst.kch;

playerInfo = new Object[1][3];

String[] columnNames = { "课程号", "课程名", "先行课程号" };

try {

rs = stmt.executeQuery("select * from c where cno='" + mkch + "'");

while (rs.next()) {

playerInfo[0][0] = rs.getString("cno");

playerInfo[0][1] = rs.getString("cn");

playerInfo[0][2] = rs.getString("pcno");

}

} catch (SQLException e) {

e.printStackTrace();

}

if (playerInfo[0][1] == null) {

this.dispose();

JOptionPane.showMessageDialog(null, "课程号不存在!");

new CM("课程信息管理").display();

} else {

sTable = new JTable(playerInfo, columnNames);// 创建网格

p1.add(sTable);

scroll = new JScrollPane(sTable);

this.add(scroll);

}

}

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand() == "增加") {

new CAdd();

this.dispose();

}

if (e.getActionCommand() == "删除") {

this.delete();

}

if (e.getActionCommand() == "修改") {

this.update();

}

if (e.getActionCommand() == "查询") {

cst = new CSelect();

this.dispose();

}

if (e.getActionCommand() == "显示") {

this.dispose();

new CM("课程信息管理").display();

}

}

}

import java.awt.event.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.*;

public class CSelect extends JFrame implements ActionListener {// 用于课程信息管理中查询时输入课程号的界面

JLabel ltitle = new JLabel("课程号:");

JTextField tcno = new JTextField(8);

JButton btnOK = new JButton("确定");

JPanel p = new JPanel();

String kch = null;

public CSelect() { // 构造方法

p.add(ltitle);

p.add(tcno);

p.add(btnOK);

add(p);

this.setBounds(300, 280, 200, 160);

btnOK.addActionListener(this);

this.setResizable(false);

this.show();

}

public void actionPerformed(ActionEvent e) {

kch = tcno.getText();// 取得当前输入课程号的值

if (kch.equals("")) {// 判断是否输入了课程号

JOptionPane.showMessageDialog(null, "课程号不能为空,请重新输入!");

} else {

this.dispose();

new CM(this, "课程信息管理").select();

}

}

}

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

class DLFrame extends JFrame implements ActionListener, ItemListener {// 登录界面 JPanel p1 = null;

JPanel p2 = null;

JPanel p3 = null;

JLabel userName = new JLabel("用户:");

JTextField txtUser = new JTextField();

JLabel password = new JLabel("密码:");

JPasswordField txtPwd = new JPasswordField(6);

JLabel role = new JLabel("角色:");

JComboBox cbrole = new JComboBox();

JButton btnLogin = new JButton("登录");

JButton btncz = new JButton("重置");

JButton btnCancel = new JButton("取消");

JLabel imageLabel;

Icon image;

static int OK = 1;

static int CANCEL = 0;

int actionCode = 0;

Connection con = null;

Statement stmt = null;

ResultSet rs = null;

int qxian = 0;

public DLFrame() {// 构造方法

super("登录界面");

p1 = new JPanel();

p2 = new JPanel();

p3 = new JPanel();

cbrole.addItem("管理员");

cbrole.addItem("学生");

image = new ImageIcon("picture\\st.jpg");

imageLabel = new JLabel(image);

p1.add(imageLabel);

this.setLayout(new FlowLayout());

this.setBounds(100, 100, 246, 345);

p2.setLayout(new GridLayout(4, 2));

p2.add(userName);

p2.add(txtUser);

p2.add(password);

p2.add(txtPwd);

p2.add(role);

p2.add(cbrole);

p3.add(btnLogin);

p3.add(btncz);

p3.add(btnCancel);

this.add(p1);

this.add(p2);

this.add(p3);

this.setResizable(false);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.show();

btnLogin.addActionListener(this);

cbrole.addItemListener(this);

btncz.addActionListener(this);

btnCancel.addActionListener(this);

}

public void connDB() { // 连接数据库

try {

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");

} catch (ClassNotFoundException e) {

学生信息管理系统(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

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

XX学院计算机科学与技术系 实验报告 课程名称程序设计基础实验(2) 实验项目应用系统的面向对象设计与分析实验类型综合性实验 完成人 所在班级 指导教师 完成日期2009年11月 30日

实验报告正文 一.实验报告简表 实验课题名称学籍管理系统 综合性实验项目应用系统的面向对象设计与分析 服务课程程序设计基础实验(2) 实验小组组长 指导教师 参与实验人员及其在实验课题中承担的主要任务(包括组长) 学号小组成员姓名班级在实验课题中的主要作用 二.设计内容与要求 设计内容:设计基于文件结构的学籍管理系统 设计要求: (1)录入学生基本信息的功能界面 (2)修改学生基本信息的功能界面 (3)查询学生基本信息的功能界面 (4)删除学生基本信息的功能界面

三.总体设计,包括需求分析、功能描述、设计工具与运行环境、类及类间关系描述等 a、Student.java:程序的入口。初始化主界面,使主界面位于屏幕中 间,且用户不能改变其大小。 b、MainFrame.java:程序的主界面。由菜单、登陆界面和操作选项所 构成。其中菜单的“文件”中各操作项必须在登陆后方可选择, 输入用户名和密码点击“进入”,提示登陆成功之后(用户名和密 码在数据库的Admin表中,如果用户填的密码或用户名错误或没 填都会产生相应的警告框),登陆界面消失,出现“添加信息”、“修 改信息”、“信息查询”和“删除信息”四个按钮,且菜单中的操 作项也被激活。点击要操作的按钮或菜单项,进入要操作的界面 (窗口出现在屏幕左上角)。 c、AddInf.java:添加信息界面。按照要求添入基本信息,如果用户 填错或没填,提示错误信息(如不能添加已经注册的学号)。填写 完整后,点击“增加”按钮,将信息加入数据库的BaseInf表中。 d、ChangeInf.java:修改信息界面。按照提示输入要修改信息的学生 学号,点击“下一步”(如果数据库无此学号,则提示“无此对应 信息”),从数据库中将该学生的完整信息读出,用户修改之后点 击“修改”即可。注意:为了防止意外,修改学生信息时,程序 禁止了对学号的修改。(为了程序设计方便和代码重用,修改信息 的代码是先删此该生所有信息,再将修改后的信息全部添加到数 据库,这也是数据库修改的原理) e、SeachInf.java:查询信息界面。输入要查询的学生的学号或姓名 (也可两项都填写),点击“查询”,将提示“查无对应信息”或 将查询到的学生完整信息显示出来,如果有多条对应信息,“下一 条”按钮可选,单击之后可查看下一满足条件的信息,查找准确 的学生信息。 f、DelInf.java:删除信息界面。输入要删除信息的学生的学号,单 击“下一步”,程序给出该生的完整信息,点击“删除”,提示是 否确定删除对话框,仔细查看信息确认无误后,单击“确定”完 成删除,否则单击“取消”。 四.详细设计,包括类图及代码等 Student.java: import javax.swing.UIManager;

基于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): 程序代码

C语言学籍管理系统(内含源代码)..

学籍管理系统 一、系统简介 设计一个基于结构体数组的学生学籍管理系统,能实现对学生学籍信息进行录入,修改,删除,查询和输出等基本操作。 二、需求分析 学籍管理系统应该实现以下功能: 1、能录入学生的基本信息,包括学号,姓名,专业,年级,性别和出生日期信息,保存到结构体数组中。 2、能根据输入的学号查询学生,进行信息的修改。 3、能根据输入的学号从结构体数组中删除学生的记录。 4、实现查询功能,能根据输入的学号或年级在屏幕上显示相应的学生信息。

5、能在屏幕上以列表的方式输出所有学生的信息。 三、概要设计 1、系统功能 根据项目的开发要求,本系统划分成六个主要功能模块:录入学生信息模块、修改学生信息模块、删除学生信息模块、查询学生信息模块、输出模块和推出模块。系统功能机构图如下: 学生档案管理系统 输出学生信息 查询学生信息系 退出系统 删除学生信息 修改学生信息 录入学生信息 按学号查询 按班级 查询

2、重要数据的数据结构设计 学生学籍的记录项用结构体Stu message表示,包括6个属性,stuno,name、spec、grade、sex、birthday分别代表学生的学号、专业、年级、性别和出生日期,其中birthday类型为自定义的结构体类型Date. Struct stumessage { Char stuno[11]: //学号 Char name[9]: //姓名 Char spec[2]: //专业 Char grade: //年级 Char sex://性别 Stuct date birthday: //出生日期 }; 日期类型date包括三个属性,分别代表年、月、日。Struct date {int year : //年 Int month: //月 Int day: //日 }; 3、函数设计

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

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

学生学籍管理系统(含j a v a 源代码) -标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

学生学籍管理详细设计 学号:____________ 姓名:____________ 班级:____________ 一、设计题目: 学生学籍管理 二:设计内容: 设计GUI学生学籍管理界面,用户可以加入学生信息,并对基本信息进行修改,添加,查询,删除。 三:设计要求: 进行简单的学生信息管理。 四:总体设计 (1)登陆界面的设计 (2)主窗体的设计 (3)添加学生信息窗体 (4)查询学生信息窗体

(5)修改学生信息窗体 (6)删除学生信息窗体 (7)事件响应的处理 五:具体设计 (1)程序结构的说明: A.入口程序:student.java; B.登陆界面程序:mainframe.java; C.主窗体程序:interfac.java; D.添加信息窗口程序:tj.java; E.修改信息窗口程序:xg.java; F.查询信息窗口程序:cx.java; G.删除信息窗口程序:sc.java; H.程序数据连接:DatabaseConn.java; (2)程序代码及分析说明 A.程序源代码(已提交) B.Student.java是程序的入口。使登录窗口位于窗口中间,并且不可改变窗口大小。 C.mainframe.java是程序的登陆窗体。输入用户名和密码(用户名和密码在数据库的password表中)点击“进入系统”,然后登陆界面消失;出现要操作的界面(屏幕左上角)。 D.tj.java是添加信息界面。添加基本信息后,点击“添加信息”按钮,将信息加入xinxi表中。

简单学生信息管理系统

简单学生信息管理系统-标准化文件发布号:(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):

学生学籍管理信息系统

学生学籍管理信息系统集团档案编码:[YTTR-YTPT28-YTNTL98-UYTYNN08]

学生学籍管理信息Array系统 专业班级:ZB信管162 姓名:张彦龙 学号: 2017年12月

一、系统需求分析 (一)功能需求 学生信息管理系统是具有统计,管理学生和老师各种在校相关信息,方便学校对于学生信息的统一管理的系统。学生管理系统是从学生管理现状出发,根据学生管理的新要求进行开发设计的,为了解决学生管理数据信息量大,修改不方便,对一系列数据进行分析时花费时间长等问题,帮助学生管理人员有效管理学生信息。 面向的用户有:学校的系统人员、管理人员、教师、学生。 1.管理员对功能的需求 管理员权限最大,可以对学生的所以情况进行统一的管理,细分如下: (1)超级管理员可增加,修改,删除普通管理员 (2)学生信息的浏览,添加修改和删除 (3)学校基本课程的浏览添加修改和删除 (4)学生课程的浏览与统计,可按成绩范围对成绩进行统计 (5)学生选课信息的管理,包括查询,修改与删除 2.学生对功能的需求 学生利用此系统进行与自己有关的信息查询与输入,细分如下: (1)浏览个人基本信息,修改登录密码,浏览课程信息 (2)浏览在校期间的奖惩情况浏览个人学分信息 (3)利用个人账户进行查询选修课程基本信息与选修课程的选择和退出 (4)浏览个人选课情况 3.教师对功能的需求 教师对所带班级学生的信息查询与修改,细分如下: (1)教师可利用此系统查询班级成员的基本信息 (2)教师可查询班级成员在校期间的奖惩 (3)查询、录入与修改班级成员的成绩信息选课情况

(二)功能要求 1.功能划分和描述 数据查询、数据插入、数据删除、编辑、修改等其相应的功能。 模块名称:学籍管理? 输入数据流:学籍控制信息?? 输出数据流:学籍返回信息 模块名称:成绩管理 输入数据流:成绩控制信息 输出数据流:成绩返回信息 2.具体功能介绍如下:? (1)注册? 实现功能:创建一条学生记录,由学生自己填写个人信息并保存,实现统一管理? (2)用户登录? 实现功能:用户注册后可直接登录,使用查询信息,选课,退课等功能? (3)修改密码? 实现功能:输入旧密码,输入两次新密码,如旧密码正确且两次新密码一致则用新密码覆盖旧密码,否则重新输入旧密码或者两次新密码不一致重新输入新密码? (4)查询个人信息? 实现功能:在此显示学生的个人信息? (5)查询成绩? 实现功能:显示入学以来所修课程的所有成绩和学分等信息? (6)选课(退课)? 实现功能:在学校规定时间内为学生提供网上选课及退课功能以及查看个人选课信息?

学生学籍管理系统(含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(); } }

简单学生信息管理系统

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

实验目的: 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的学生信息管理系统 摘要 随着科学技术的不断提高,目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个人去管理文档,就会显得费时费力。近年来随着计算机的迅速发展,计算机已经在

社会各个领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引入学校教务管理中,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。由于上述原因,所以,学生管理系统的开发也是时代的一个必经阶段 由于学校规模进一步扩大,学生人数逐年上升,学生信息的管理也变得越来越复杂。为此,切实有效的把学生信息管理系统引入学校教务管理中,对于促进学校管理制度和提高学校教学质量有着显著意义。 本系统采用B/S结构,java为开发语言,Mysql5.5为数据库来进行设计与开发。本论文,简要阐述了系统的开发背景与开发环境,对系统的构架进行分析,由此划分出各个模块,包括用户注册模块,用户登陆模块,个人信息查询模块,基本信息管理模块,成绩管理模块,更多信息管理模块,。详细介绍了系统各个模块与功能的实现原理,最后总结开发阶段与测试阶段所遇到的问题与解决方法。 关键词:信息管理系统;JAVA;数据库;查询;学生 ABSTRACT With the continuous improvement of science and technology, at present, students in educational administration management is a very important aspect, which is the core of the entire management and infrastructure. Due to further expansion of school size, year-on-year increase in the number of students, management students are becoming increasingly complex. Faced with this complex task. If we allow individuals to manage documents, things will be very time-consuming and laborious. In recent years, with the rapid development of the computer, the computer in all

简单的学生信息管理系统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/047100857.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学生信息管理系统

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

学籍信息管理系统设计源代码

#include #define N 50 #define M 200 int stumax=0,scoremax=0; FILE *fp; struct student { char num[9]; //学号 char name[20]; //姓名 int sex; //性别 int room; //宿舍号码 long int tel; //电话号码 }stu[N]; struct stuscore { char num[9]; //学号 char coursenum[10]; //课程编号 char course[15]; //课程名称 float point; //学分 int nscore; //平时成绩 int expscore; //实验成绩 int examscore; //卷面成绩 int comscore; //综合成绩 float getpoint;//实得学分 }score[M],score1[M]; void enter_stu(); void input_stu(int j); void enter_score(); void input_score(int i); void com_score(int i); void browse_stu(); void browse_score(); void search(); void search_stu(); void search_num(); void search_name(); void search_room(); void search_score();

void printf_onestu_score(char snum[]); void delete_one(); void order(); void order_course_num(); void order_course(); void order_printf(int k); /***********菜单***********/ void menu() { int w1; char n; /*变量n保存选择菜单数字,w1判断输入的数字是否在功能菜单对应数字范围内*/ system("cls"); do { puts("**************************************************************** \n\n"); puts("\t ***************** 总菜单*****************\n\n"); puts("\t*** 1.输入学生的基本信息***"); puts("\t*** 2.浏览学生的基本信息***"); puts("\t*** 3.输入学生的成绩基本信息***"); puts("\t*** 4.浏览学生的成绩基本信息***"); puts("\t*** 5.查询信息功能***"); puts("\t*** 6.删除信息功能***"); puts("\t*** 7.排序:按综合成绩或实得学分***"); puts("\t*** 8.退出***"); puts("\n\n************************************************************* ***"); printf("\n选择要进行的功能代号(1-8):[ ]\b\b"); scanf("%c",&n); if(n<'1'||n>'8') /*对选择的数字作判断*/ { w1=1; printf("\n\n??? 请输入数字1~8!\n\n"); } else { w1=0; /*选择功能*/ switch(n)

java学籍管理系统

JAVA课程设计题目: JAVA学籍管理系统 姓名:鲜松林 学号: 091101047 班级: 09级一班 日期: 2012年06月11日

目录 一、设计思路 (3) 二、具体实现 (3) 三、运行调试与分析讨论 (5) 四、设计体会与小结 (13) 五、参考文献 (13) 六、附录 (14)

一、设计思路 随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软家来管理本班级同学的学籍信息。该软件应支持添加、删除、修改、查询功能。并且查询功能分为两种情况显示查询的结果: 查询方式主要是支持学号查询,例如:输入“111”,则显示该学生的信息。 运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java语句对其进行输出,学号查询时显示在文本框中;管理员登录、管理员添加信息,系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正 二、具体实现 该系统中的信息存储在数据库中,并实现以下各功能: 管理员登录:管理员帐号admin,密码:12345,进行增删查改。 添加功能:添加数据信息,当有新同学进入是可以添加该同学的信息。通过文本框读入添加信息,连接数据库后储存数据。 精确查询:输入要查询同学的学号,显示出该同学的信息。通过文本框读入要查找的信息,用SQL语句在数据库中进行查找。 删除功能:该功能和精确查询功能在同一功能模块中实现,有于删除同学信息并更新数据库信息。 修改功能:当同学的信息改变时,用此功能更新同学信息。通过对数据库信息的更新保存最新信息。 每种功能通过一个类来实现:类分分为主类、精确查询类、修改类、添加类、增加类。主类(Info_manager)实现系统主界面以及和各功能界面的连接;精确查询类(SearchStudent)实现对数据库中数据的精确查询;修改类(MdifyStudent)实现对数据的修改更新;添加类(AddStudent)向数据库中添加新数据;删除类(DeleteStudent)实现对数据的删除。

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

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

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

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