实验选课系统代码设计与界面设计

实验选课系统代码设计与界面设计
实验选课系统代码设计与界面设计

代码设计和界面设计

1:用户主界面:

package 课程设计;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class Main extends JPanel implements ActionListener{

JFrame jf;

JLabel j1,j2,j3,j4;

JButton b1,b2,b3,b4;

public void add(Component c,GridBagConstraints gc,int x,int y,int w,int h){

gc.gridx=x;

gc.gridy=y;

gc.gridwidth=w;

gc.gridheight=h;

add(c,gc);}

public void gui(){

jf=new JFrame("登录");

jf.addWindowListener(new WindowAdapter(){

public void windoeClose(WindowEvent e){

System.exit(0); } });

jf.setVisible(true);

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = jf.getPreferredSize();

jf.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);

GridBagLayout g1=new GridBagLayout();

setLayout(g1);

jf.add(this,BorderLayout.CENTER);

GridBagConstraints gc=new GridBagConstraints();

gc.insets=new Insets(10,10,10,10);

j1=new JLabel("请您先登录");

j1.setFont(new Font("宋体",Font.BOLD,60));

j1.setForeground(Color.red);

j2=new JLabel("管理员:");

j2.setFont(new Font("宋体",Font.BOLD,30));

j2.setForeground(Color.cyan);

j3=new JLabel("老师:");

j3.setFont(new Font("宋体",Font.BOLD,30));

j3.setForeground(Color.cyan);

j4=new JLabel("学生:");

j4.setFont(new Font("宋体",Font.BOLD,30));

j4.setForeground(Color.cyan);

b1=new JButton("登录");

b2=new JButton("登录");

b3=new JButton("登录");

b4=new JButton("退出");

add(j1,gc,0,0,2,1);

add(j2,gc,0,1,1,1);

add(b1,gc,1,1,1,1);

add(j3,gc,0,2,1,1);

add(b2,gc,1,2,1,1);

add(j4,gc,0,3,1,1);

add(b3,gc,1,3,1,1);

add(b4,gc,0,5,2,1);

jf.pack();

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);}

public void actionPerformed(ActionEvent e){

if(e.getSource()==b1){new dengru().dengru();

}

if(e.getSource()==b2){

new dengru().dengru();

}

if(e.getSource()==b3){

new dengru().dengru();

}

if(e.getSource()==b4){

System.exit(0); }}

public static void main(String [] args){

new Main().gui();

}

}

2:登录界面

package 课程设计;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.applet.*;

import javax.swing.*;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import javax.swing.*;

public class dengru extends JPanel implements ActionListener {

private JLabel use,password;

private JTextField k1;//用户名输入框

private JPasswordField k2;//密码输入框

private JButton b1,b2;

JFrame ck;

public void add(Component c,GridBagConstraints gc,int x,int y,int w,int h){ gc.gridx=x;

gc.gridy=y;

gc.gridwidth=w;

gc.gridheight=h;

add(c,gc);}

public void dengru(){

ck=new JFrame();

ck=new JFrame("学生实验选课登录系统");

ck.setVisible(true);

ck.addWindowListener(new WindowAdapter(){

public void windowClose(WindowEvent e){

System.exit(0);}

});//窗口可独立关闭;

Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = ck.getPreferredSize();

ck.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);//窗口显示在屏幕中间

GridBagLayout gf=new GridBagLayout();

setLayout(gf);

ck.add(this,BorderLayout.CENTER);

GridBagConstraints gc=new GridBagConstraints();

gc.insets=new Insets(10,10,10,10);

use=new JLabel("用户名");

password=new JLabel("密码");

b1=new JButton("登录");

b2=new JButton("退出");

k1=new JTextField(12);

k2=new JPasswordField(12);

add(use,gc,0,0,1,1);

add(k1,gc,1,0,4,1);

add(password,gc,0,1,1,1);

add(k2,gc,1,1,4,1);

add(b1,gc,1,3,1,1);

add(b2,gc,2,3,1,1);

ck.pack();

b1.addActionListener(this);

b2.addActionListener(this);}

