精华内容
下载资源
问答
  • 我们在复制pdf 文档时,经常会发现只能复制为图片,对于图片上的文字只能动动自己的双手慢慢敲键盘了。很多人也试试了网上流传的方法,但大多是并不适用,反而浪费了大量的时间,搞得自己...我经常从中国知网上下载论文
    
    

    我们在复制pdf 文档时,经常会发现只能复制为图片,对于图片上的文字只能动动自己的双手慢慢敲键盘了。很多人也试试了网上流传的方法,但大多是并不适用,反而浪费了大量的时间,搞得自己是身心疲惫。如果你需要将图片型 pdf  转 word,不妨试试下面的方法。
    pdf  转 word  方法一:CAJViewer 7.0
     CAJViewer 也许是我最熟悉的软件了。哈哈!我经常从中国知网上下载论文参考的。
    下载地址:http://www.cnki.net/software/xzydq.htm
    用CAJViewer 打开pdf后,对于无法直接复制的文本,操作如下所示:


    pdf  转 word 方法二:汉王 PDF OCR(免费)
    下载地址:http://download.hw99.com/hanwang/online/ocr80/HW_PDF_OCR_80.rar (官方网站)

    用汉王 PDF OCR 打开pdf后,对于无法直接复制的文本,操作如下所示:


    详细的操作说明可以点击菜单“帮助”里的“在线帮助”。下面是工具按钮的说明。

     

    展开全文
  • 对于管理学籍的老师来说,虽然“全国中小学生学籍系统”中自带有学籍卡片建立和下载打印功能,但是,当有很多学生需要建立学籍卡片和下载时, 看似简单的操作过程,不仅需要老师进行多步操作,而且有1000个学生,...

    在这里插入图片描述
    对于管理学籍的老师来说,虽然“全国中小学生学籍系统”中自带有学籍卡片建立和下载打印功能,但是,当有很多学生需要建立学籍卡片和下载时,
    看似简单的操作过程,不仅需要老师进行多步操作,而且有1000个学生,就要重复1000次操作。
    在这里插入图片描述
    博为小帮软件机器人——全国中小学学籍卡片自动下载工具,可以代劳老师们的重复性操作,实现自动下载。
    老师只需要登陆运行小帮,选择好对应的年级和班级,点击“一键下载”,就可以自动将所有学籍卡下载到指定目录了。

    展开全文
  • Java 图形界面开发--图文并茂建立学生管理系统

    万次阅读 多人点赞 2016-03-19 19:52:28
     该程序使用的数据库为SQL server,如果不太懂怎么使用java操作SQL server数据库的可以看看我的这篇博客,希望可以到大家。 Java程序操作数据库SQLserver详解     Java程序完整代码下载地址见: ...

      (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/50932501 冷血之心的博客)

    图形用户界面(Graphics User Interface,GUI)是用户与程序交互的窗口,比命令行的界面更加直观并且更好操作。

    关注微信公众号(文强的技术小屋),学习更多技术知识,一起遨游知识海洋~

           这是本人在学习java图形界面开发阶段一步一步实现的超级简易的学生管理系统。虽然说不入大神法眼,但这确实是费了自己不少心血。对于我这样的菜鸟来说,考虑不周到,一不小心就Exception,然后就是自己调呀调。在此分享出来希望对和我一样的菜鸟有帮助。

           该程序使用的数据库为SQL server,如果不太懂怎么使用java操作SQL server数据库的可以看看我的这篇博客,希望可以帮到大家。

    Java程序操作数据库SQLserver详解  

     

    Java程序完整代码下载地址见:

    http://download.csdn.net/detail/qq_25827845/9766699

     

    步骤一:静态登录界面的实现。

    代码如下:

     

    /**
     * 功能:学生成绩管理系统
     * 步骤1、登录界面的静态实现
     * author:ywq
     */
    import java.awt.*;
    import javax.swing.*;
    public class Login extends JFrame{
    	//定义组件
    	JPanel jp1,jp2,jp3;//面板
    	JLabel jlb1,jlb2;//标签
    	JButton jb1,jb2;//按钮
    	JTextField jtf;//文本
    	JPasswordField jpf;//密码
    	public static void main(String[] args) {
    		Login win=new Login();
    	}
    	
    	//构造函数
    	public Login(){
    		//创建面板
    		jp1=new JPanel();
    		jp2=new JPanel();
    		jp3=new JPanel();
    		//创建标签
    		jlb1=new JLabel("用户名");
    		jlb2=new JLabel("密    码");
    		//创建按钮
    		jb1=new JButton("登录");
    		jb2=new JButton("重置");
    		//创建文本框
    		jtf=new JTextField(10);
    		//创建密码框
    		jpf=new JPasswordField(10);
    		
    		//设置布局管理
    		this.setLayout(new GridLayout(3, 1));//网格式布局
    		
    		//加入各个组件
    		jp1.add(jlb1);
    		jp1.add(jtf);
    		
    		jp2.add(jlb2);
    		jp2.add(jpf);
    		
    		jp3.add(jb1);
    		jp3.add(jb2);
    		
    		//加入到JFrame
    		this.add(jp1);
    		this.add(jp2);
    		this.add(jp3);
    		
    		//设置窗体
    		this.setTitle("用户登录");//窗体标签
    		this.setSize(300, 150);//窗体大小
    		this.setLocationRelativeTo(null);//在屏幕中间显示(居中显示)
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//退出关闭JFrame
    		this.setVisible(true);//显示窗体
    		
    		//锁定窗体
    		this.setResizable(false);
    	}
    }
    


    运行界面如图所示:

     

    本静态界面的实现,使用了网格布局,3行1列,在每一行中放入了一个JPanel面板,每个面板上又分别放入所需的组件,整体构成了一个静态的登录界面。

     

    步骤二:添加监听,并且进行验证用户名和密码。

     

    代码如下:

    /*
     * 功能:学生成绩管理系统
     * 步骤1:登录界面的静态实现
     * 步骤2:添加对各个组件的监听。
     * 步骤3:对用户名和密码进行验证。
     * author:ywq
     */
    package com.package_1;
    import javax.swing.*;
    
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    
    public class Login extends JFrame implements ActionListener {
    
    	//定义组件
    	JButton jb1,jb2=null;
    	JRadioButton jrb1,jrb2=null;
    	JPanel jp1,jp2,jp3,jp4=null;
    	JTextField jtf=null;
    	JLabel jlb1,jlb2,jlb3=null;
    	JPasswordField jpf=null;
    	ButtonGroup bg=null;
    		
    	//设定用户名和密码
    	final String stu_name="6";
    	final String stu_pwd="1";
    	final String tea_name="5";
    	final String tea_pwd="1";
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Login  ms=new Login();
    	}
    	public Login()
    	{
    		 //创建组件
    		jb1=new JButton("登录");
    		jb2=new JButton("重置");
    		//设置监听
    		jb1.addActionListener(this);
    		jb2.addActionListener(this);
    		
    		jrb1=new JRadioButton("教师");
    		jrb2=new JRadioButton("学生");
    		bg=new ButtonGroup();
    		bg.add(jrb1);
    		bg.add(jrb2);
    		jrb2.setSelected(true);
    		
    		jp1=new JPanel();
    		jp2=new JPanel();
    		jp3=new JPanel();
    		jp4=new JPanel();				
    		
    		jlb1=new JLabel("用户名:");
    		jlb2=new JLabel("密    码:");
    		jlb3=new JLabel("权    限:");
    		
    		jtf=new JTextField(10);
    		jpf=new JPasswordField(10);
    		//加入到JPanel中
    		jp1.add(jlb1);
    		jp1.add(jtf);
    		
    		jp2.add(jlb2);
    		jp2.add(jpf);
    		
    		jp3.add(jlb3);
    		jp3.add(jrb1);
    		jp3.add(jrb2);
    		
    		jp4.add(jb1);
    		jp4.add(jb2);
    		
    		//加入JFrame中
    		this.add(jp1);
    		this.add(jp2);
    		this.add(jp3);
    		this.add(jp4);
    		//设置布局管理器
    		this.setLayout(new GridLayout(4,1));
    		//给窗口设置标题
    		this.setTitle("学生成绩管理系统");
    		//设置窗体大小
    		this.setSize(300,200);
    		//设置窗体初始位置
    		this.setLocation(200, 150);
    		//设置当关闭窗口时,保证JVM也退出
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		//显示窗体
    		this.setVisible(true);
    		this.setResizable(true);
    		
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		
    		if(e.getActionCommand()=="登录")
    		{
    			//如果选中教师登录
    			if(jrb1.isSelected())
    			{
                      tealogin();
    			}else if(jrb2.isSelected()) //学生在登录系统
    			{
                      stulogin();
    			}
    			
    		}else if(e.getActionCommand()=="重置")
    		{
                      clear();
    		}			
    		
    	}
    	
    	 //学生登录判断方法
    	public void stulogin()
    	{
    		if(stu_name.equals(jtf.getText())&&stu_pwd.equals(jpf.getText()))
    		{
    //			System.out.println("登录成功");
    			JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    			clear();
    		}else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())
    		{
    			JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    		}else if(jtf.getText().isEmpty())
    		{
    			JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
    		}else if(jpf.getText().isEmpty())
    		{
    			JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    		}else
    		{
    			JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
    		    //清空输入框
    			clear();
    		}
    	}
    	//教师登录判断方法
    	public void tealogin()
    	{
    		if(tea_name.equals(jtf.getText())&&tea_pwd.equals(jpf.getText()))
    		{
    //			System.out.println("登录成功");
    			 JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    			 clear();
    		}else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())
    		{
    			JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    		}else if(jtf.getText().isEmpty())
    		{
    			JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
    		}else if(jpf.getText().isEmpty())
    		{
    			JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    		}else
    		{
    			JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
    		    //清空输入框
    			clear();
    		}
    	}
    	//清空文本框和密码框
    	public	void clear()
    	{
    		jtf.setText("");
    		jpf.setText("");
    	}
    		
    }

     

     

    运行界面如下所示:

    本程序加入了对各个组件的监听,首先implements  ActionListener接口,然后注册监听。在ActionPerformance方法中进行相应的处理事件。

    当点击登录按钮时,首先判断是哪个权限的用户在进行登录,分别调用taelogin()和stulogin()方法来进行验证。在验证方法中,对文本框和密码框的内容进行一个判断,分别弹出不同的提示信息。

     

     

    步骤三:

    (1)程序连接数据库来进行用户名和密码的验证!!!

    (2)验证成功后进行界面的切换!!!

    代码如下:

    /*
     * 功能:学生成绩管理系统
     * 步骤1、登录界面的静态实现
     * 步骤2:实现界面的切换
     * 步骤3:使用数据库来验证用户名和密码
     * author:ywq
     */
    package com.package_2;
    import javax.swing.*;
    
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.*;
    
    public class login extends JFrame implements ActionListener {
    
    	//定义登录界面的组件
    	JButton jb1,jb2,jb3=null;
    	JRadioButton jrb1,jrb2=null;
    	JPanel jp1,jp2,jp3,jp4=null;
    	JTextField jtf=null;
    	JLabel jlb1,jlb2,jlb3=null;
    	JPasswordField jpf=null;
    	ButtonGroup bg=null;
    		
    	//设定用户名和密码
    	static String userword;
    	static String pwd;
    	
    	static Connection ct=null;
    	PreparedStatement ps=null;
    	ResultSet rs=null;
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		login  ms=new login();
    		
    		
    		try {
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			ct=DriverManager.getConnection("jdbc:odbc:ywq");
    		} catch (Exception e) {
    			
    			e.printStackTrace();
    		}
    						
    	}
    	//构造函数
    	public login()
    	{
    		 //创建组件
    		jb1=new JButton("登录");
    		jb2=new JButton("重置");
    		jb3=new JButton("退出");
    		//设置监听
    		jb1.addActionListener(this);
    		jb2.addActionListener(this);
    		jb3.addActionListener(this);
    		//以上三个按钮的监听统一放在了actionPerformance()中
    		//监听也可以是下边这种方式
    //		jb3.addActionListener(new ActionListener()
    //		{
    //
    //			@Override
    //			public void actionPerformed(ActionEvent e) {
    //				// TODO Auto-generated method stub				
    //				System.exit(0);
    //			}
    //			
    //		});
    		
    		jrb1=new JRadioButton("教师");
    		jrb2=new JRadioButton("学生");
    		bg=new ButtonGroup();
    		bg.add(jrb1);
    		bg.add(jrb2);
    		jrb2.setSelected(true);
    		
    		jp1=new JPanel();
    		jp2=new JPanel();
    		jp3=new JPanel();
    		jp4=new JPanel();				
    		
    		jlb1=new JLabel("用户名:");
    		jlb2=new JLabel("密    码:");
    		jlb3=new JLabel("权    限:");
    		
    		jtf=new JTextField(10);
    		jpf=new JPasswordField(10);
    		//加入到JPanel中
    		jp1.add(jlb1);
    		jp1.add(jtf);
    		
    		jp2.add(jlb2);
    		jp2.add(jpf);
    		
    		jp3.add(jlb3);
    		jp3.add(jrb1);
    		jp3.add(jrb2);
    		
    		jp4.add(jb1);
    		jp4.add(jb2);
    		jp4.add(jb3);
    		
    		//加入JFrame中
    		this.add(jp1);
    		this.add(jp2);
    		this.add(jp3);
    		this.add(jp4);
    		//设置布局管理器
    		this.setLayout(new GridLayout(4,1));
    		//给窗口设置标题
    		this.setTitle("学生成绩管理系统");
    		//设置窗体大小
    		this.setSize(300,200);
    		//设置窗体初始位置
    		this.setLocation(200, 150);
    		//设置当关闭窗口时,保证JVM也退出
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		//显示窗体
    		this.setVisible(true);
    		this.setResizable(true);
    		
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    
    		if(e.getActionCommand()=="退出")
    		{
    			System.exit(0);
    		}else if(e.getActionCommand()=="登录")
    		{
    			//如果选中教师登录
    			if(jrb1.isSelected())
    			{
    				//创建火箭车
    				try {
    					ps=ct.prepareStatement("select * from info where 权限=? ");
    					//给?赋值(可防止SQL注入漏洞问题),不要直接使用拼接的方式
    					ps.setString(1, "教师");					
    					//ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
    					rs=ps.executeQuery();
    					//循环取出
    					while(rs.next()){
    						//将教师的用户名和密码取出
    						 userword=rs.getString(2);
    						 pwd=rs.getString(3);
    						System.out.println("成功获取到密码和用户名from数据库");
    						System.out.println(userword+"\t"+pwd+"\t");	
    					}
    				} catch (SQLException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    				}
    				//从数据库得到用户名和密码后调用登录方法,与输入的用户名和密码作比较
    				tealogin();
    			}else if(jrb2.isSelected()) //学生在登录系统
    			{
    				//创建火箭车
    				try {
    					ps=ct.prepareStatement("select * from info where 权限=? ");
    					//给?赋值(可防止SQL注入漏洞问题),不要直接使用拼接的方式
    					ps.setString(1, "学生");
    					//ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
    					rs=ps.executeQuery();
    					//循环取出
    					while(rs.next()){
    						//将学生的用户名和密码取出
    						 userword=rs.getString(2);
    						 pwd=rs.getString(3);
    						System.out.println("成功获取到密码和用户名from数据库");
    						System.out.println(userword+"\t"+pwd+"\t");	
    					}
    				} catch (SQLException e1) {
    					// TODO Auto-generated catch block
    					e1.printStackTrace();
    				}
    				//从数据库得到用户名和密码后调用登录方法,与输入的用户名和密码作比较
    			    stulogin();
    			}
    			
    		}else if(e.getActionCommand()=="重置")
    		{
    			clear();
    		}			
    		
    	}
    		
    	
    //清空文本框和密码框
    	public	void clear()
    		{
    			jtf.setText("");
    			jpf.setText("");
    		}
    //学生登录判断方法
    	public void stulogin()
    		{
    			if(userword.equals(jtf.getText())&&pwd.equals(jpf.getText()))
    			{
    //				System.out.println("登录成功");
    				JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    				clear();
    				//关闭当前界面
    				 dispose();
    				 //创建一个新界面
    				 UI ui=new UI();
    			}else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())
    			 {
    				JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    			 }else if(jtf.getText().isEmpty())
    			{
    				JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
    			}else if(jpf.getText().isEmpty())
    			{
    				JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    			}else
    			{
    				JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
    				 //清空输入框
    				clear();
    				}
    			}
    			
    	//教师登录判断方法
    	public void tealogin()
    		{
    			if(userword.equals(jtf.getText())&&pwd.equals(jpf.getText()))
    			{
    //				System.out.println("登录成功");
    				 JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    				 clear();	
    				//关闭当前界面
    				 dispose();
    				 //创建一个新界面,适用于教师来管理学生
    				 UI ui=new UI();					 					
    			}else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())
    			{
    				JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    			}else if(jtf.getText().isEmpty())
    			{
    				JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
    			}else if(jpf.getText().isEmpty())
    			{
    				JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    			}else
    			{
    				JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
    			    //清空输入框
    				clear();
    			}
    		}
    
    
    		
    }

    首先建立相应的数据库,如图所示:

    (注意:下边就是该数据库中表的建表语句!!!!)

    在程序中,首先是在主函数中(1)加载数据库驱动 。(2)建立连接

    此处有问题,可参考博客 http://blog.csdn.net/qq_25827845/article/details/50836362

    在进行验证时,通过建立“火箭车”将所需的SQL语句发送到数据库,并且查询得到相应的数据。利用此数据和用户输入的用户名和密码进行验证。当验证成功时,即进行界面的跳转。

     

    页面跳转关键部分:

    (1)调用dispose()方法关闭当前界面

    (2)重新new一个新界面,比如本例中的new UI();其中,UI是另一个完整的界面。

    如此实现了界面的切换。

     

    UI界面的代码如下:

    package com.package_2;
    
    import java.awt.*;
    import java.awt.event.*;
    
    import javax.swing.*;
    
    public class UI extends JFrame implements ActionListener
    {
    
    	     //定义组件
    		JButton jb1,jb2=null;
    		JPanel jp1,jp2,jp3=null;
    		JLabel jlb1,jlb2,jlb3,jlb4=null;
    		
    		public static void main(String[] args) {
    			// TODO Auto-generated method stub
    //			UI  ui=new UI();
    		}
    		
    	    //构造函数
    		public  UI()    //不能申明为void!!!!!否则弹不出新界面
    		{
    			//创建组件
    			jb1=new JButton("课程管理");
    			jb2=new JButton("成绩查询");
    			
    			jp1=new JPanel();
    			jp2=new JPanel();
    			jp3=new JPanel();
    			
    			jlb1=new JLabel("姓名");
    			jlb2=new JLabel("学号");
    			jlb3=new JLabel("最新公告:");
    			jlb4=new JLabel("我校举行六十周年校庆的通知");
    			
    			jp1.add(jlb1);
    			jp1.add(jlb2);
    			
    			jp2.add(jb1);
    			jp2.add(jlb3);
    			
    			jp3.add(jb2);
    			jp3.add(jlb4);
    			
    			
    			this.add(jp1);
    			this.add(jp2);
    			this.add(jp3);
    			
    			//设置布局管理器
    			this.setLayout(new GridLayout(3,3,50,50));
    			this.setTitle("学生成绩管理系统");
    			this.setSize(400,300);
    			this.setLocation(200, 200);		
    			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    			this.setVisible(true);
    
    }
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			// TODO Auto-generated method stub
    			
    		}
    }
    


    以上程序的执行结果如图所示:

     

     

     

     

     

    步骤4:

    (1)程序连接数据库来进行用户名和密码的验证!!!

    (2)验证成功后进行界面的切换!!!【对步骤三的代码进行一定的优化】

    代码如下:Login.java

     

    /*
     * 功能:学生成绩管理系统
     * 步骤1、登录界面的静态实现
     * 步骤2:实现界面的切换
     * 步骤3:使用数据库来验证用户名和密码
     * 步骤4:对代码进行优化。增加专门用来与数据库进行连接的类
     * author:ywq
     */
    package com.package_5;
    import javax.swing.*;
    
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.*;
    
    public class Login extends JFrame implements ActionListener {
    
    	//定义登录界面的组件
    	JButton jb1,jb2,jb3=null;
    	JRadioButton jrb1,jrb2=null;
    	JPanel jp1,jp2,jp3,jp4=null;
    	JTextField jtf=null;
    	JLabel jlb1,jlb2,jlb3=null;
    	JPasswordField jpf=null;
    	ButtonGroup bg=null;	
    	
    	//菜单项
    	JMenuBar jmb=null;	
    	JMenu jm=null;
    	JMenuItem jmi1,jmi2=null;
    	
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Login  ms=new Login();
    		
    						
    	}
    	//构造函数
    	public Login()
    	{
    		 //创建组件
    		jb1=new JButton("登录");
    		jb2=new JButton("重置");
    		jb3=new JButton("退出");
    		//设置监听
    		jb1.addActionListener(this);
    		jb2.addActionListener(this);
    		jb3.addActionListener(this);
    		
    		jmb=new JMenuBar(); //JMenuBar指菜单栏
    		jm=new JMenu("选项"); //JMenu是菜单栏中的选项栏
    		jmi1=new JMenuItem("开始"); //JMenuItem指选项栏中的选项
    		jmi2=new JMenuItem("退出系统");
    		jm.add(jmi1);
    		jm.add(jmi2);
    		jmb.add(jm);
    		
    		
    		jrb1=new JRadioButton("教师",true);
    		jrb2=new JRadioButton("学生");
    		bg=new ButtonGroup();
    		bg.add(jrb1);
    		bg.add(jrb2);
    //		jrb2.setSelected(true);
    		
    		jp1=new JPanel();
    		jp2=new JPanel();
    		jp3=new JPanel();
    		jp4=new JPanel();				
    		
    		jlb1=new JLabel("用户名:");
    		jlb2=new JLabel("密    码:");
    		jlb3=new JLabel("权    限:");
    		
    		jtf=new JTextField(10);
    		jpf=new JPasswordField(10);
    		//加入到JPanel中
    		jp1.add(jlb1);
    		jp1.add(jtf);
    		
    		jp2.add(jlb2);
    		jp2.add(jpf);
    		
    		jp3.add(jlb3);
    		jp3.add(jrb1);
    		jp3.add(jrb2);
    		
    		jp4.add(jb1);
    		jp4.add(jb2);
    		jp4.add(jb3);
    		
    		//加入JFrame中
    		this.setJMenuBar(jmb);
    		this.add(jp1);
    		this.add(jp2);
    		this.add(jp3);
    		this.add(jp4);
    		//设置布局管理器
    		this.setLayout(new GridLayout(4,1));
    		//给窗口设置标题
    		this.setTitle("学生成绩管理系统");
    		//设置窗体大小
    		this.setSize(300,250);
    		//设置窗体初始位置
    		this.setLocation(200, 150);
    		//设置当关闭窗口时,保证JVM也退出
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		//显示窗体
    		this.setVisible(true);
    		this.setResizable(true);
    		
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    
    		if(e.getActionCommand()=="退出")
    		{
    			System.exit(0);
    		}else if(e.getActionCommand()=="登录")
    		{
    			//当点击登录按钮时,首先与数据库建立连接
    			GetSQL.ConnectSQL();
    			//如果选中教师登录
    			if(jrb1.isSelected())
    			{
    				GetSQL.sqlquery("教师");
    				//从数据库得到用户名和密码后调用登录方法,与输入的用户名和密码作比较
    				this.tealogin();
    			}else if(jrb2.isSelected()) //学生在登录系统
    			{
    				GetSQL.sqlquery("学生");
    				//从数据库得到用户名和密码后调用登录方法,与输入的用户名和密码作比较
    			    this.stulogin();
    			}
    			
    		}else if(e.getActionCommand()=="重置")
    		{
    			this.clear();
    		}			
    		
    	}
    				
    		//清空文本框和密码框
    	public	void clear()
    		{
    			jtf.setText("");
    			jpf.setText("");
    		}
    		    //学生登录判断方法
    			public void stulogin()
    			{
    				if(GetSQL.userword.equals(jtf.getText())&&GetSQL.pwd.equals(jpf.getText()))
    				{
    //					System.out.println("登录成功");
    					JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    					this.clear();
    					//关闭当前界面
    					 dispose();
    					 //创建一个新界面
    					 Stu_UI ui=new Stu_UI();
    				}else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else if(jtf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else if(jpf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else
    				{
    					JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
    				    //清空输入框
    					this.clear();
    				}
    			}
    			
    			//教师登录判断方法
    			public void tealogin()
    			{
    				if(GetSQL.userword.equals(jtf.getText())&&GetSQL.pwd.equals(jpf.getText()))
    				{
    //					System.out.println("登录成功");
    					 JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    					 this.clear();	
    					//关闭当前界面
    					 dispose();
    					 //创建一个新界面,适用于教师来管理学生
    					Teacher t=new Teacher();				 					
    				}else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else if(jtf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else if(jpf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else
    				{
    					JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
    				    //清空输入框
    					this.clear();
    				}
    			}
    		
    }
    
    

     

    SQL.java 负责与数据库建立连接,包括俩方法。一个是连接数据库方法,一个是查询方法。可进一步扩展。

    package com.package_5;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    
    //写一个类,用来与数据库建立连接,并且查询数据
    class GetSQL
    {
    	//设定用户名和密码
    		static String userword;
    		static String pwd;
    		
    		static Connection ct=null;
    		static PreparedStatement ps=null;
    		static ResultSet rs=null;
    	
    	//用于连接数据库的方法,可用于子类的继承
    	public static void ConnectSQL()
    	{
    		try {
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			ct=DriverManager.getConnection("jdbc:odbc:ywq");
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}
    	//用于向数据库进行查询的方法
    	public static void sqlquery(String s)
    	{
    		//创建火箭车
    		try {			
    			ps=ct.prepareStatement("select * from info where 权限=? ");
    			//给?赋值(可防止SQL注入漏洞问题),不要直接使用拼接的方式
    			ps.setString(1, s);					
    			//ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
    			rs=ps.executeQuery();
    			//循环取出
    			while(rs.next()){
    				//将教师的用户名和密码取出
    				 userword=rs.getString(2);
    				 pwd=rs.getString(3);
    				System.out.println("成功获取到密码和用户名from数据库");
    				System.out.println(userword+"\t"+pwd+"\t");	
    			}
    		} catch (Exception e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    	}
    }

    Stu_UI.java  学生登录成功后跳转的界面

     

    package com.package_5;
    
    import java.awt.*;
    import java.awt.event.*;
    
    import javax.swing.*;
    
    public class Stu_UI extends JFrame implements ActionListener
    {
    
    	     //定义组件
    		JButton jb1,jb2=null;
    		JPanel jp1,jp2,jp3=null;
    		JLabel jlb1,jlb2,jlb3,jlb4=null;
    		
    //		public static void main(String[] args) {
    //			// TODO Auto-generated method stub
    //			Stu_UI  ui=new Stu_UI();
    //		}	
    	    //构造函数
    		public  Stu_UI()    //不能申明为void!!!!!否则弹不出新界面
    		{
    			//创建组件
    			jb1=new JButton("课程管理");
    			jb2=new JButton("成绩查询");
    			
    			jp1=new JPanel();
    			jp2=new JPanel();
    			jp3=new JPanel();
    			
    			jlb1=new JLabel("姓名");
    			jlb2=new JLabel("学号");
    			jlb3=new JLabel("最新公告:");
    			jlb4=new JLabel("我校举行六十周年校庆的通知");
    			
    			jp1.add(jlb1);
    			jp1.add(jlb2);
    			
    			jp2.add(jb1);
    			jp2.add(jlb3);
    			
    			jp3.add(jb2);
    			jp3.add(jlb4);
    			
    			
    			this.add(jp1);
    			this.add(jp2);
    			this.add(jp3);
    			
    			//设置布局管理器
    			this.setLayout(new GridLayout(3,3,50,50));
    			this.setTitle("学生成绩管理系统");
    			this.setSize(400,300);
    			this.setLocation(200, 200);		
    			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    			this.setVisible(true);
    
    }
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			// TODO Auto-generated method stub
    			
    		}
    }
    


    Teacher.java 教师登录成功后跳转的界面。

    package com.package_5;
    
    import javax.swing.*;
    
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class Teacher extends JFrame implements ActionListener{
         
    	//定义组件
    	JLabel jl2=null;
    	JTextField jtf=null;
    	JButton jb=null;
    	JPanel jp1,jp2=null;
    	JTable jtable=null;
    	
    	String name=null;
    	String num=null;
    
    	static Connection ct=null;
    	PreparedStatement ps=null;
    	ResultSet rs=null;
    	
    //	public static void main(String[] args) {
    //		// TODO Auto-generated method stub
    //		Teacher t=new Teacher();
    //		
    //		try {
    //			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    //			ct=DriverManager.getConnection("jdbc:odbc:ywq");
    //		} catch (Exception e) {
    //			
    //			e.printStackTrace();
    //		}
    //		
    //	}	
    	
    	
    	//构造函数
    	public Teacher()
    	{
    		//创建组件
    		jl2=new JLabel("请输入学号:");
    		jtf=new JTextField(10);
    		jb=new JButton("查询");
    		//设置监听
    		jb.addActionListener(this);
    		//设置表格
    		final Object[] columnNames = {"姓名","学号"};
    		Object[][] rowData = {
    				{"小明","2015110512"},
    				{"小","2015110"},
    				{"小红","2015110511"}
    		};
    		jtable=new JTable(rowData, columnNames);		
    		
    		jp1=new JPanel();
    		jp2=new JPanel();
    
    		jp1.add(jl2);
    		jp1.add(jtf);
    		jp1.add(jb);
    		jp2.add(jtable);
    		
    		this.add(jp1);
    		this.add(jp2);
    		
    		this.setLayout(new GridLayout(2,3));
    		this.setTitle("学生成绩管理系统—教师");
    		this.setSize(500,400);
    		this.setLocation(200, 200);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setVisible(true);
    		
    		
    	}
    
    
    	@Override
    	public void actionPerformed(ActionEvent e) {
    		
    		if(e.getActionCommand()=="查询")
    		{
    			//JOptionPane.showMessageDialog(null,"查询成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    			//创建火箭车
    			try {
    				ps=ct.prepareStatement("select * from info where xuehao=? ");
    				//给?赋值(可防止SQL注入漏洞问题),不要直接使用拼接的方式
    				ps.setString(1, jtf.getText());					
    				//ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
    				rs=ps.executeQuery();
    				//循环取出
    				if(rs.next())
    				{
    					 name=rs.getString(5);
    					System.out.println("查询成功from数据库");
    					System.out.println(name+"\t");	
    					JOptionPane.showMessageDialog(null,"查询成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else
    				{
    					System.out.println("查询失败");
    					JOptionPane.showMessageDialog(null,"查询失败!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}
    //				while(rs.next()){
    //					//将教师的用户名和密码取出
    					 num=rs.getString(4);
    //					 name=rs.getString(5);
    //					System.out.println("查询成功from数据库");
    //					System.out.println(name+"\t");	
    //				}
    			} catch (SQLException e1) {
    				// TODO Auto-generated catch block
    				e1.printStackTrace();
    			}
    		
    			
    		}
    		
    	}	
    }
    
    

     

    步骤5:

    优化数据库验证条件,使用不同的表来进行查询。

    教师界面增加查询功能。

     

    代码如下:Login6.java

    /*
     * 功能:学生成绩管理系统
     * 步骤1、登录界面的静态实现
     * 步骤2:实现界面的切换
     * 步骤3:使用数据库来验证用户名和密码
     * 步骤4:对代码进行优化。增加专门用来与数据库进行连接的类
     * 步骤5:优化代码,增加判断条件。
     * 步骤6:使用数据库进行查询时,优化查询方法和判断条件。数据库的表中可有多个数据。引入不同的表来查询。
     * 步骤7:教师界面实现了查询某个学生信息和某教师信息的功能。
     * author:ywq
     */
    package com.package_7;
    import javax.swing.*;
    
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.*;
    
    public class Login6 extends JFrame implements ActionListener {
    
    	//定义登录界面的组件
    	JButton jb1,jb2,jb3=null;
    	JRadioButton jrb1,jrb2=null;
    	JPanel jp1,jp2,jp3,jp4=null;
        JTextField jtf=null;
    	JLabel jlb1,jlb2,jlb3=null;
    	JPasswordField jpf=null;
    	ButtonGroup bg=null;	
    	
    	//菜单项
    	JMenuBar jmb=null;	
    	JMenu jm=null;
    	JMenuItem jmi1,jmi2=null;
    	
    	
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Login6  ms=new Login6();
    		
    						
    	}
    	//构造函数
    	public Login6()
    	{
    		 //创建组件
    		jb1=new JButton("登录");
    		jb2=new JButton("重置");
    		jb3=new JButton("退出");
    		//设置监听
    		jb1.addActionListener(this);
    		jb2.addActionListener(this);
    		jb3.addActionListener(this);
    		
    		jmb=new JMenuBar(); //JMenuBar指菜单栏
    		jm=new JMenu("选项"); //JMenu是菜单栏中的选项栏
    		jmi1=new JMenuItem("开始"); //JMenuItem指选项栏中的选项
    		jmi2=new JMenuItem("退出系统");
    		jm.add(jmi1);
    		jm.add(jmi2);
    		jmb.add(jm);
    		
    		
    		jrb1=new JRadioButton("教师",true);
    		jrb2=new JRadioButton("学生");
    		bg=new ButtonGroup();
    		bg.add(jrb1);
    		bg.add(jrb2);
    //		jrb2.setSelected(true);
    		
    		jp1=new JPanel();
    		jp2=new JPanel();
    		jp3=new JPanel();
    		jp4=new JPanel();				
    		
    		jlb1=new JLabel("用户名:");
    		jlb2=new JLabel("密    码:");
    		jlb3=new JLabel("权    限:");
    		
    		jtf=new JTextField(10);
    		jpf=new JPasswordField(10);
    		//加入到JPanel中
    		jp1.add(jlb1);
    		jp1.add(jtf);
    		
    		jp2.add(jlb2);
    		jp2.add(jpf);
    		
    		jp3.add(jlb3);
    		jp3.add(jrb1);
    		jp3.add(jrb2);
    		
    		jp4.add(jb1);
    		jp4.add(jb2);
    		jp4.add(jb3);
    		
    		//加入JFrame中
    		this.setJMenuBar(jmb);
    		this.add(jp1);
    		this.add(jp2);
    		this.add(jp3);
    		this.add(jp4);
    		//设置布局管理器
    		this.setLayout(new GridLayout(4,1));
    		//给窗口设置标题
    		this.setTitle("学生成绩管理系统");
    		//设置窗体大小
    		this.setSize(300,250);
    		//设置窗体初始位置
    		this.setLocation(200, 150);
    		//设置当关闭窗口时,保证JVM也退出
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		//显示窗体
    		this.setVisible(true);
    		this.setResizable(true);
    		
    	}
    	@Override
    	public void actionPerformed(ActionEvent e) {
    
    		if(e.getActionCommand()=="退出")
    		{
    			System.exit(0);
    		}else if(e.getActionCommand()=="登录")
    		{
    			if(!jtf.getText().isEmpty() && !jpf.getText().isEmpty())
    			{
    				//当点击登录按钮时,首先与数据库建立连接
    				GetSQL.ConnectSQL();
    				//如果选中教师登录
    				if(jrb1.isSelected())
    				{
    					GetSQL.querytea("教师",jtf.getText());
    					//首先判断是否存在该用户,即是否得到了密码
    					if(GetSQL.pwd ==null)
    					{
                             this.clear();
    					}else
    					{
    						//调用登录方法
    						this.tealogin();
    					}
    				}else if(jrb2.isSelected()) //学生在登录系统
    				{
    					GetSQL.querystu("学生",jtf.getText());
    					//首先判断是否存在该用户,即是否得到了密码
    					if(GetSQL.pwd ==null)
    					{
                             this.clear();
    					}else
    					{
    						//调用登录方法
    						this.stulogin();
    					}
    				   
    				}
    			}else if(jtf.getText().isEmpty())
    			{
    				JOptionPane.showMessageDialog(null,"请输入用户名","提示消息",JOptionPane.WARNING_MESSAGE);
    			    this.clear();
    			}else if(jpf.getText().isEmpty())	
    			{
    				JOptionPane.showMessageDialog(null,"请输入密码","提示消息",JOptionPane.WARNING_MESSAGE);
    			    this.clear();
    			}
    		}else if(e.getActionCommand()=="重置")
    		{
    			this.clear();
    		}			
    		
    	}
    				
    		//清空文本框和密码框
    	public	void clear()
    		{
    			jtf.setText("");
    			jpf.setText("");
    		}
    		    //学生登录判断方法
    			public void stulogin()
    			{
    				if(GetSQL.pwd.equals(jpf.getText()))
    				{
    //					System.out.println("登录成功");
    					JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    					this.clear();
    					//关闭当前界面
    					 dispose();
    					 //创建一个新界面
    					 Stu_UI6 ui=new Stu_UI6();
    				}else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else if(jtf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else if(jpf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else
    				{
    					JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
    				    //清空输入框
    					this.clear();
    				}
    			}
    			
    			//教师登录判断方法
    			public void tealogin()
    			{
    				if(GetSQL.pwd.equals(jpf.getText()))
    				{
    //					System.out.println("登录成功");
    					 JOptionPane.showMessageDialog(null,"登录成功!","提示消息",JOptionPane.WARNING_MESSAGE);
    					 this.clear();	
    					//关闭当前界面
    					 dispose();
    					 //创建一个新界面,适用于教师来管理学生
    					Teacher6 t=new Teacher6();				 					
    				}else if(jtf.getText().isEmpty()&&jpf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入用户名和密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else if(jtf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入用户名!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else if(jpf.getText().isEmpty())
    				{
    					JOptionPane.showMessageDialog(null,"请输入密码!","提示消息",JOptionPane.WARNING_MESSAGE);
    				}else
    				{
    					JOptionPane.showMessageDialog(null,"用户名或者密码错误!\n请重新输入","提示消息",JOptionPane.ERROR_MESSAGE);
    				    //清空输入框
    					this.clear();
    				}
    			}
    		
    }
    

    SQL.java

    /*
     * 功能:用来和数据库SQLserver进行连接,以及相应的查询方法。
     */
    package com.package_7;
    
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    import javax.swing.JOptionPane;
    
    //写一个类,用来与数据库建立连接,并且查询数据
    class GetSQL {
    	// 设定用户名和密码
    	static String userword;
    	static String pwd;
    	
    	static String english;
    	static String num;
    	static String name;
    	static String chinese;
    	static String zhengzhi;
    	static String math;
    	
    	static String age;
    	static String salary;
    	static String sex;
    	static String zhicheng;
    	static String teanum;
    	static String teaname;
    
    	static Connection ct = null;
    	static PreparedStatement ps = null;
    	static ResultSet rs = null;
    
    	// 用于连接数据库的方法,可用于子类的继承
    	public static void ConnectSQL() {
    		try {
    			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    			ct = DriverManager.getConnection("jdbc:odbc:ywq");
    			System.out.println("The SQL is connected");
    		} catch (Exception e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    
    	}
    
    	// 用于向数据库进行查询的方法
    	public static void querystu(String s,String username) {
    		// 创建火箭车
    		try {
    			ps = ct.prepareStatement("select * from info where 权限=? and 用户名=? ");
    			// 给?赋值(可防止SQL注入漏洞问题),不要直接使用拼接的方式
    			ps.setString(1, s);
    			ps.setString(2, username);
    			// ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
    			rs = ps.executeQuery();
    			// 循环取出
    			if (rs.next()) {
    				// 将教师的用户名和密码取出
    				userword = rs.getString(2);
    				pwd = rs.getString(3);
    				System.out.println("成功获取到密码和用户名from数据库");
    				System.out.println(userword + "\t" + pwd + "\t");
    			}else
    			{
    				JOptionPane.showMessageDialog(null, "没有此用户,请重新输入!", "提示消息", JOptionPane.WARNING_MESSAGE);
    			}
    		} catch (Exception e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    	}
    	//在教师表中进行查询
    	public static void querytea(String s,String name ) {
    		// 创建火箭车
    		try {
    			ps = ct.prepareStatement("select * from info_tea where 权限=? and 用户名=? ");
    			// 给?赋值(可防止SQL注入漏洞问题),不要直接使用拼接的方式
    			ps.setString(1, s);
    			ps.setString(2, name);
    			// ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
    			rs = ps.executeQuery();
    			// 循环取出
    			if (rs.next()) {
    				// 将教师的用户名和密码取出
    				userword = rs.getString(2);
    				pwd = rs.getString(3);
    				System.out.println("成功获取到密码和用户名from数据库");
    				System.out.println(userword + "\t" + pwd + "\t");
    			}else
    			{
    				JOptionPane.showMessageDialog(null, "没有此用户,请重新输入!", "提示消息", JOptionPane.WARNING_MESSAGE);
    			}
    		} catch (Exception e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    	}
    
    	//从数据库中根据学号或者教工号来查询数据,并且填入表格。
    	public static void getdatastu(String s) {
    		// 创建火箭车
    		try {
    			ps = ct.prepareStatement("select * from info where 学号 =? ");
    			// 给?赋值(可防止SQL注入漏洞问题),不要直接使用拼接的方式
    			ps.setString(1, s);
    			// ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
    			rs = ps.executeQuery();
    			if(rs.next())	
    			{
    				// 将教师的用户名和密码取出
    				num = rs.getString(4);
    				name = rs.getString(5);
    				math = rs.getString(6);
    				chinese = rs.getString(7);
    				english = rs.getString(8);
    				zhengzhi = rs.getString(9);
    			}else
    			{
    				JOptionPane.showMessageDialog(null, "沒有此学生,请重新输入", "提示消息", JOptionPane.WARNING_MESSAGE);
    			}
    	
    		} catch (Exception e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    	}
    	public static void getdatatea(String s) {
    		// 创建火箭车
    		try {
    			ps = ct.prepareStatement("select * from info_tea where 教师编号号 =? ");
    			// 给?赋值(可防止SQL注入漏洞问题),不要直接使用拼接的方式
    			ps.setString(1, s);
    			// ResultSet结果集,大家可以把ResultSet理解成返回一张表行的结果集
    			rs = ps.executeQuery();
    			if(rs.next())	
    			{
    				// 将教师的用户名和密码取出
    				teanum = rs.getString(4);
    				teaname = rs.getString(5);
    				sex = rs.getString(6);
    				salary = rs.getString(7);
    				zhicheng = rs.getString(8);
    				age = rs.getString(9);
    			}else
    			{
    				JOptionPane.showMessageDialog(null, "沒有此教师,请重新输入", "提示消息", JOptionPane.WARNING_MESSAGE);
    			}
    	
    		} catch (Exception e1) {
    			// TODO Auto-generated catch block
    			e1.printStackTrace();
    		}
    	}
    	
    }


    Stu_UI6.java

    /*
     * 功能:学生登录成功界面。
     * 
     */
    package com.package_7;
    
    import java.awt.*;
    import java.awt.event.*;
    
    import javax.swing.*;
    
    public class Stu_UI6 extends JFrame implements ActionListener
    {
    
    	     //定义组件
    		JButton jb1,jb2=null;
    		JPanel jp1,jp2,jp3=null;
    		JLabel jlb1,jlb2,jlb3,jlb4=null;
    		
    //		public static void main(String[] args) {
    //			// TODO Auto-generated method stub
    //			Stu_UI6  ui=new Stu_UI6();
    //		}	
    	    //构造函数
    		public  Stu_UI6()    //不能申明为void!!!!!否则弹不出新界面
    		{
    			//创建组件
    			jb1=new JButton("课程管理");
    			jb2=new JButton("成绩查询");
    			
    			jp1=new JPanel();
    			jp2=new JPanel();
    			jp3=new JPanel();
    			
    			jlb1=new JLabel("姓名");
    			jlb2=new JLabel("学号");
    			jlb3=new JLabel("最新公告:");
    			jlb4=new JLabel("我校举行六十周年校庆的通知");
    			
    			jp1.add(jlb1);
    			jp1.add(jlb2);
    			
    			jp2.add(jb1);
    			jp2.add(jlb3);
    			
    			jp3.add(jb2);
    			jp3.add(jlb4);
    			
    			
    			this.add(jp1);
    			this.add(jp2);
    			this.add(jp3);
    			
    			//设置布局管理器
    			this.setLayout(new GridLayout(3,3,50,50));
    			this.setTitle("学生成绩管理系统");
    			this.setSize(400,300);
    			this.setLocation(200, 200);		
    			this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    			this.setVisible(true);
    
    }
    		@Override
    		public void actionPerformed(ActionEvent e) {
    			// TODO Auto-generated method stub
    			
    		}
    }
    

    Teacher.java

     

    /*
     * 功能:实现了查询学生和老师的信息,并且显示在表格中的功能。
     */
    
    package com.package_7;
    
    import javax.swing.*;
    import javax.swing.table.DefaultTableModel;
    
    import java.awt.*;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    public class Teacher6 extends JFrame implements ActionListener {
    
    	// 定义组件
    	JLabel jl2,jl,jl3,jl4 = null;
    	JTextField jtf,jtf2 = null;
    	JButton jb,jb2 = null;
    	JPanel jp1, jp2,jp3,jp4,jp5,jp6 = null;
    
    	DefaultTableModel model,model2 = null;
    	JTable table,table2 = null;
    	JScrollPane jsp,jsp2 = null;
    
    //	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    //		Teacher6 t = new Teacher6();
    //	}
    
    	// 构造函数
    	public Teacher6() {
    		// 创建组件		
    		jl = new JLabel("请输入学号:");
    		jl2=new JLabel("请输入教工号:");	
    		
    		jl3=new JLabel("学生信息表:");
    		jl4=new JLabel("教师信息表:");
    		
    		jtf = new JTextField(10);
    		jtf2 = new JTextField(10);
    		jb = new JButton("查询1");
    		jb2 = new JButton("查询2");
    		// 设置监听
    		jb.addActionListener(this);
    		jb2.addActionListener(this);
    		// 设置表格1
    		String[] colnames = { "姓名", "学号", "数学", "语文", "英语", "政治" };
    		model = new DefaultTableModel(colnames, 3);
    		table = new JTable(model);
    		jsp = new JScrollPane(table);
    		//设置表格2
    		String[] col = { "姓名", "教工号", "性别", "工资", "职称", "年龄" };
    		model2 = new DefaultTableModel(col, 3);
    		table2 = new JTable(model2);
    		jsp2 = new JScrollPane(table2);
    		
    
    		jp1 = new JPanel();
    		jp2 = new JPanel();
    		jp3 = new JPanel();
    		jp4 = new JPanel();
    		jp5 = new JPanel();
    		jp6 = new JPanel();
    		jp5.setLayout(new BorderLayout());
    		jp6.setLayout(new BorderLayout());
    
    		jp1.add(jl);
    		jp1.add(jtf);
    		jp1.add(jb);
    		jp1.setLayout(new FlowLayout(FlowLayout.LEFT));
    		jp1.setPreferredSize(new Dimension(20,20));
    		
    		jp3.add(jl2);
    		jp3.add(jtf2);
    		jp3.add(jb2);
    		jp3.setLayout(new FlowLayout(FlowLayout.LEFT));
    
    		jp2.add(jsp);
    		jp4.add(jsp2);
    		
    		jp5.add(jl3,BorderLayout.SOUTH);
    		jp6.add(jl4,BorderLayout.SOUTH);
    
    		this.add(jp1);
    		this.add(jp5);
    		this.add(jp2);
    		this.add(jp3);
    		this.add(jp6);
    		this.add(jp4);
    		
    		this.setLayout(new GridLayout(6, 1));
    		this.setTitle("学生成绩管理系统—教师");
    		this.setSize(500, 500);
    		this.setLocation(150, 150);
    		this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    		this.setVisible(true);
    		this.setResizable(false);
    		
    
    	}
    
    	@Override
    	public void actionPerformed(ActionEvent e) {
    
    		if (e.getActionCommand().equals("查询1")  &&!jtf.getText().isEmpty()) {						
    			// 当点击查询按钮1时,首先与数据库建立连接
    			GetSQL.ConnectSQL();
    			GetSQL.getdatastu(jtf.getText());
    			jtf.setText("");
    //			System.out.println(GetSQL.english);
    //			System.out.println(GetSQL.chinese);
    			// 将数据填入表格	
    			table.setValueAt(GetSQL.name, 0, 0);
    			table.setValueAt(GetSQL.num, 0, 1);
    			table.setValueAt(GetSQL.math, 0, 2);
    			table.setValueAt(GetSQL.chinese, 0, 3);
    			table.setValueAt(GetSQL.english, 0, 4);
    			table.setValueAt(GetSQL.zhengzhi, 0, 5);				
    				
    		}else if (e.getActionCommand().equals("查询2")  &&!jtf2.getText().isEmpty())
    		{
    			// 当点击查询按钮1时,首先与数据库建立连接
    			GetSQL.ConnectSQL();
    			GetSQL.getdatatea(jtf2.getText());
    			jtf2.setText("");
    
    			// 将数据填入表格				
    			table2.setValueAt(GetSQL.teaname, 0, 0);
    			table2.setValueAt(GetSQL.teanum, 0, 1);
    			table2.setValueAt(GetSQL.sex, 0, 2);
    			table2.setValueAt(GetSQL.salary, 0, 3);
    			table2.setValueAt(GetSQL.zhicheng, 0, 4);
    			table2.setValueAt(GetSQL.age, 0, 5);
    		}else
    		{
    			JOptionPane.showMessageDialog(null , "请输入要查询的编号","提示消息",JOptionPane.WARNING_MESSAGE);
    		}
    
    	}
    }
    
    

    其中,数据库数据如图所示:

    此处是分别建立了两张表,表结构更加复杂一点,博主在当时没有保存下来,后续补了一份sql文件,需要的可以加群366533258获取sql文件。2019.01.02

     

    在前面的数据库查询中,使用了

    ps=ct.prepareStatement("select * from info where 权限=? ");

    这条语句,是依次将数据库中的权限“学生”或者"教师"的数据全部取出来,进行判断时,会产生错误。因为其将最后一个数据复制给了username和password。

     

    改进方法:

    ps = ct.prepareStatement("select * from info where 权限=? and 用户名=? "); 

    此条语句按照jtf.getText()来进行查询,如果查到此用户名则判断密码是否正确。否则将弹出“用户名不存在的提示”,较好的解决了查询问题。

    如图所示:

     

    教师登录成功界面,如图:

     

    在此系统中,可以对数据库中学生表和教师表中的信息进行查询,按照提示,可输入学号和教工号来实现。

    如图所示:

     

    说说经验之谈,在构建表格的时候,列名怎么也不出现。

    查阅资料后发现,只有将JTable加入到JScrollPane中才会显示列名。代码如下:

    // 设置表格1
            String[] colnames = { "姓名", "学号", "数学", "语文", "英语", "政治" };

            model = new DefaultTableModel(colnames, 3);

            table = new JTable(model);

            jsp = new JScrollPane(table);

    然后将JScrollPane添加进一个JPanel中,实现了表格的设置。

     

    至于点击查询按钮所进行的查询工作就和前面大同小异了。当输入的学号或者教工号不存在时,会给出一个提示。如图所示:



    总结:

    简易信息管理系统适合新手学Java图形界面开发。

    1、登录界面可以进行登录操作。有俩种权限选择。分别跳转到不同的界面。

    2、使用了事件监听、Java操作SQLserver数据库等知识。

    3、图形化界面中使用了JTable等组件,将查询结果显示在表格中。

     

    其实,在这个简单的程序中,至少我可以看出可以使用单例模式和门面模式。

    Java设计模式—门面模式(带案例分析)                    

    Java图形界面开发—简易登录注册小程序

     


     如果大家想直接使用本文中创建的模板,那么只需要将最后一步的各个Java文件copy出来即是一个完整的Java程序(当然你还需要一份数据库的建表sql文件),希望能够帮助更多正在学习图形界面开发的小伙伴~

    如果对你有帮助,记得点赞哦~欢迎大家关注我的博客,可以加群 366533258 交流讨论哈~

     

    关注微信公众号(文强的技术小屋),学习更多技术知识,一起遨游知识海洋~

     

    展开全文
  • 克服这些「学生思维」,离职场达人更进一步

    万次阅读 多人点赞 2019-11-04 07:25:00
    最近看到一些粉丝在后台留言,抱怨自己作为职场新人,特别...下面总结了我这些年面试以及辅导应届大学生以来的经验心得,希望能大家尽快熟悉职场环境,升职加薪,走上人生巅峰。记得我点赞哦。 开篇:为什...

    最近看到一些粉丝在后台留言,抱怨自己作为职场新人,特别迷茫,常常被老员工或主管批评,说他们学生气太重。

    他们问我,怎么才能去掉学生气?

    仔细一想,自己每年都会带一些大学生,也专门做过职业辅导,为了让他们成长,确实也受了不少气,有时候,也出力不讨好

    下面总结了我这些年面试以及辅导应届大学生以来的经验心得,希望能帮大家尽快熟悉职场环境,升职加薪,走上人生巅峰。记得帮我点赞哦。

    开篇:为什么会有「学生思维」?

    人是群居型动物,所有的行为习惯都是由于外部因素塑造的结果。。大学时段应该是每个人最难忘的一段美好时光,你所接触的除了学习就是吃喝玩乐。

    当你进了职场,人物关系上就发生了很大的变化:

    你面对的是不再是朝夕相处的老师、同学,而是只会在谈工作时才会在一起的同事,除了工作,大概率不会有任何联系。

    讨论的不再是学习、考研、如何把妹而只是业绩成果。

    个人需求上也发生了变化:

    在学校的目的是好好学习,找到一个好工作;而你工作的目的只有一个:为了生存,为了挣钱

    可以说,学校和职场是完全不同的生态环境,当你从一个环境进入另一个环境时,很容易自而应当地以为职场还应该像学校一样表现,以为领导同事还是吃你学校里的那一套,以为做一个乖乖仔,听话懂事爱学习就会被人人称赞。

    很抱歉,你可能很快会被淘汰,适者生存,永远是不可逾越的真理。

    下面针对一些常见的「学生思维」予以分析,看你是否中招,记得小手点赞走起来。

    一、我是来你们公司学习的

    每次在招聘时,总有很多学生特别真诚地说:“虽然你们要求的技能我都不会,但我愿意一样样学!”

    如果我是在参加大厂校招,那我可能会根据你的学校出身,酌情考虑。

    如果是在我自己创业阶段,那我就会特别真诚的拒绝你。

    大厂有专门的应届生培训计划,像VIVO,动辄半年时间集体授课、项目中专门导师辅导。而中小型公司,自己都还养不活,哪有这个闲工夫。

    你永远要记住:学习只是你的意愿,而不是你的竞争力。

    还有人会说,“只要你让我来学习,我不拿实习补贴都可以…… ”

    他们觉得自己已经做出了重大让步,钱我都不要还不行吗?

    不行,你要知道让你干的那点活,你吭哧吭哧弄一天,人家可能几分钟就弄完了,完全用不到你,而且为了教你,还得搭进去一个师傅。

    如果你把公司当学校,你就应该交学费。

    还有人进了公司,坐在原地等人教,没人教还生气。

    而且布置给他工作,他没做,还理直气壮地说:没人教过我啊,我哪知道该怎么做?这怪我吗?

    我菜我有理?这是什么神逻辑。

    1、如果是在找工作/找实习,怎么破?

    在找工作/找实习前,把你想找的工作的对应内容,先搞搞会,起码要入了门。啥都不会的小白,找不到实习是很正常的。

    我写了一篇文章:《对计算机专业来说学历真的重要吗?》火了以后,经常问我,我根据你的建议,到大三了去找实习,但根本找不着呀?怎么办?

    这里告诉大家实习为什么找不着:

    • 首先,就单位而言,实习生留下来的概率极低,一般实习完就完了,培养你?图啥呢?
    • 其次,如果来的实习生啥都不会,得人教,得人带,干的活还问题多,与其招个实习生做业务,不如招个实习生打杂。
    • 最后,学生都想做业务,不想打杂,一听过去干的活是打杂的都不愿去。

    所以,找不到实习的根本原因在于,你还是啥都不会!!!!

    就计算机专业而言,你要去找个敲代码的实习工作,首先,你做过项目吗?给你个需求,你能自己完成吗?

    更多的同学,是想借着实习学一把,从零基础入个门。就这样的,能找得到实习?工作单位好不容易把你培养会了,入了门了,毕业了,走了,人家图啥呢。

    所以,找工作/找实习前,先把自己技术练练好,入了门,能给人家直接干活,这样,人家才会要你!!!

    我精心整理了计算机各个方向的从入门、进阶、实战的视频课程和电子书,都是技术学习路上必备的经验,跟着视频学习是进步最快的,而且所有课程都有源码,直接跟着去学!!!

    只要关注微信公众号【启舰杂谈】后回复你所需方向的关键字即可,比如『Android』、『java』、『ReactNative』、『H5』、『javaweb』、『面试』、『机器学习』、『web前端』、『设计模式』等关键字获取对应资料。(所有资料免费送,转发宣传靠大家自愿)

    《全网2184G计算机各方向视频教程/电子书汇总​》

     

    2、如果是在工作/实习中,怎么破?

    进去公司以后,一定要记住:没人有义务教你!!!!

    首先,遇到问题自己先找解决方案

    遇到不懂的、不会的,先去搜解决方案,实在解决不了了,再去问同事。不要自己完全没思考,上来就去问,除了让别人反感,没一点好处。

    其实,大家对应届生都还是友好的,你菜是周知的,有问题,大家也都会给你解答。但你要知道,当你拿一个显而易见、随便一搜就可以找得到答案的问题,去问人家的时候,只会显得你解决问题的能力特别差!!!久而久之,别人就不想理你了。

    相反,如果,你研究过之后,再去问,这时问题的高度就不一定了,人家一听就能听出来,你是研究过的。自然也会耐心解答。有些同学经常抱怨说,同事都不想回答他的问题,仔细想一下,是不是你自己造成的呢?

    其次,跟友好员工套近乎

    一定要记住,职场不比学校,每个人都很忙,没人有义务教你!!!所以,先跟比较友好的员工套近乎,处成了朋友,有啥事都好说。

    最后,要懂得感恩

    别人帮你了,要记得请人家吃个饭、喝个奶茶。这样,人家才会继续帮你。我带新人时,总是经常跟他们提,当人家帮了你大忙时,一定要记得请人家喝奶茶!!!不要把感恩总放在心里,你不表示出来,谁知道!!!

    二、我还没准备好

    不自信,是很多同学的软肋。

    有些同学,在找工作时,总觉得要自己全部准备好了才能去找对应的岗位,不敢试,这使你还没出手就已注定失败。

    一个同学,在我们毕业时,都去参加校招,他不去,觉得自己没能力,想着先随便找个公司干两年,积攒下经验再跳过去。结果,比他差的同学,去的地方都比他好,现在毕业六年了,还在小公司转着呢。

    想做什么,就直接去做!所有的说辞,不过是没勇气!!只会让你离目标越来越远!!!

    在工作上,分配你个任务,总是不敢接,说,我还没准备好,我还很菜,这个功能我做不来。

    原来,我还信,让你接着学,结果我带的大部分同学,半年新生期结束,都还不能接任务。

    后来,就下死命令,不要跟我说什么理由,我相信你能行,你也一定能行,把这个东西给我做出来!结果,都能做出来。

    说什么自己没能力,只不过是自己不愿逼自己。

    对于自信心严重不足的同学,可以看下《秘密—吸引力法则》,这本书曾连续几年荣登亚马逊心理学销量榜首,改变几千万人命运,它改变了我,相信也能改变你。

    关注微信公众号【启舰杂谈】后回复关键字『秘密』即可获取pdf版下载链接。

    三、以为脾气好就能赢得尊重

    有些同学受欺负,被逼着加需求,被逼着弄这弄那。我总是说,这些东西不想做的及时跟我说,要么自已怼回去,要么我帮你怼回去。

    结果,大部分同学总是说,算了,算了,周末加个班好了。

    其实,这是错误的!息事宁人,只是换来自己利益的丧失。

    时间长了,你会知道,赢得尊重的,不是靠的脾气好,而是靠的你自己的力量。

    相反,过于软弱,只会被人常常欺负。

    无论何时,无论对谁,都要做到不卑不亢、据理力争。属于自己的权力,自己一定要捍卫。要让他知道,我帮你是人情,不帮你是我的权力。

    上面三条能学会已足够受用,剩下的,只记下面一条:

    在工作中,找个合得来的前辈,多向人家套近乎,遇事多向人家请教,比如我们公司几点下班合适;我没调休假,周末能来加个班不;等等。有这么一个人,比你在这看几百篇职场中有哪些典型的「学生思维」都好使。

     

    记得帮我点赞哦。

     

    推荐阅读:

    《在中国程序员是青春饭吗?》

    《有哪些让程序员受益终生的建议》

    《对计算机专业来说学历真的重要吗?》

    本人所有文章均受版权保护平台签约保护,著作权归启舰所有,未经授权,转载必究,谢谢合作。

    展开全文
  • 广告关闭腾讯云+校园是针对学生用户推出的专项扶持计划,1核2G云服务器9元/月起,云数据库2元/月起,并享受按购买价续费的优惠,助力莘莘学子轻松上云print(该学生不存在)return nonedef query_all_stu():print(序号...
  • 学生党、工作党,这个全新的 “万能文库”下载器,你绝对值得拥有! ...
  • 三流大学和一流大学学生的简历有什么区别?

    万次阅读 多人点赞 2020-09-23 09:17:06
    HR 每天要收无数封邮件,如果你发个 10M 的简历过去,半天下载不下来,还影响别的邮件的接收,估计也就 没心情看内容了。如果是设计类的职位另说,一般如果没要求简历上还 是不要放太多,可以做个单独的文件需要的...
  • C语言学生信息管理系统源代码

    千次阅读 多人点赞 2020-12-22 10:21:36
    大学C语言实训课学习到的一段源代码,C语言学生信息管理系统。 #include<stdio.h> #include<conio.h> #include<stdlib.h> #include<string.h> struct stu_inf//学生信息结构体定义 { int...
  • 大学大学,就是“大不了自己学”。四年大学本科经历让我认识到一个道理:大部分情况下,人与人之间的差距就在于信息与资源上。互联网时代推崇“开源”与...因此,我推出了这个“网站推荐”系列,希望能到有需要的人。
  • 非专业学生如何系统的学习计算机编程?

    千次阅读 多人点赞 2021-06-16 12:43:25
    发完这篇文章后,有不少的同学私信我,问的最多的一个问题就是:非专业学生如何系统的学习计算机编程? 这个问题我在知乎找到一个描述,所以根据这个描述来回答。 去年刚毕业,专业是新闻传媒,实习是在一家杂志社...
  • 昨天有个专科学生让我他指导一下作业,题目是专做一个简单的界面,输入成绩进行判定。代码文后可以直接下载。(90-100分优秀,80-90分良好,70-80分中等,60-70分及格,60分以下为不及格)如图下所示:虽然我做...
  • 答疑:一名大四学生的选择

    万次阅读 热门讨论 2012-07-12 10:48:04
    学生来信】尊敬的贺老师: 你好! 我是XX学院计算机系一名学生,最近逛科学网和CSDN看到了你的文章,你为人师者的精神让我很受敬佩,你所写的博文让人读起来很受启发。很遗憾,到大四才有幸读到你的文章,我是一...
  • 基于SSM的学生信息管理系统(选课)

    万次阅读 多人点赞 2019-04-15 19:40:52
    下载: github:https://github.com/fuzui/StudentInfo 百度网盘下载:https://pan.baidu.com/s/1ZFNuOCNx775KVUvEff57eg 提取码:edob 推荐github下载,百度网盘更新不及时=-= 配套论文:基于JavaEE的学生信息管理...
  • 可以别人代练游戏,或者是倒卖一些装备来赚钱。 七、手机试玩赚钱 手机试玩其实很简单,就是用你的手机,在商家指定的APP去进行下载,通常一个任务也会有一元到五元钱,而苹果手机的话佣金会更高一些。每天下载多...
  • 别人做课程设计,做课程管理,电影管理,成绩管理,学生信息管理之类的,然后,打算上传学生成绩管理系统给需要的人,有需要可以自己下载提取 部分代码 int main() { int n, m=3; int i; STU *head; //定义...
  • 想必兄台是个正在实训阶段的大学生吧,如果你的实训内容是使用C#开发一个学生信息管理系统的话,那么这篇文章或许正好可以到你,说不定还让你的作品脱颖而出呢,话不多说,效果图和源码都在下面,记得点赞和关注我...
  • 学生免费注册Pycharm专业版

    千次阅读 2019-04-27 12:07:18
    工欲善其事必先利其器,学生可以免费安装Pycharm专业版,不是学生请支持正版(破解版)。注册地址 点开之后,点右上角的中文以后是这个界面: 填上自己的信息,必须是教育邮箱!一个账号可以登录好几台电脑. 去验证...
  • 需要的网站 ① 学信档案(大学生档案) ② Jetbrains用户登录页 步骤如下: 首先进入① 学信档案(大学生档案)网站获取学籍档案 ... 刚开始可能需要你输入学校以及申请,我这个是申请之后所得到的...如果觉得对你有些
  • 摘要:对于学生制作学科网站,除了要进行必要的Frontpage技术方面的教学,还应注意对学生进行网页设计方面的指导。只有两方面结合起来,才能确保学生做出设计新颖,创作精良的个人学科网站。从哪几方面对学生进行...
  • 例题4-6 师兄帮帮忙 UVa12412

    千次阅读 2016-10-19 13:36:14
    例题4-6 师兄帮帮忙 UVa12412 感悟。 1、阅读书中题目,从网站下载英文原题,重点在看输出数据与格式。 2、开始编码,先搭函数框架,具体功能实现,待主体框架打好后,再进行。 3、程序测试比较繁琐,有较多的输出...
  • 【php】9、学生管理系统项目

    千次阅读 2015-04-29 18:25:03
    项目截图: 包截图: ...项目下载连接: ...由于写的很简单,也就不要分了,虽然我想搞1分的,但是对于初学者特别是时间紧的人来说太痛苦了,所以希望这个项目能到大家快速上手!!!
  • IEEE学生会员注册

    2012-06-15 12:49:00
    IEEE学生会员注册 http://www.ieee.org/ http://cn.ieee.org/index.html 一、IEEE 简介 IEEE 是全世界最大的专业技术学会。她现在拥有36 万会员,下面分为35个专业学会(Society),2 个联合会(Council)。她是一...
  • 学生信息管理系统配置感触

    千次阅读 2012-08-04 21:22:44
    做完五个例子后,感觉内心还是空空的,因此在这里停留了好多天没有前进,今天下定决心,向前看。开始了人生中的第一个系统生涯“学生信息管理系统” ...找了同学看下,也没有找到,只好自己在下载安装一个,如图
  • 今天给大家推荐一个非常有意思的开源工具 —— Text-to-handwriting。该开源工具是一名来自印度塔内的大学生 Saurabh Daware 开源,他花费了 3 个小时编写了...
  • 如果你是大学生,但是你不知道你学校的邮箱,那么你可以选择另外一种方式(官方文件),接下来这篇文章或许能到你,另外,这种申请方式大概在两周左右才会有回复,同学们赶紧行动起来吧: 1.登陆学信网,下载学籍...
  • 学生成绩管理系统(C语言)

    千次阅读 2014-02-23 16:23:33
    但鉴于初学者的心态,就当给为能够写好博客练练手吧,请大家体谅,同时希望能够到一些人。   功能模块设计   主要功能有:输入记录模块、查询模块、更新记录模块、统计记录模块、输出记录模块。 主要用...
  • 实验结束后,我再根据完成情况做课堂点评,他们升华一下。此时的学习效果就相当好了,远比让他们只是跟着老师的指示机械操作一遍的效果好,学生也非常喜欢这样。有不少学生在课程结束时说,希望所有课都能这样。 ...
  • 美国大学生数学建模竞赛(MCM/ICM)由美国数学及其应用联合会主办,是唯一的国际性数学建模竞赛,也是世界范围内最具影响力的数学建模竞赛。赛题内容涉及经济、管理、环境、资源、生态、医学、安全、等众多领域。...
  • 【创作不易,求点赞、求收藏】 一、缘起 不日前,有粉丝找到我,让我着做个: 教师管理系统 由于种种借口,我当时把问题交给群友去解决了..... 思来想去,越想越内疚,于是就请教了经常做私活的小伙伴。 必须...
  • C语言学生管理系统(开源)

    千次阅读 多人点赞 2021-02-22 21:51:58
    大一上免费课设——功能齐全的学生管理系统 大一的时候可真美好啊,当时为了实现一个项目熬夜写一个星期都觉得累,反而单人完成项目之后还异常兴奋,有种难言的喜悦感,也挺佩服当时的自己的,一个人捣鼓了2000多行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,722
精华内容 5,088
关键字:

学生帮下载