![java程序設計之學生選課管理系統(tǒng)_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/9e93617c-5e7b-493f-85ee-88b655ee52a2/9e93617c-5e7b-493f-85ee-88b655ee52a21.gif)
![java程序設計之學生選課管理系統(tǒng)_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/9e93617c-5e7b-493f-85ee-88b655ee52a2/9e93617c-5e7b-493f-85ee-88b655ee52a22.gif)
![java程序設計之學生選課管理系統(tǒng)_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/9e93617c-5e7b-493f-85ee-88b655ee52a2/9e93617c-5e7b-493f-85ee-88b655ee52a23.gif)
![java程序設計之學生選課管理系統(tǒng)_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/9e93617c-5e7b-493f-85ee-88b655ee52a2/9e93617c-5e7b-493f-85ee-88b655ee52a24.gif)
![java程序設計之學生選課管理系統(tǒng)_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/2/9e93617c-5e7b-493f-85ee-88b655ee52a2/9e93617c-5e7b-493f-85ee-88b655ee52a25.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、«Java程序設計結課報告課程名稱JAVA程序設計設計題目學生選課管理系統(tǒng)專業(yè)班級學 號學生姓名教 師傳息工程系目 錄II第1章系統(tǒng)簡介31.1系統(tǒng)功能3第2章表的設計42.1系統(tǒng)數(shù)據(jù)庫表結構:4第3章連接數(shù)據(jù)庫的實現(xiàn)5第4章系統(tǒng)詳細設計64.1 系統(tǒng)登錄模塊設計64.2 系統(tǒng)主界面詳細設計104.3 學生管理模塊設計154.4 課程管理模塊設計194.5 選課管理模塊設計22答辯記錄26成績考核表26I / 26學生選課管理系統(tǒng)系統(tǒng)簡介1.1 系統(tǒng)功能本系統(tǒng)主要功能:1)管理學生信息,其中包括添加,刪除,修改等操作。2)管理課程信息,其中包括添加,刪除,修改等操作。3)管理選課信息
2、,其中包括添加,刪除,修改等操作。4)查詢信息,其中包括查詢學生信息,查詢課程信息,查詢選課信息5)維護系統(tǒng),備份所有表格為Excel格式。1.2 系統(tǒng)引用例子課本P237頁13.10課本P364頁20.5課本P389頁20.10課本P387頁21.69 / 26第2章表的設計2.1系統(tǒng)數(shù)據(jù)庫表結構:在此小節(jié)將系統(tǒng)數(shù)據(jù)庫表結構用表的形式畫出,如:字段名字段類型長度主主卜鍵字段值約束對應中文名Snonvarchar50PNot null學號Snamenvarchar50Not null學生名字Sxnvarchar50Not null學生系別表2.1學生信息表(S)字段名字段類型長度主主卜鍵字段值
3、約束:對應中文名Cnonvarchar50PNot null課程號Cnamenvarchar50Not null課程名字表2.2課程信息表(C)字段名字段類型長度主/外鍵字段值約束:對應中文名Snonvarchar50PNot null學號Cnonvarchar50PNot null課程號Cnvarchar50Not null分數(shù)表2.3選課信息表(SC)第3章連接數(shù)據(jù)庫的實現(xiàn)此節(jié)可簡寫,可適當貼一些SQL Server數(shù)據(jù)庫連接的關鍵代碼,如: Connection dbConn=null;try (Class.forName(Hnet.sourceforge.jtds.jdbc.Drive
4、rn);dbConn = DriverManager.getConnection( Hjdbc:jtds:sqlserver:/localhost: 1433/” + "student", "sa", "123"); catch (Exception e) e.printStackTrace();return dbConn; / 返回 Connect ion 對象第4章系統(tǒng)詳細設計4.1系統(tǒng)登錄模塊設計1、運行效果圖圖4.L1登陸界面圖4L2登陸成功圖4.L2登陸失敗2、主要代碼import java.awt.*;import jav
5、a.awt.event.*;import javax.swing.*;import java.sql.*;public class User extends J Frame private JLabel use,password;private JTextField kl;用戶名輸入框private JPasswordField k2;密碼輸入框private JButton bl,b2;登錄窗口public User(JFrame f) super("系統(tǒng)登錄”);Container c=getContentPane();c.setLayout(new FlowLayout();u
6、se=new JLabel(nusername:n);use.setFont(new Font(HSerifFont.PLAIN,20);password=new JLabel(Hpassword:M);password.setFont(new Font(HSerifFont.PLAIN,20);kl=new JTextField(12);k2=new JPasswordField( 12);bl=new JButton("登錄");b2=new JButton("退出) /設置登錄方法BHandler b=new BHandler();EXIT d=new EX
7、IT();b 1 .addActionListener(b);b2.addActionListener(d);添加控件c.add(use);c.add(kl);c.add(password);c.add(k2);c.add(bl);c.add(b2);setBounds(600,300,250,150);setVisible(tnje);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);)主函數(shù)public static void main(String args) User fl=new User(new J
8、Frame();)登錄按鈕方法private class BHandler implements ActionListener public void actionPerformed(ActionEvent event)if(kl.getText().equaIs(nH)llk2.getText().equals(Hn)JOptionPane.showMessageDialog(User.this,M用戶名密碼不能為空!");elseStatement stmt=null;ResultSet rs=null;String sql;sql=Hselect * from admin wh
9、ereusername=M,+kl.getText()+,HH;tryConnection dbConn 1 =Conn.CONN();stmt=(Statement)dbConnl.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sqI);if(rs.next()String xm=rs.getString(,passwordH);if(k2.getText().equals(xm.trim()JOptionPane.showMessageDi
10、alog(User.this,”登錄成功)dispose();newMenu();管理窗口rs.close();stmt.close();)catch(SQLException e)JOptionPane.showMessageDialogCUser.this/'SQL 錯 誤 信 息:“+e.getMessage。);)1) ) 退出方法結束 private class EXIT implements ActionListener public void actionPerfbrmed(ActionEvent even)System.exit(O);) 父類結束4.2系統(tǒng)主界面詳細設
11、計1、運行效果圖圖421登陸成功后界而學生管理1課程管理登添加學生學籍更新學生學籍刪除學生學籍圖4.2.2學生管理菜單,課程管理選課管旌嵋加課程更新課程刪除課程圖4.2.2課程管理菜單選譚彘查詢管:。成線錄入 成統(tǒng)修改 成線刪除圖4.2.2選課管理菜單 便詢管理查詢信息備份信息圖422查詢管理菜單13/262、實現(xiàn)代碼:添加數(shù)據(jù)時,若遇到必須信息未填寫、不能重復的信息在數(shù)據(jù)庫中已存在,都會提示無法 添加及其錯誤原因。import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Menu extends J
12、Frame implements ActionListenerAddstu增加學生界面;Updatastu修改學生界面;Delstu刪除學生界面;AddC增加課程界面;DelC刪除課程界面;UpdateC修改課程界面;AddSC增加選課界面;DelSC刪除選課界面;UpdateSC修改選課界面;Selstu學生查詢界面;Backup備份界面;JPanel pCenter;CardLayout card=null;JLabel label=null;JMenuBar mb=new JMenuBar();菜單欄JMenu ml=new JMenu("學生管理)J Menu Item ad
13、d 1 =new JMenuItem("添加學生學籍");JMenuItem updatal=new JMenuItem("更新學生學籍"); JMenuItem deletel=new JMenuItem("刪除學生學籍");JMenu m2=new 課程管理)JMenuItem add2=new JMenuItem("增力口課程");JMenuItem updata2=new JMenuItem("更新課程”);JMenuItem delete2=new JMenuItem("刪除課程&qu
14、ot;);JMenu m3=new 選課管理)JMenuItem add3=new JMenuItem("成績錄入 ");JMenuItem updata3=new JMenuItem("成績修改”);JMenuItem delete3=new JMenuItem("成績刪除");JMenu m4=new JMenu("查詢管理)JMenuItem學生查詢=new JMenuItem("查詢信息");JMenuItem backup=new JMenuItem("備份信息 ");JMenuIte
15、m m5=new JMenuItem("系統(tǒng)退出");Font t=new Font ("sanerif",Font.PLA/7V,12);public Menu ()this.setTitle("學生選課管理系統(tǒng)”); tryVXManaer.setLx)olandFeel(VManager.getSysteniLookAiulFeelClassName()Y catch(Exception e)System.err.println("不能設置外觀:H+e); 組合菜單addMenul();addMenu2();addMenu3()
16、;addMenu4();addJMenuBar();setJMenuBar(mb);label=new JLabel("歡迎使用江西理工大學應科院選課管理系統(tǒng) JLabel. CENTER);label.setFont(new Font("宋體”,Font.BOLD,25);label.setHorizontalTextPosition(SwingConstants.CE'/VrE/?);label.setForeground(Color.reJ);點擊事件add 1 .addActionListener(this);updata I .addActionListe
17、ner(this);delete 1 .addActionListener(this);m5 .add ActionListener(this);add2.addActionListener(this);delete2.addActionListener(this);updata2.addActionListener(this);add3.addActionListener(this);de!ete3.addActionListener(this);updata3.addActionListener(this);學生查詢.addActionListener(this);backup.addAc
18、tionListener(this);card=new CardLayout();pCenter=new JPanel();pCenter.setLayout(card);增加學生界面二new Addstu();修改學生界面"new Updatastu();刪除學生界面=new Delstu();增加課程界面=new AddC();刪除課程界面二new DelC();修改課程界面=new UpdateC();增加選課界面二new AddSC();刪除選課界面二new DelSC();修改選課界面二new UpdateSC();學生查詢界面二new Selstu();備份界面=new
19、BackupO;pCenter.add("歡迎界面,label);pCenter.add(”增加學生界面”,增加學生界面);pCenter.add("修改學生界面”,修改學生界面);pCenter.add(”刪除學生界面,刪除學生界面);pCenter.add("增加課程界面”,增加課程界面);pCenter.add("刪除課程界面”,刪除課程界面);pCenter.add("修改課程界面”,修改課程界面);pCenter.add("增加選課界面”,增加選課界面);pCenter.add("刪除選課界面”,刪除選課界面);
20、pCenter. add ("修改選課界面",修改選課界面); pCenter.add("學生查詢界面”,學生查詢界面); pCenter.add("備份界面”,備份界面);add(pCenter,BorderLayout.CE;V7'E/?);validate();setVisible(true);setBounds(400,l 50,600,380);setDefaultCloseOperationCJFrame.EX/TLOA-CLOSE);addWindowListener(new Window Adapter。關閉程序時的操作 publ
21、ic void windowClosing(WindowEvent e)System.ex"(0); );validate(); private void addJMenuBar() mb.add(ml);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5); )private void addMenu4() m4.add(學生查詢);m4.add(backup);m4.setFont(t);private void addMenu3() m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setFont(
22、t);private void addMenu2() 將菜單加入到菜單欄中 m2.add(add2);ni2.add(updata2);m2.add(delete2);ni2.setFont(t);)private void addMenul() ml.add(addl);ml.add(updatal);ml.add(deletel);m 1 .setFont ;字體 public void actionPerformed(ActionEvent e)Object obj=e.getSource();if(obj=m5) System.xz/(O);else if(obj=add 1)card
23、.show(pCenter,"增加學生界面)else if(obj=updata 1)card.show(pCenter,"修改學生界面");)else if(obj=delete 1)card.show(pCenter,"刪除學生界面");else if(obj=add2)card.show(pCenter,"增力口課程界面");else if(obj=delete2)card.show(pCenter,"刪除課程界面");else if(obj=updata2) card.show(pCenter,&
24、quot;修改課程界面");else if(obj=add3)card.show(pCenter,"增加選課界面"); )else if(obj=delete3)card.show(pCenter,"刪除選課界面"); )else if(obj=updata3) card.show(pCenter,"修改選課界面"); )elseif(obj=學生查詢)card.show(pCenter,"學生查詢界面"); )else if(obj=backup)card.show(pCenter,"備份界面
25、");)public static void main(String args) new Menu();)4.3學生管理模塊設計1、運行效果圖圖4.3.1添加學生學籍圖4.3.1修改學生學籍圖431刪除學生學籍2、實現(xiàn)代碼:Addstu.java/Updatastu.java/Delstu.javaimport java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;public class Addstu extends JPanel implements ActionListenerJTex
26、tField學號,姓名,系別;JButton 錄入;public Addstu()tryVJXManager.setL()okAndFeel(Manager.getSystemLookAndFeelClassNameC)y. catch(Exception e)System.e/r.printin("不自旨設置夕卜觀:n+e);) 學號=new JTextField(12);姓名=new JTextField(12);系別=new JTextField(12);錄入=new JButton("錄入) 錄入.addActionListener(this);Box box8at
27、();橫放boxBox box2=Box.createHonz.ontalBox();Box box3=Box.createHonzontalBox();Box box4=Box.createHorizontalBoxQ;box l.add(new JLabel(“學號"* JLabel.CENTER*/);box Ladd(學號);box2.add(new JLabel("姓名:”/*,JLabel.CENTER*/);box2.add(姓名);box3.add(new JLabel("系別:'7*,JLabel.CENTER*/);box3.add(系
28、別);box4.add(錄入);Box boxH=Box.createVerticalBox()/l§iJjboxboxH.add(boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();J Panel messPaneI=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout();add(messPanel,BorderLayout. CENTER);validate();)public void acti
29、onPerfornied(ActionEvent c)Object obj=c.getSource();if(obj=錄入)if(學號.getText().equals("")ll 姓名.getText().equals("")ll 系別.getText().equals("")JOptionPane.sowMessage£WHog(thisJ 學生信息請?zhí)顫M 再錄入!”);)Statement stmt=null;ResuItSet rsl=null;String sqLsqll;sqll=Hselect * from S
30、 where Sno="'+學號,getText()+'“'; sql="insert into S values("'+學號.getText()+"',"'+姓名.getText()+“;"+系別.getText()+“')”;tryConnection dbConn 1 =Conn.CONN();stmt=(Statement)dbConnl.createStatement(ResultSet.TyPE_SC/?(7LL_/ASE;VS/TIVE.ResutSet.CONCU
31、R_READ_ONLY);rsl =stmt.executeQuery(sql 1);if(rsl.next()JOptionPane.s/iowMessageZ)iHcg(thisJ 該學號以存在,無法添加,elsestmt.executeUpdate(sql);JOptionPane,s/?wMess“ge£)iRog(this,"添加成功”);)rsl.close();stmt.close();)catch(SQLException e)System.oi.print("SQL Exception occur.Message is:H+e.getMessag
32、e();J )1)25 / 264.4課程管理模塊設計1、運行效果圖圖441課程錄入界面圖442課程修改界面圖443課程刪除界面2、運行代碼:AddC.java/UpdataC.java/DelC.javaimport java.awt.*;import javax.swing.*;import java.sql.*;import java.awt.event.*;public class AddC extends JPanel implements ActionListenerJTextField課號,課名;JButton 錄入;public AddC()tryVManaer.setLx)o
33、hndFeel(VManager.getSysteniLookAndFeelClassNameC)y. catch(Exception e)System.err.println("不能設置外觀:"+e);)課號=new JTextField(12);課名=new JTextField(12);錄入=new JButton("錄入) 錄入.addActionListener(this);Box box 1 =Box.createHonzontalBox()/jiLboxBox box2=Box.createHorizontalBox();Box box3=Box.c
34、reateHonzontalBox();Box box4=Box.createHonzontalBox();box 1 .add(new JLabel("課號:");box Ladd(課號);box2.add(new JLabel("課名:");box2.add(課名);box4.add(錄入);Box boxH=Box.createVerticalBox()/l§:Jjox boxH.add(boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVertic
35、alGlue();JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout();add(messPanel,BorderLayout.CEArTE/?); validate();)public void actionPerfornied(ActionEvent c)Object obj=c.getSource();if(obj=錄入)if(課號.getText().equals("")ll 課名.getText().equals(HH)請?zhí)顫M再錄入!");Stateme
36、nt stmt=null;ResultSet 身=null,rsl=null;結果集String sqLsql 1;sqll=Mselect * from C where Cno="'+課號.getText()+;sql=Minsert into C values("'+課號.getText()+"?”+課名.getText()+”')”;tryConnection dbConn 1 =Conn.CONN()stmt=(Statement)dbConnl.createStatement(ResultSet.TyPE_SC/?(7LL_/AS
37、E;VS/ TIVE.ResukSet.CONCUR_READ_ONLY);rs 1 =stmt.executeQuery(sql 1);if(rsLnext()JOptionPane.MowMessage£)"0g(thisJ該課號以存在,無法添加 ");elsestmt.executeUpdate(sql);JOptionPane.J 添力口成功)rsl.close();stmt.close();1catch(SQLException e)System.(?MLprint(nSQL 錯誤信息:”+e.getMessage();)11)4.5選課管理模塊設計1、
38、運行效果圖圖451成績錄入界面圖452成績修改界面圖453成績刪除界面2、運行代碼:AddSC.java/UpdataSC.java/DelSC.javaimport java.awt.*;import javax.swing.*;import java.sql.*;import java.util.*;import javax.swing.*;import java.io.*;import java.awt.event.*;public class AddSC extends JPanel implements ActionListenerJTextField課號,學號,成績;JButton
39、 錄入;public AddSC()tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassNameO);) catch(Exception e)System.err.println("不f花設置外觀:,f+e);) 課號=new JTextField。2);學號=new JTextField(12);成績=new JTextField。2);錄入=new JButton("錄入”);A.addActionListener(this);Box boxl=Box.createHorizontalBox();
40、橫放 boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box Ladd(new JLabel("課號1,);box Ladd(課號);box2.add(new JLabd(“學號:“);box2.add(學號);box3.add(new JLabcl("成績:“);box3.add(成績);box4.add(錄入);Box boxH=Box.createVerticalBox();豎放 box boxH.add(boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGIue();JPanel messPanel=new JPanel();mcssPanel.add(boxH);setLayout(new BorderLayoutO);add(messPanel.BorderLayout.CENTER);validate();)pu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司養(yǎng)老保險申請書
- 2025年度文化藝術品交易與合作合同
- 怎樣寫社保申請書
- 2025年度智能醫(yī)療設備采購合同協(xié)議書
- 中國虛擬現(xiàn)實硬件行業(yè)市場調查研究及發(fā)展趨勢預測報告
- 2025年電子陶瓷零部件項目可行性研究報告
- 人保理賠申請書
- 小學貧困生補助申請書
- 2025年度城市景觀改造土石方工程設計與施工合同
- 2025年度農業(yè)科技項目股權轉讓居間合同匯編
- 綜合性學習“孝親敬老從我做起”歷年中考語文試題匯編
- 高中體育與健康-足球運球教學課件設計
- GMS要素-持續(xù)改進(CI)-上汽通用五菱-課件
- 信訪事項復查復核申請書
- 神經(jīng)遞質和神經(jīng)調質生
- 18CS01 裝配式箱泵一體化消防給水泵站選用及安裝-MX智慧型泵站
- 枇杷常見病蟲害一覽表專家講座
- 《紙杯變變變》教學設計
- 九九乘法口訣表(超清晰打印版)
- GB/T 3921-2008紡織品色牢度試驗耐皂洗色牢度
- GA/T 1780-2021多道心理測試實驗室建設規(guī)范
評論
0/150
提交評論