public void actionPerformed(ActionEvent e){

String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

String dbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=学生实验选课系统";

String userName="XJB";

String userPwd="123";

Connection conn=null;

try{Class.forName(driverName);

conn=DriverManager.getConnection(dbURL,userName,userPwd);

}catch(Exception e1){

e1.printStackTrace();//抛出异常,输出堆积的痕迹}

if(e.getSource()==b1){

try{ PreparedStatement pre1=conn.prepareStatement("select * from student

where sno=? and spassword=?");

pre1.setString(1, k1.getText());

pre1.setString(2, k2.getText());

ResultSet rs1=pre1.executeQuery();

if(rs1.next()){

JOptionPane.showMessageDialog(null,"登录成功");

new loginstudent().gui();

ck.dispose();

}else{

if(e.getSource()==b1){PreparedStatement

pre2=conn.prepareStatement("select * from teacher where tno=? and tpassword=?");

pre2.setString(1, k1.getText());

pre2.setString(2, k2.getText());

ResultSet rs2=pre2.executeQuery();

if(rs2.next()){

JOptionPane.showMessageDialog(null,"登录成功");

new loginteacher().gui();

ck.dispose();

}else{

if(e.getSource()==b1){PreparedStatement

pre3=conn.prepareStatement("select * from administrtor where ano=? and apassword=?");

pre3.setString(1, k1.getText());

pre3.setString(2, k2.getText());

ResultSet rs3=pre3.executeQuery();

if(rs3.next()){

JOptionPane.showMessageDialog(null,"登录成功");

new login().gui();

ck.dispose();

}else{

JOptionPane.showMessageDialog(null,"登录失败,请输入正确的用户名和密码");}}}}}}

catch(Exception e2){

e2.printStackTrace();}}

if(e.getSource()==b2){

ck.dispose();}

}

public static void main(String[]agrs){

dengru jf=new dengru();

jf.dengru();}}

3:管理员(教师)登录界面

package 课程设计;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

public class loginteacher implements ActionListener{

JFrame jf;

JButton b1,b2,b3,b4,b5;

JLabel j;

public void gui(){

jf=new JFrame("实验选课系统");

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel p1=new JPanel(new BorderLayout());//创建一个容器有五个部分组成

JPanel p2=new JPanel(new FlowLayout());//创建一个容器,一行为单位

JPanel p3=new JPanel(new FlowLayout());//创建一个容器,一行为单位

p1.setBackground(Color.GRAY);

j=new JLabel("欢迎进入学生实验选课系统");

j.setForeground(Color.red);//设置字体颜色

j.setFont(new Font("BOLD",Font.BOLD,35));//设置字体大小

p1.add(p2,"North");

p1.add(p3,"Center");

jf.setContentPane(p1);

//jf.add(p1);

b1=new JButton("查询");

b2=new JButton("添加");

b3=new JButton("删除");

b4=new JButton("更新");

b5=new JButton("退出");

p2.add(j,JLabel.CENTER);

p3.add(b1);

p3.add(b2);

p3.add(b3);

p3.add(b4);

p3.add(b5);

//jf.setSize(400,300);

jf.pack();//使所有组件都能完整显示

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

b4.addActionListener(this);

b5.addActionListener(this);

}

/*创建一个监听器*/ public void actionPerformed(ActionEvent e){ if(e.getSource()==b1){

new ChaXun().gui();

}

if(e.getSource()==b2){

new Add().gui();

}

if(e.getSource()==b3){

new delete().shanchu();

}

if(e.getSource()==b5){

System.exit(0);

}

}

/*每一个主类中必须有一个主方法*/ public static void main(String [] args){ new login().gui();}}

4:学生登录界面

package 课程设计;

import javax.swing.*;

import java.awt.event.*;

import java.awt.*;

import java.sql.Connection;

import java.sql.DriverManager;

public class loginstudent extends JPanel implements ActionListener{

JFrame jf,jf1,jf2;

JButton b1,b2,b5,b3,b4;

JLabel j,j1;

JButton b6,b7,b8;

/*定义排版时组建的参数*/

public void add(Component c,GridBagConstraints gc,int x,int y,int w,int h){

gc.gridx=x;

gc.gridy=y;

gc.gridwidth=w;

gc.gridheight=h;

add(c,gc);

}

public void gui1(){

jf1=new JFrame("学生选课");

jf1.addWindowListener(new WindowAdapter(){

public void windoeClose(WindowEvent e){

System.exit(0);

}

});

jf1.setVisible(true);

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = jf1.getPreferredSize();

jf1.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);

GridBagLayout g1=new GridBagLayout();

setLayout(g1);

jf1.add(this,BorderLayout.CENTER);

GridBagConstraints gc=new GridBagConstraints();

gc.insets=new Insets(10,10,10,10);//设置组建上下左右的间隔

b6=new JButton("选修");

b7=new JButton("浏览");

b8=new JButton("退出");

add(b6,gc,0,0,1,1);

add(b7,gc,1,0,1,1);

add(b8,gc,0,1,1,1);

jf1.pack();

b6.addActionListener(this);

b7.addActionListener(this);

b8.addActionListener(this);

}

public void gui2(){

jf2=new JFrame("选课");

jf2.addWindowListener(new WindowAdapter(){

public void windoeClose(WindowEvent e){

System.exit(0);

}

});

jf2.setVisible(true);

}

public void gui(){

jf=new JFrame("实验选课系统");

jf.setVisible(true);

jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JPanel p1=new JPanel(new BorderLayout());//创建一个容器有五个部分组成

JPanel p2=new JPanel(new FlowLayout());//创建一个容器,一行为单位

JPanel p3=new JPanel(new FlowLayout());//创建一个容器,一行为单位

p1.setBackground(Color.GRAY);

j=new JLabel("欢迎进入学生实验选课系统");

j.setForeground(Color.red);//设置字体颜色

j.setFont(new Font("BOLD",Font.BOLD,35));//设置字体大小

p1.add(p2,"North");

p1.add(p3,"Center");

jf.setContentPane(p1);

//jf.add(p1);

b1=new JButton("查询");

b2=new JButton("选课");

b5=new JButton("退出");

p2.add(j,JLabel.CENTER);

p3.add(b1);

p3.add(b2);

p3.add(b5);

//jf.setSize(400,300);

jf.pack();//使所有组件都能完整显示

b1.addActionListener(this);

b2.addActionListener(this);

b5.addActionListener(this);

}

/*创建一个监听器*/ public void actionPerformed(ActionEvent e){

String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

String dbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=学生实验选课系统";

String userName="XJB";

String userPwd="123";

Connection conn=null;

try{

Class.forName(driverName);

conn=DriverManager.getConnection(dbURL,userName,userPwd);

}catch(Exception e1){

e1.printStackTrace();//抛出异常,输出堆积的痕迹}

if(e.getSource()==b1){

new ChaXun().gui();

}

if(e.getSource()==b2){

gui1();

}

if(e.getSource()==b5){

System.exit(0);

}

}

/*每一个主类中必须有一个主方法*/ public static void main(String [] args){ new login().gui();}}

5:查询界面

package 课程设计;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import java.sql.*;

import java.sql.*;

public class ChaXun extends JPanel implements ActionListener{

JButton b1,b2,b3,b4;

JFrame jf,jf1;

JTextField t;

JLabel j1,j2,j3,j4,j5,j6;

JTextField t1,t2,t3,t4,t5,t6;

public void add(Component c,GridBagConstraints gc,int x,int y,int w,int h){ gc.gridx=x;

gc.gridy=y;

gc.gridwidth=w;

gc.gridheight=h;

add(c,gc);}

public void gui2(){

jf1=new JFrame();

jf1=new JFrame("学生实验选课查询结果");

jf1.setVisible(true);

jf1.addWindowListener(new WindowAdapter(){

public void windowClose(WindowEvent e){

System.exit(0);}

});//窗口可独立关闭;

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = jf1.getPreferredSize();

jf1.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);//窗口显示在屏幕中间

GridBagLayout gl=new GridBagLayout();

setLayout(gl);

jf1.add(this,BorderLayout.CENTER);

GridBagConstraints gc=new GridBagConstraints();

gc.insets=new Insets(10,10,10,10);//设置组建上下左右的间隔

j1=new JLabel("学号:");

j2=new JLabel("姓名:");

j3=new JLabel("性别:");

j4=new JLabel("年龄:");

j5=new JLabel("专业:");

j6=new JLabel("年级:");

t1=new JTextField(4);

t2=new JTextField(4);

t3=new JTextField(4);

t4=new JTextField(4);

t5=new JTextField(4);

t6=new JTextField(4);

b4=new JButton("退出");

add(j1,gc,0,0,1,1);

add(t1,gc,1,0,10,1);

add(j2,gc,0,1,1,1);

add(t2,gc,1,1,10,1);

add(j3,gc,0,2,1,1);

add(t3,gc,1,2,10,1);

add(j4,gc,0,3,1,1);

add(t4,gc,1,3,10,1);

add(j5,gc,0,4,1,1);

add(t5,gc,1,4,10,1);

add(j6,gc,0,5,1,1);

add(t6,gc,1,5,10,1);

add(b4,gc,2,6,2,1);

jf1.pack();//包装,使所有组件都能完整显示

b4.addActionListener(this);

}

public void gui(){

jf=new JFrame();

jf=new JFrame("学生实验选课查询");

jf.setVisible(true);

jf.addWindowListener(new WindowAdapter(){

public void windowClose(WindowEvent e){

System.exit(0);}

});//窗口可独立关闭;

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = jf.getPreferredSize();

jf.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);//窗口显示在屏幕中间

JPanel pane=new JPanel(new BorderLayout());//边框布局

JPanel p1=new JPanel(new FlowLayout());//顺序布局

JPanel p2=new JPanel(new FlowLayout());

// jf.setContentPane(pane);

jf.add(pane);

pane.add(p1,"North");

pane.add(p2,"Center");

b1=new JButton("确定");

b2=new JButton("退出");

b3=new JButton("消除");

JLabel j=new JLabel("请输入要查询的学号");

t=new JTextField(8);

p1.add(j);

p1.add(t);

p2.add(b1);

p2.add(b3);

p2.add(b2);

jf.pack();//包装,使所有组件都能完整显示

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);}

public void actionPerformed(ActionEvent e){

String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

String dbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=学生实验选课系统";

String userName="XJB";

String userPwd="123";

Connection conn=null;

try{Class.forName(driverName);

conn=DriverManager.getConnection(dbURL,userName,userPwd);

}catch(Exception e1){

e1.printStackTrace();//抛出异常,输出堆积的痕迹}

if(e.getSource()==b1){

try{

PreparedStatement pre=conn.prepareStatement("select * from student where student.sno=?");

pre.setString(1, t.getText());

ResultSet rs=pre.executeQuery();

if(rs.next()){

String sname=rs.getString("sname");

String ssex=rs.getString("ssex");

String sno=rs.getString("sno");

String sage=rs.getString("sage");

String sdept =rs.getString("sdept");

String sgrade=rs.getString("sgrade");

gui2();

t1.setText(sno);

t2.setText(sname);

t3.setText(ssex);

t4.setText(sage);

t5.setText(sdept);

t6.setText(sgrade);

jf.dispose();

}else{

JOptionPane.showMessageDialog(null,"查询失败");

}

}catch(Exception e1){

e1.printStackTrace();//抛出异常,输出堆积的痕迹}}

if(e.getSource()==b2){

jf.dispose();

//new login().gui();

}

if(e.getSource()==b3){

t.setText("");}}}

6:添加界面

package 课程设计;

import javax.swing.*;

import java.awt.event.*;

import java.sql.*;

import java.awt.*;

public class Add extends JPanel implements ActionListener{

JFrame jf;

JButton b1,b2,b3;

JLabel j1,j2,j3,j4,j5,j6,j7,j8;

JTextField t1,t2,t3,t4,t5,t6,t7,t8;

/*定义排版时组建的参数*/public void add(Component c,GridBagConstraints gc,int x,int y,int w,int h){

gc.gridx=x;

gc.gridy=y;

gc.gridwidth=w;

gc.gridheight=h;

add(c,gc);}

public void gui(){

jf=new JFrame("添加学生实验选课信息系统");

jf.addWindowListener(new WindowAdapter(){

public void windowClose(WindowEvent e){

System.exit(0);}});

jf.setVisible(true);

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = jf.getPreferredSize();

jf.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);

GridBagLayout gl=new GridBagLayout();

setLayout(gl);

jf.add(this,BorderLayout.CENTER);

GridBagConstraints gc=new GridBagConstraints();

gc.insets=new Insets(10,10,10,10);//设置组建上下左右的间隔

b1=new JButton("添加");

b2=new JButton("消除");

b3=new JButton("退出");

t1=new JTextField(10);

t2=new JTextField(10);

t3=new JTextField(10);

t4=new JTextField(10);

t5=new JTextField(10);

t6=new JTextField(10);

t7=new JTextField(10);

t8=new JTextField(10);

j1=new JLabel("学生选课信息");

j2=new JLabel("学号");

j3=new JLabel("姓名");

j4=new JLabel("性别");

j5=new JLabel("年龄");

j6=new JLabel("专业");

j7=new JLabel("年级");

j8=new JLabel("密码");

add(j1,gc,0,0,3,1);

add(j2,gc,0,1,1,1);

add(t1,gc,1,1,1,1);

add(j3,gc,0,2,1,1);

add(t2,gc,1,2,1,1);

add(j4,gc,0,3,1,1);

add(t3,gc,1,3,1,1);

add(j5,gc,0,4,1,1);

add(t4,gc,1,4,1,1);

add(j6,gc,0,5,1,1);

add(t5,gc,1,5,1,1);

add(j7,gc,0,6,1,1);

add(t6,gc,1,6,1,1);

add(j8,gc,0,7,1,1);

add(t7,gc,1,7,1,1);

add(b1,gc,0,8,1,1);

add(b2,gc,1,8,1,1);

add(b3,gc,2,8,1,1);

jf.pack();

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);

}

public void actionPerformed(ActionEvent e){

String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

String dbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=学生实验选课系统";

String userName="XJB";

String userPwd="123";

Connection conn=null;

try{

Class.forName(driverName);

conn=DriverManager.getConnection(dbURL,userName,userPwd);

}catch(Exception e1){

e1.printStackTrace();

}

if(e.getSource()==b1){

try{

String str=t2.getText().replaceAll(" ","");

//System.out.print(str.length());

PreparedStatement pre=conn.prepareStatement("insert into student values(?,?,?,?,?,?,?)");

pre.setString(1, t1.getText());

pre.setString(2, str);

pre.setString(3, t3.getText());

pre.setString(4, t3.getText());

pre.setString(5, t3.getText());

pre.setString(6, t3.getText());

pre.setString(7, t3.getText());

if(str.length()==0){

JOptionPane.showMessageDialog(null,"用户名不能为为空");

}else{

int a=pre.executeUpdate();

if(a==1){

JOptionPane.showMessageDialog(null,"添加成功");

}else{

JOptionPane.showMessageDialog(null,"添加失败"); }}

}catch(Exception e1){

JOptionPane.showMessageDialog(null,"添加失败");//弹出消息提示框}} if(e.getSource()==b2){

t1.setText("");

t2.setText("");

t3.setText("");

t4.setText("");

t5.setText("");

t6.setText("");

t7.setText("");

}

if(e.getSource()==b3){

jf.dispose();;}}}

7:删除界面

package 课程设计;

import javax.swing.*;

import java.sql.*;

import java.awt.*;

import java.awt.event.*;

public class delete extends JPanel implements ActionListener {

JFrame jf;

JLabel j1,j2;

JButton b1,b2,b3;

JTextField t1;

public void add(Component c,GridBagConstraints gc,int x,int y,int w,int h){ gc.gridx=x;

gc.gridy=y;

gc.gridwidth=w;

gc.gridwidth=h;

add(c,gc);}

public void shanchu(){

jf =new JFrame("删除学生信息系统界面");

jf.addWindowListener(new WindowAdapter(){

public void windowClose(){

System.exit(0);}});

jf.setVisible(true);

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();

Dimension frameSize = jf.getPreferredSize();

jf.setLocation((screenSize.width - frameSize.width)/2, (screenSize.height - frameSize.height)/2);//窗口显示在屏幕中间

GridBagLayout gl=new GridBagLayout();

setLayout(gl);

jf.add(this,BorderLayout.CENTER);

GridBagConstraints gc=new GridBagConstraints();

gc.insets=new Insets(10,10,10,10);//设置组建上下左右的间隔

j1=new JLabel("请输入要删除学生的学号");

j2=new JLabel("学号:");

b1=new JButton("删除");

b2=new JButton("清除");

b3=new JButton("退出");

t1=new JTextField(10);

add(j1,gc,1,0,2,1);

add(j2,gc,0,1,1,1);

add(t1,gc,1,1,10,1);

add(b1,gc,0,2,1,1);

add(b2,gc,1,2,1,1);

add(b3,gc,2,2,1,1);

jf.pack();

b1.addActionListener(this);

b2.addActionListener(this);

b3.addActionListener(this);}

public void actionPerformed(ActionEvent e){

String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

String dbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=学生实验选课系统";

String userName="XJB";

String userPwd="123";

Connection conn=null;

try{Class.forName(driverName);

conn=DriverManager.getConnection(dbURL,userName,userPwd);

}catch(Exception e1){

e1.printStackTrace();}

if(e.getSource()==b1){

try{String str=t1.getText().replaceAll(" ","");

//System.out.print(str.length());

PreparedStatement pre=conn.prepareStatement("delete form student where sno=?");

pre.setString(1, t1.getText());

if(str.length()==0){

JOptionPane.showMessageDialog(null,"学号不能为空");

}else{int a=pre.executeUpdate();

if(a==1){ JOptionPane.showMessageDialog(null,"删除成功");

}else{ JOptionPane.showMessageDialog(null,"删除失败");

}}}catch(Exception e1){JOptionPane.showMessageDialog(null,"删除失败");//弹出消息提示框}}

if(e.getSource()==b2){

t1.setText("");}

if(e.getSource()==b3){

jf.dispose();}}}

8:选课界面

package 课程设计;

import java.awt.*;

import javax.swing.*;

import java.sql.*;

import java.util.*;

import javax.swing.filechooser.*;

import java.io.*;

import java.awt.event.*;

public class AddSC extends JPanel implements ActionListener{

JTextField 课号,学号,实验名称;

JButton 录入;

public AddSC(){

try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}

catch(Exception e){System.err.println("不能设置外观: "+e);}

课号=new JTextField(12);

学号=new JTextField(12);

实验名称=new JTextField(12);

录入=new JButton("录入");

录入.addActionListener(this);

Box box1=Box.createHorizontalBox();//横放box

Box box2=Box.createHorizontalBox();

Box box3=Box.createHorizontalBox();

Box box4=Box.createHorizontalBox();

box1.add(new JLabel(" 课号:"));

box1.add(课号);

box2.add(new JLabel(" 学号:"));

box2.add(学号);

box3.add(new JLabel("实验名称:"));

box3.add(实验名称);

box4.add(录入);

Box boxH=Box.createVerticalBox();//竖放box

boxH.add(box1);

boxH.add(box2);

boxH.add(box3);

boxH.add(box4);

boxH.add(Box.createVerticalGlue());

JPanel messPanel=new JPanel();

messPanel.add(boxH);

setLayout(new BorderLayout());

add(messPanel,BorderLayout.CENTER);

validate();

}

public void actionPerformed(ActionEvent c){

String driverName="com.microsoft.jdbc.sqlserver.SQLServerDriver";

String dbURL="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=实验选课";

String userName="YJD";

String userPwd="";

Connection conn=null;

try{Class.forName(driverName);

conn=DriverManager.getConnection(dbURL,userName,userPwd);

System.out.println("success");

}catch(Exception e1){

e1.printStackTrace();}

Object obj=c.getSource();

if(obj==录入){

if(课号.getText().equals("")||学号.getText().equals("")){

JOptionPane.showMessageDialog(this,"填写课号与学号才能录入!" );} else{

ResultSet rs=null,rs1=null,rsC=null,rsS=null;

String sql,sql1,sqlS,sqlC;

sqlC="select * from C where Cno='"+课号.getText()+"'";

sqlS="select * from S where Sno='"+学号.getText()+"'";

sql1="select * from SC where Cno='"+课号.getText()+"' and Sno='"+学号.getText()+"'";

sql="insert into SC values('"+课号.getText()+"','"+学号.getText()+"','"+实验名称.getText()+"')";

try{Statement

用户界面设计实验报告(中南民族大学)

《用户界面设计》实验报告 学号: 姓名: 班级名称: 指导教师:李波 实验日期:

目录 Experiment 1: Evaluation Practices (1) Experiment 2: Design a graphic user interface (3) Experiment 3: Error Messages GUI (12) Experiment 4: Help Document (14)

Experiment 1: Evaluation Practices Use the blank provided to answer the questions. Answer the questions on a scale of 1 to 5, where 1 is a strong no, 5 is a strong yes, and 3 is neutral. If the question does not apply, use a 0.

Experiment 2: Design a graphic user interface Now, you can use the usability measurement to design a graphic user interface .First, you must select a system to finish sessions or tasks for users, so users’ requirements must be analyzed to define all functions you want to realize. Second, you must draw a graphic UI using the software tools, such as Microsoft visual studio, or Visio, or others. All functions must be appeared in this GUI include a main interface and all assistant interfaces. Finally, you must explain why and how you design these GUIs according to the usability measurement and the EIGTH GOLDEN RULES. The document format is described as follow. You can finish this work by PPT or word. 1. The system requirement The system requirement is described here. The main contents include the aims and what the users want to do. 随着信息时代的发展,计算机管理的应用越来越广泛,随着计算机的普及,就连调查问卷也慢慢的脱离了纸质化。对于一个比较大的公司而言,对其客户进行调查问卷是很有必要进行的,而由于客户的分布广,进行纸质的调查问卷不仅浪费财力,还浪费了物力,因此网上调查就避开这一缺点。因此,我设计了一个网上调查问卷系统。这个系统的用户有两类,一类是经销商,一类是经销商的客户,客户通过网上填写问卷,经销商则对客户的问卷进行回收,统计,分析,以做出相应的出售方案。 The aims 1)用户管理

选课系统的设计与实现

防灾科技学院 实习报告书 防灾科技学院灾害信息工程系 2015年制

实习所用软件简介: 系统的搭建平台选用的操作系统是Windows XP:Microsoft Windows XP是微软公司推出供个人电脑使用的操作系统,包括商用及家用的台式电脑等。2011年9月底前,Windows XP是世界上使用人数最多的操作系统,它的全球市场占有率达42%。2012年8月份,统治操作系统市场长达11年之久的Windows XP最终被Windows 7超越。 基于数据库的选课系统的数据管理所选得软件是SQL Server2008:SQL Server 2008 在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。SQL Server 2008 允许使用Microsoft .NET 和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过 Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。 基于https://www.360docs.net/doc/bf16038029.html,的选课系统开发所选的开发工具 Visual Studio 2010:Microsoft Visual Studio 2010 是微软的一个综合性的应用程序生命周期管理工具套件,可供团队用于确保从设计到部署的整个过程都能取得较高质量的结果。无论是创建新的解决方案,还是改进现有的应用程序,都能针对不断增加的平台和技术(包括云和并行计算)将梦想变成现实。 基于系统的建模选择的画图软件viso:Office Visio 2007 是一款便于IT 和商务专业人员就复杂信息、系统和流程进行可视化处理、分析和交流的软件。使用具有专业外观的 Office Visio 2007 图表,可以促进对系统和流程的了解,深入了解复杂信息并利用这些知识做出更好的业务决策。Visio帮助创建具有专业外观的图表,以便理解、记录和分析信息、数据、系统和过程。使用 Visio 时,以可视方式传递重要信息就像打开模板、将形状拖放到绘图中以及对即将完成的工作应用主题一样轻松。

学生选课系统课程设计

课程设计报告 课程名称: 学生选课系统的设计与实现 专业: 12级计算机科学与技术 姓名: 班级: 学号: 年月日 学生选课系统的设计与实现一、需求分析

1.设计背景 随着高校教学改革的不断深入,越来越多的高校都陆续采用了学分制。高校大学生们可以根据自己兴趣和爱好来自由选择自己所喜爱的课程。基于高校校园网的网上选课系统不仅克服了以往人工报送选课方式所暴露出的缺点与不足。同时极大地提高了高校教务人员工作效率,极大地方便了高校师生。网上学生选课系统在C/S的架构下采用了目前最流行的Internet的主流技术C#技术作为运行平台。学生选课系统的推出,使得全校选课的维护、学生选课及查询、成绩录入、统计等工作均变得轻松高效,形成了教与学的积极互动,减轻了系统维护的成本与工作量,方便学生及老师的使用。 学生选课系统要求可以进行课程信息的录入,课程信息的浏览,可以按学分查询。作为学生选课系统,我设计了对学生和老师的信息管理,选课系统包含的信息涉及信息多,所以这方面我额外的增加了这方面的信息管理。 2.设计目标 ●系统能够提供友爱的用户界面,使操作人员的工作量最大限度地减少; ●系统具有良好的运行效率,能够达到提高效率的目的; ●系统应有良好的可扩充性,可以容易地加入其他系统的应用; ●通过这个项目可以锻炼自己,提高自己的开发能力和项目管理能力; 3..实现功能 本设计所开发的系统用户有三类:学生用户,教师用户,管理员用户。 当学校公布可以选课了,学生就应该急时登陆选课系统进行选课。对学生来说,进行登陆选课,系统中有哪些可选的课程由管理员添加。课程重要的信息之一就是该课程的老师。当加入老师时,应该跟老师的信息相关联。当老师登陆时,可以查看自己所教的课程的报名情况,以及学生对该课的评价等等信息。学生和老师都不可能使用管理员的功能。 学生选课系统共设计4个模块,其功能介绍如下: ●登录模块:此模块实现用户的的注册和登录 ●学生模块: 1)查询信息:查询学生自己信息 2)录入选课信息 ●教师模块: 1)查询信息:查询教师自己信息 查询选课信息 ●管理员模块: 1)学生信息管理:用于管理学生信息,实现对学生信息的增加,删除,修改等功能。 2)课程信息管理:用于管理课程信息,实现对课程信息的增加,删除,修改等功能。 3)选课系统:用于学生选课,提供学号和课程号,进行选课功能。 4)教师信息管理:用于管理教师信息,实现对教师信息的查询,以及对学生信息的增加,删除,修改等功能。用户管理:用于对用户进行增加,删除,修改操作; 4.数据流图 (1)底层数据流图

实验8MATLAB图形用户界面设计实验报告

实验8 MATLAB图形用户界面设计实验报告实验报告 课程名称:MATLAB应用成绩: 实验项目名称:MATLAB图形用户界面设计实验时间:11.6 指导教师(签名): 班级:XXXXX 姓名:XXXXX 学号:XXX 实验目的: 1. 熟悉MATLAB的菜单设计方法 2. 熟悉MATLAB的主要控件使用方法 3. 熟悉MATLAB的GUI设计流程 实验环境: MATLAB 7.1 实验内容及过程: 简单计算器的设计:在MATLAB GUI的实验环境中,通过MATLAB图形用户界面设计的方法,设计一个 简单的计算器,以实现简单数据的退出、清屏、删除、四则运算等基本功能。 实验过程、结果及分析:

计算器代码: function varargout = jsq(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 第 1 页共 6 页 'gui_OpeningFcn', @jsq_OpeningFcn, ... 'gui_OutputFcn', @jsq_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

网上选课系统的设计与实现(代码)

网上选课系统的设计与实现(代码) 目录 摘要 (1) ABSTRACT (2) 第一章引言 (3) 1.1课题背景及意义 (3) 1.2开发工具的选用及介绍 (3) 1.3课题的可行性分析 (5) 第二章系统总体分析与设计 (6) 2.1设计构想 (6) 2.2界面规划 (7) 2.3数据流程规划 (8) 第三章数据库设计与实现 (9) 3.1数据库系统分析 (9) 3.2数据库逻辑设计 (11) 第四章登录界面详细设计 (14) 4.1界面设计 (14) 4.2管理员/教师/学生登录功能 (14) 4.3密码修改页面 (18) 第五章管理员详细设计 (22) 5.1界面设计 (22) 5.2设计方法 (22) 第六章测试及设计过程中的问题及解决 (27) 6.1数据库的连接 (27) 6.2参数的传递 (27) 6.3运行环境 (28) 第七章结论 (29) 致谢 (30)

参考文献 (31)

摘要 在没有学生选课系统之前,选课方法是随堂报名,这种方法虽然简单,但是造成选课的盲目性和教务处处理选课数据的繁重性,并且容易发生数据丢失和统计错误。为了减轻教务处工作量,以及更加合理的分配教学资源,对学生选课系统进行设计和开发。 本文主要针对学生选课系统管理员端,以及登录,注销,修改密码这些功能的设计和开发。针对管理员的功能,主要从管理员对教师,学生,院系,课程,以及管理员自身信息功能的添加,查看,修改,删除进行了设计和开发,实现了对教师,学生,院系,课程,以及管理员自身信息的管理功能。 学生选课系统的基本设计思想是使用B/S结构来开发,另外着重讨论了用https://www.360docs.net/doc/bf16038029.html,技术和SQL Server 2000来开发该系统,并给出了主要部分的实现代码及控件的使用,另外还对控件的优点进行讨论。系统在Windows XP系统和https://www.360docs.net/doc/bf16038029.html,平台下开发完成,使用C#作为开发语言。由于架构比较合理,系统有较高的安全性和较好的使用性能。其中连接数据库的字符串可随时在web.config里修改,增加了配置的灵活性,保证了数据库的安全。 关键词:学生选课,https://www.360docs.net/doc/bf16038029.html,,B/S结构,管理员端

学生选课系统课程设计

数据库课程设计报告 课题名称:学生选课系统 专业:计算机科学与技术 班级:计算机 姓名: 学号: 指导老师:

设计任务书 指导教师(签章): 年月日

摘要: 随着社会的进步,尤其是计算机技术与网络的发展,人们对于数据传输,远程控制的实时性要求越来越高,这就使得计算机技术的发展越来越面向网络。现代学校管理无疑成为网络应用的典型代表,学生在校期间需要进行大量课程的学习,除学校安排的基本课程之外,还要进行部分选修课的学习。为了达到选课的方便、快捷,高等学校都提供网上选课平台供学生使用。本次课程设计选做学生选课系统就是建立在面向网络的基础之上,选用Visual Studio 2008 开发工具和SQL Server2005 数据库。所开发出的系统能够方面学生选课、教师查询和管理员管理。具有较强的实时性,在面向网络的基础上可以方便在外用户进行各种操作。 关键词:面向网络;数据库;方便

目录 1 需求分析 (1) 1.1 系统目标 (1) 1.2 系统功能需求 (1) 2 数据库概念设计 (1) 2.1 系统概念模型 (1) 3 将概念模型转换为关系模型 (2) 3.1 将E-R模型转换为关系模型 (2) 3.2 数据库结构设计 (3) 3.3 实现数据完整性 (4) 4 应用程序设计 (4) 4.1 学生选课系统处理流程图 (4) 4.2 总体结构和外部结构设计 (4) 5 编程实现 (5) 5.1 Login.aspx (5) 5.2 Student.aspx (5) 5.3 Teacher.aspx (6) 5.4 guanliyuan.aspx (6) 5.5 Acourse.aspx (7) 5.6 Ateacher.aspx (7) 5.7 Astudent.aspx (7) 5.8 Password.aspx (7) 总结 (9) 致谢 (10) 参考文献 (11)

学生选课系统设计报告

大理学院数学与计算机学院《数据库系统设计》课程设计报告 班级:2012级计算机科学与技术1班 学号:201211514 姓名:刘秀珍 系统名称:学生选课系统 总分:

实验报告内容及撰写要求: 一、需求分析 程序的主要功能描述,可以用文字、框图、用例等方式。 参考《数据库系统设计任务书》附录中的内容来进行设计报告的撰写。 主要应当包含分析的过程及分析后得到的数据流图和数据字典。 二、数据库设计 2.1 数据库概念设计 实体关系模型设计,创建分ER图和总体ER图,并描述总体E-R图合并时的问题解决。 2.2数据库的逻辑设计 根据概念设计结果,创建数据库的逻辑模型,建立在具体DBMS下(SQL SERVER 2005)的表结构,并根据规范化理论对表结构进行优化调整。 同时,根据应用需求,创建数据库系统所需的外模式(视图)、模式和内模式(索引)等,此外,应当根据需求,建立数据完整性约束(实体完整性,参照完整性和用户自定义完整性)。 三、系统实现 3.1 数据库访问 1)数据访问类及实现代码 2)SQL语句 3.2 业务逻辑层类及代码 描述业务流程、数据处理功能的模块代码 3.3表示层的实现 可以用界面截图及其实现类及核心代码描述

四、总结

一、需求分析 1.1背景 全校性选修课开设的目的在于扩大学生的知识面、加强学生素质教育、培养复合型高级人才,具有不可替代的重要性。随着教育改革的不断深入和素质教育的加强,学分制的实施,选修课在一个学生的培养计划中占的比重将越来越大。 网上选课系统的出现使同学们能够更加自主、便捷、准确的进行选课。但是,由于一般高校中的学生都比较多,因此带来了诸多如信息管理等问题,鉴于需要将学生信息、选课信息等信息数字化以便于管理维护,我们便想到了利用数据库能够比较良好地解决此类问题,由此下面我将设计出一个学生选课系统以供参考。 1.2系统设计要求: 设计出一个学生选课数据库系统的简要要求如下: 1)设计要求 ①建立相应的数据库及相关的表、属性、约束、规则、默认等; ②输入相应的记录(每个表不少于20条记录); ③编写进行数据管理的存储过程。 2)系统用户由系统管理员、学生用户和教师用户三类组成。 (1)系统管理员的主要功能: ①用户管理(对教师、学生信息的管理和维护); ②课程管理(对课程信息的管理和维护); ③选课管理(实现选课功能开放和禁止、老师成绩输入开放和禁止)。

Visual FoxPro 程序设计实验报告

VF程序设计实验报告 图书馆管理系统 专业: 学号: 姓名: 指导教师: 2010年12月31日

目录 第一部分系统概述--------------------------------2 第二部分系统功能模块设计------------------------2 第三部分系统数据库及表设计----------------------2 第四部分系统菜单设计----------------------------5 第五部分系统界面设计----------------------------6 第六部分系统相关程序代码-----------------------13 第七部分实验报告小结---------------------------22 第八部分参考资料-------------------------------22

一、系统概述 近年来,随着图书馆规模的不断扩大,图书数量相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工管理户导致图书管理的混乱,人力与物力过多的浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理。因此,为了充分发挥了图书馆的功效,最大限度地为读者服务,必须制定一套合理、有效,规范和实用的图书馆管理系统,对图书资料进行集中统一的管理。 根据上述需要,我们建立本图书馆管理系统。 根据图书、读者和管理员三者之间的关系,本系统主要实现读者对图书的查询、个人信息的修改和管理员对读者、图书的管理。 本系统采用VF6.0作为开发工具。 二、系统功能模块设计 本系统可以完成一般图书馆关于图书查询、借阅及书库管理的主要功能。其中:图书查询模块可以查询所需要的图书;读者管理模块中,读者可以查看自己的信息,对登陆密码进行修改,管理员可以对读者进行添加和删除;图书管理模块中,管理员可以为读者进行图书的借阅和归还操作,以及对图书的信息进行修改,如加入新书、删除不能使用的图书和更新图书的信息;报表打印模块中,实现对需要的信息进行打印输出。系统结构下图所示。 三、数据库及表设计 经分析,图书馆管理系统主要涉及了学生、管理员和图书三部分。因此需要建立的实体就是学生、管理员和图书三个。 根据系统模块的设计,可以的到本系统需要建立的基本表为:读者信息表、

C语言课程设计---学生选课系统加源代码

C程序设计课程设计 题目:学生选课系统专业班级:通信工程1班姓名: 学号: 指导教师: 成绩:

摘要 学生选课系统是一个教育单位不可缺少的重要系统组成部分,它对于学校的决策者、管理者管理、查看课程来说都有至关重要,所以学生选课管理系统应该能够为广大学、师生提供充足的信息和快捷的课程选择过程,有助于学生选好每一门课程,此系统系统选课方便、快捷,用简单的界面来展示学生的选课信息,应用简单明了、存储量大、可靠性高、保密性好、寿命长、成本低等优点,可以极大的提高对学生信息管理的效率。利用C语言开发,实现了简单的学生课程信息的录入、修改、查询、删除等操作,并且能够利用文件系统长久的保留原始数据。

目录 一、需求分析 (1) 二、总体设计 (1) 三、详细设计 (2) 1、数据定义...................................................... 错误!未定义书签。 2、算法流程图 (2) 四、编码 (6) 五、调试 (7) 六、设计总结 (10) 致谢 (11) 参考文献 (12) 附录 (13)

一、需求分析 语言文字描述系统要做什么 数据结构可用结构体,包括课程和选修两个结构体,其中课程结构体成员结构体成员包括课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期。选修结构体成员包括学号,课程编号,该结构体的建立主要是为了查询某门课程学生选修情况。 二、总体设计 系统由哪几个功能模块构成,给出功能模块图。C 中模块化的工具是函数 根据上面的需求分析,可以将这个系统的设计分为如下七大模块: 选课模块、按学分查找模块、按编号查找模块、查看课程模块、查看选课情况模块、课程输入模块、完成选择模块。 菜单选择模块 录入学生信息 学生选课 系统信息查看及储存 退出系统 完成选择模块 学生信息 管 理 录入课程信息 课程 管理

学生选课系统(详细设计说明书)

1引言 (2) 1.1编写目的 (2) 1.2背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2程序系统的结构 (2) 3程序1 (标识符)设计说明 (3) 3.1程序描述 (12) 3.2功能 (12) 3.3性能 (12) 3.4输人项 (113) 3.5输出项 (113) 3.6 算法 (113) 3.7流程逻辑 (113) 3.8 接口 (113) 3.9存储分配 (13) 3.10注释设计 (13) 3.11限制条件 (13) 3.12测试计划 (13) 3.13尚未解决的问题 (114) 4程序2 (标识符)设计说明 (114)

详细设计说明书 1引言 1.1编写目的 为了更好的描述软件结构以及系统各组成成分之间的相互关系,因此撰写详细设计说明书。 1.2背景 a?待开发的软件系统的名称:大连交通大学学生选课系统; b ?本系统主要为方便广大学选课,避免选课高峰期选不上等问题; c.本系统的受益人为:老师、学生和系统管理人员。 1.3定义 详见概要设计说明书。 1.4参考资料 【1】张海藩,软件工程导论【M】北京:清华大学出版社2008年2月第五版 【2】王珊、萨师煊,数据库系统概论【M】北京:高等教育出版社2006年5 月第四版2程序系统的结构 该详细设计只针对学生信息管理中的信息查询和信息维护两个子功能作说明, 其程序流程图如下:

图4-2学生信息管理模块程序流程图 结束 图4-1学生信息查询模块程序流程图 Y

3程序1 (标识符)设计说明 #in clude #in clude int N1,N2,kk1,kk2,kk3; struct couse * headl; struct stude nt * head2; struct couse//课程信息结构体 { int nu ml; char name1[20]; int score; int n elepeo;//课程已选人数 int Melepeo;//课程人数上限 struct couse * n ext; }; struct stude nt//学生信息结构体 { int nu m2; char name2[20]; int nelenum[50];〃已选课程编号 int nelen;〃已选课程数量 struct stude nt * n ext; }; void Ms() { for(kk1=0;kk1<1100;kk1++) for(kk2=0;kk2<1200;kk2++) for(kk3=0;kk3<1200;kk3++); } void keyboardc()〃录入课程子函数(从键盘录入) { struct couse *p1,*p2; 2= 0; p1=p2=(struct couse*)malloc(sizeof(struct couse)); printf("课程编号\t课程名称\t学分\t课程人数上限\n"); scan f("%d%s%d%d",&p1-> num1,p1-> name1, &p1->score,&p1->Melepeo); p1- >n elepeo=0; head 仁NULL; while(p1-> nu m1!=0) { 2= N1+1; if(N1==1)head 1= p1;

网上选课系统课程设计文档

《网上选课系统》课程设计 20111 / 2012 学年第 1 学期 姓名:____黄勇、王超、陈云_____ 专业:____计算机科学与技术_____ 班级:_______0905092___________ 指导教师:周蓓、周荣、许秀兰、王剑 计算机科学与工程学院 2011

一、系统简介 (3) 1.1系统基本功能简介 (3) 1.2系统需求分析 (3) 1.2.1业务流程分析 (4) 1.2.2数据流分析 (8) 1.2.3数据字典 (11) 二、系统设计 (13) 2.1数据库设计 (13) 2.1.1概念结构设计 (13) 2.1.2逻辑结构设计 (16) 2.2系统模块设计 (22) 三、系统实现 (25) 3.1实现概况 (25) 3.2 登录模块 (26) 3.2.1程序流程图 (26) 3.2.2关键代码 (26) 3.3 排课模块 (29) 3.4选课模块 (32) 3.4.1程序流程图 (32) 3.4.2选课的存储过程 (33) 3.5其他模块简介 (34) 3.6系统界面设计 (35) 3.6.2选课主界面 (35) 结论 (38)

一、系统简介 1.1系统基本功能简介 网上选课系统是根据大学的选课的网上申请与管理而进行开发设计的是实现选课的网上申请与安排,管理。 此系统功能主要根据角色的不同而设置了不同的权限,例如管理员具管理此系统的全部权限(设置选课时间的开放时间),增删改学生,老师,管理员,发布选课信息,排课等。 学生随时都可以进入系统查看选课信息,等选课开放时间开放后能进行自主选课,取消所选课程。 教师没有时间限制,随时可以登录观看自己的上课时间,地点。 1.2系统需求分析 通过对系统需求进行分析,系统中设有三类用户:管理员,教师,学生期末管理员开放成绩输入的时候输入学生成绩。各用户的具体描述如下:(1)管理员 描述:管理员维护整个系统,包括发布选课信息,设置选课时段,选课前学生只能登录查看选课通知,不能选课;选课结束,学生不能再进行选课更改,只能查看选课信息。管理让学生所选的课程。增删改学生、老师,管理员信息。选课结束后,管理员手动进行排课,排课时数据库中有各种验证来验证排课信息的冲突,排完课后,发布排课信息,让老师,学生进行查看,设置成绩输入的开放时间。 (2)教师 描述:只能查看选课通知,排课安排,根据上课时间,地点准备教学资料,期末管理员开放成绩输入的时候输入学生成绩。 (3)学生: 描述:选课前查看选课通知,不能进行选课;等待到选课时间段后,

学生选课系统详细设计说明书

学生选课系统详细设计说明书

一、编写目的 该详细设计说明书的目的在于根据需求说明书与概要设计说明书提出该系统的详细设计,即系统的详细架 构,主要包括系统的模块划分、程序系统的结构、各个 模块的流程以及各层次中每个程序的设计考虑。 二、背景 软件系统名称:学生选课系统 软件实现计算机:LENOVO 三、管理员模块程序设计说明 ①人员管理:管理员在登录之后可以对系统内的人员(包括 学生、教师等)进行管理,包括对人员的信息进行查询、修改和删除等操作。 ②课程管理:管理员在后台添加、编辑课程的基本信息(包 括授课教师、开课时间设定),同时可以编辑系统开放选课的时间,在适当时间开启和关闭选课系统。 ③系统信息管理:管理员可对系统的基本信息进行编辑,对 系统公告进行更改或者系统标题、系统相关链接等。 ④系统权限管理:对不同的用户要分配不同的权限,管理员 可设定不同人员对不同模块的访问权限,允许或者拒绝不同用户对模块的增删查改操作。 四、教师模块程序设计说明 (1)基本信息管理:此模块主要实现两个分支功能: ①个人信息修改和密码修改。在教师用户登录状态下,实现这些功能,通过对自己的注册信息的修改满足用户的个性需求,能将注册信息及时反映个人状态,另外,密码修改则是很多网站都应具备的基本功能,能有效保护用户身份和网络安全。 ②其它基功能如学生查询,教师查询和留言查询,这三个功能都是在教师在线状态下实现的。学生查询对于教师来说非常实用,如果教师想要某个学生的基本信息,只要登录查询就可以找到目标学生,此模块目的在于让老师更方便的掌握学生的基本信息以备不时之需,用以师生交流上非常方

Java基础实验报告-图形用户界面设计

南京工程学院 实验报告 课程名称 JAVA基础 实验项目名称图形用户界面设计 实验学生班级 实验学生姓名 学号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字年月日

一、实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。 2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。 3.熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:

因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500)

C++程序设计 报告 及源代码 --学生选课系统

摘要 C语言是在国内外广泛使用的一种计算机语言。C语言简洁紧凑、灵活方便、运算符丰富、适用范围大、可移植性好。它既具有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。 本学生选课系统主要利用C语言的数组指针和文件操作能力设计开发一个小型的选课系统,至少具有如下功能:查看课程信息、查找课程信息、增加课程信息、修改课程信息、选课等功能。 本文主要对学生选课系统来进行说明。本程序主要考察对自定义函数的熟悉程度,本程序中主要使用到的是数组的相关操作,包括数组的输入、输出、查找、插入、删除等操作,需要对数组有比较深入的掌握。还包括指针、函数、结构体、文件等C语言的基础知识的运用。 关键字:源代码、指针、调用函数、流程图、结构、数组。

目录 第一章设计题目的内容、任务及具体要求 (1) 第二章总体设计思路 (2) 2.1程序功能 (2) 2.2模块关系 (2) 2.3总体框图 (3) 第三章功能模块的具体设计 (4) 3.1主函数模块的设计 (4) 3.2显示课程信息模块的设计 (7) 3.3查询模块模块的设计 (8) 3.4增加模块的设计 (9) 3.5删除模块模块的设计 (13) 3.6修改模块模块的设计 (14) 3.7选课模块的设计 (15) 3.8显示选课情况模块的设计 (17) 第四章功能模块的调试及测试 (18) 4.1登陆界面和主菜单界面的显示 (18) 4.2查询所有课程信息的显示结果 (19) 4.3查询单个课程信息的显示结果 (19) 4.4添加课程信息的显示结果 (20) 4.5删除和修改课程信息的显示结果 (20) 4.6选课的显示结果 (21) 4.7 查询选课情况的显示结果 (22) 4.8退出 (22) 总结 (23) 致谢 (24) 参考资料: (25) 附程序清单 (26)

网上选课系统总体设计说明书范文

网上选课系统总体设计说明书

1.导言 1.1目的 目的旨在推动软件的规范化,使设计人员遵循统一的概要设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性和全面性,以利于系统的实现、测试、维护、版本升级等。 1.2范围 软件设计总体结构设计、全局数据库和数据结构设计、外部接口设计、主要部件功能分配设计、部件之间的接口设计等方面的内容。 1.3命名规则 变量对象命名规则:申明全局变量、局部变量对象的命名规则。 数据库对象命名规则:申明数据库表名、字段名、索引名、视图名等对象的命名规则。 1.4术语定义 表1-1 术语定义或解释表

1.5参考资料 [1]用户需求报告 [2]软件开发合同 [3]数据库设计规范 [4]命名规范 1.6相关文档 [1]《详细设计说明书》 [2]源程序清单 [3]测试计划及报告 [4]《用户使用手册》

1.7版本更新记录 表1-2 版本更新记录 2.总体设计 2.1总体结构设计 总体结构示意图:

图2-1 总体结构示意图 2.2运行环境设计 该软件系统的运行环境: 硬件平台: 最低配置:奔腾4处理器、512内存、60G硬盘。 建议配置:奔腾双核T4400 2.2GHZ及其以上 2G内存、320G硬盘 外设的要求:键盘、鼠标、显示器。 软件平台: A:windows 98 以上的操作系统 B:Myeclipse 和 pl/sql C:Microsoft office 网络平台: 通信协议、通信带宽。 2.3子系统清单 表2-1 子系统清单

2.4功能模块清单 表2-2 功能模块清单 3.模块功能分配 3.1专用模块功能分配 3-1 专用功能模块分配 表

选课系统-课设报告

******************* 实践教学 ******************* 兰州理工大学 计算机与通信学院 2011年春季学期 C程序设计课程设计 题目:学生选课系统 专业班级:软件一班 姓名:黄锋 学号:10240506 指导教师:王连相 成绩:

摘要 学生选课系统是C语言应运的一个简单实例,它能实现选课信息的输入、删除、查找、保存等功能。该系统由七个模块组成,各模块的完成分别由指针、数组、链表等实现,最后通过主函数将各个模块加以联结组成此简单的学生选课管理系统。该系统有查找方便、可靠性高、存储量大、保密性好等优点,是一个教育单位不可缺少的部分。 关键词:C语言;学生;信息;选课

目录 一、需求分析 (1) 二、总体设计 (2) 三、详细设计 (3) 1、数据定义 (3) 2、算法流程图 (4) 四、编码 (7) 五、测试 (9) 六、设计总结 (9) 致谢 (14) 参考文献 (15)

一、需求分析 经过简单的调研分析,可以基本确定学生选课系统主要用来实现对选课信息的输入、删除、保存、查找等功能。 1·录入课程信息 教务系统对课程进行安排。 2·课程管理 用户可以查看新增课程和已删除课程。 3·录入学生信息 学生可以输入自己的基本信息。 4·学生信息管理 系统可以对学生输入的信息进行管理,同时用户也可以进行自我信息更改。5·学生选课 学生可以查询已选课程和可选课程,然后进行选课。 6·系统信息查看及及存储 用户可以查看课程信息和学生信息以及及存储自己信息。 7·退出系统 用户完成在学生成绩管理系统的一系列操作后要离开,则就需退出系统。

oracle设计实验报告材料

课程设计 课程题目:ORACLE应用系统设计设计题目:音像店信息管理系统 专业:计算机科学与技术 班级:计131 组员:李霆桑珠扎西虞洲 学号: 130761 130767 130762 日期: 2016-03-04 信息工程学院计算机科学与技术

目录 一.课程目的………………………………………………………. 二.题目要求……………………………………………………… 三.日期安排………………………………………………………. 四.组内分工……………………………………………………… 五.实验条件......................................................... ........................... 六.实验内容......................................................... ........................... (1)第一部分:Oracle管理技术……………………………………… 1.数据库管理…………………………………………………….. 2.角色和用户管理………………………………………………... 3.表和视图管理………………………………………………….. 4.索引和序列管理………………………………………………... 5.PL/SQL编程…………………………………………………… 6.使用游标、存储过程和触发器………………………………… 7.表空间管理……………………………………………………… 8.文件管理………………………………………………………… (2)第二部分:Oracle开发技术……………………………………….. ①数据库设计………………………………………………………………… ②界面设计.................................................... ③结果测试…………………………………………………………………… 七.问题及解决…………………………………………………….. 八.总结...............................................

学生选课系统代码

#include #include int N1,N2,kk1,kk2,kk3; struct couse * head1; struct student * head2; struct couse { int num1; char name1[20]; int score; int nelepeo; int Melepeo; struct couse * next; }; struct student { int num2; char name2[20]; int nelenum[50]; int nelen; struct student * next; }; void Ms() { for(kk1=0;kk1<1100;kk1++) for(kk2=0;kk2<1200;kk2++) for(kk3=0;kk3<1200;kk3++); } void keyboardc() { struct couse *p1,*p2; N1=0; p1=p2=(struct couse*)malloc(sizeof(struct couse)); printf(”课程编号\t课程名称\t学分\t课程人数上限\n"); scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo); p1->nelepeo=0; head1=NULL; while(p1->num1!=0) { N1=N1+1; if(N1==1)head1=p1; else p2->next=p1; p2=p1; p1=(struct couse * )malloc(sizeof(struct couse)); scanf("%d%s%d%d",&p1->num1,p1->name1,&p1->score,&p1->Melepeo); p1->nelepeo=0; } p2->next=NULL; } void filec() { FILE * fp;

学生选课系统课程设计报告

学生选课系统课程设计报告

《数据库原理》课程设计报告 题目:实验2学生选课系统 姓名:李子甘 班级:计科0601 学号:200640274 08年1月

一.需求分析 传统的选课方式都是手写的,教务处通知各 个班级选课,各个班长再通知同学,经过统 计在上交,这样繁琐的过程比较浪费时间。 再者选课时不知道所选课人数已满,要等到 教务处统计后才知道,然后再重新选择。网 上选课为同学节省时间的同时,也减少了不 必要的步骤,也更加方便管理员的管理。 网上选课系统为同学们提供了一个自由的 平台,学生们可以选择规定范围内的课程,查看已修课程总数,还可以修改个人信息。 同时也给老师提供了很大的方便,教师可以 根据统计的人数挑选一定数量的学生,也可 以方便的在网上公布成绩,让学生可以在网 上直接查寻成绩。 我国不少高校都实行学分制,它的核心是允 许学生自由选课,即把学生的自主权交给学 生。在这里,学生的选课制约因素比较复杂,工作量也很大,而且往往需要在较短的时间 内完成。运用计算机辅助选课,即能实时地 对大量选课数据进行检验和统计,十分方便 的输出选课结果,同时也避免了人工选课时

容易产生错误。 二.概念机构设计 根据系统功能设计的要求以及功能模块 的划分,各个系统的逻辑实现如下: 1.对于学生选课系统数据库,可以列出以下数 据项和数据结构: 学生信息:学号、学生姓名、学生的系名、学生性别、学生年龄、学生密码。2.对于教师信息维护数据库,可以列出以下数 据项和数据结构: 教师个人信息:教师编号、教师名称、教师密码。 3.对于后台管理数据库,可以列出以下数据项 和数据结构: 管理员信息:管理员名称、管理员密码。 课程信息:课程号、课程名称、课程类别、开课系。 选课信息:课程号、学生学号、成 绩。 4.数据流:学生管理员和教师分别有自己的权 限,学生可以查看全部选修必修课程,查看

Web界面设计实验报告

实验报告 课程名称:Web语言及XML程序设计实验项目:Web网页设计及XML编程专业班级: 姓名:学号: 实验室号:实验组号: 实验时间:批阅时间: 指导教师:成绩:

沈阳工业大学实验报告 题目:xx大学学生信息管理系统 于光亚负责:WEB网页界面设计 专业班级:学号:姓名: 实验名称: 附件A 沈阳工业大学web实验报告 ——xx大学学生信息管理系统 实验步骤或程序: 1.绪论:这次课程设计所制作的网站中分为五个板块,教师登陆、教师注册、学生成绩、学生信息管理、学生注册,通过这个网站,用户可以访问XX大学学生信息,及特权用那户对网页部分信息的管理。但网站有些简单,功能也不全面,功能实现有限。 2.布局介绍:网站下分为五个板块,分别为教师登陆、教师注册、学生成绩、学生信息管理、学生注册。整体结构如下

3.各页面设计: 3.1主页 预览: 功能实现:主页简单明了,突出登陆界面,网页功能及主意事项,插入图片动画增强美观,以上功能均以代码实现,均可根据要求做出调整。 3.2教师注册页: 预览:

功能实现:在主页点击教师注册,进入本页,实现简单的注册、提交功能,界面设计突出功能,实用性为主。 3.3学生注册页 预览:

功能实现:在主页点击学生注册,进入本页,罗列学生注册信息,同样实现简单的注册、提交功能,界面设计突出功能,实用性为主。 3.4学生成绩页 预览: 功能实现:通过主页登录,可进入学生成绩页面,实现通过学号、班级的输入完成学生成绩的搜索,教师用户还可对学生西成绩进行修改,本页还附带百度搜索、教师功能、学生功能等超链接,完善用户需求。 3.5学生信息管理页 预览:

相关文档
最新文档