java程序設計之學生選課管理系統(tǒng)_第1頁
java程序設計之學生選課管理系統(tǒng)_第2頁
java程序設計之學生選課管理系統(tǒng)_第3頁
java程序設計之學生選課管理系統(tǒng)_第4頁
java程序設計之學生選課管理系統(tǒng)_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、Java程序設計結(jié)課報告課程名稱JAVA程序設計設計題目學生選課管理系統(tǒng)專業(yè)班級學號學生姓名教師信息工程系目錄II第1章系統(tǒng)簡介31.1系統(tǒng)功能3第2章表的設計42.1系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu):4第3章連接數(shù)據(jù)庫的實現(xiàn)5第4章系統(tǒng)詳細設計64.1 系統(tǒng)登錄模塊設計64.2 系統(tǒng)主界面詳細設計84.3 學生管理模塊設計134.4 課程管理模塊設計164.5 選課管理,K塊設計18答辯記錄24成績考核表24學生選課管理系統(tǒng)第1章系統(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.62.1系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu):在此小節(jié)將系統(tǒng)數(shù)據(jù)庫表結(jié)構(gòu)用表的形式畫出,如:字段名字段類型長度主/外鍵字段值約束對應中文名Snonvarchar50PNotnull學號Snamenvarchar50Notnull學生名字Sxnvarchar50Notnull學生系別字段名表字段類型2.1學4長度上信息表(主/外鍵S)字段值約束對應中文名Cnonvarchar50PNotnull

3、課程號Cnamenvarchar50Notnull課程名字字段名1字段類型:2.2設長度,鍵(C)字段值約束對應中文名Snonvarchar50PNotnull學號Cnonvarchar50PNotnull課程號Cnvarchar50Notnull分數(shù)表2.3選課信息表(SC第3章連接數(shù)據(jù)庫的實現(xiàn)此節(jié)可簡寫,可適當貼一些SQLServer數(shù)據(jù)庫連接的關鍵代碼,如:ConnectiondbConn=null;tryClass.forName("net.sourceforge.jtds.jdbc.Driver");dbConn=DriverManager.getConnecti

4、on("jdbc:jtds:sqlserver:/localhost:1433/"+"student","sa","123");catch(Exceptione)e.printStackTrace();returndbConn;/返回Connection對象第4章系統(tǒng)詳細設計4.1 系統(tǒng)登錄模塊設計1、 運行效果圖圖4.1.1登陸界面圖4.1.2登陸成功圖4.1.2登陸失敗2、 主要代碼importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;impor

5、tjava.sql.*;publicclassUserextendsJFrameprivateJLabeluse,password;privateJTextFieldk1;用戶名輸入框privateJPasswordFieldk2;密碼輸入框privateJButtonb1,b2;/登錄窗口publicUser(JFramef)super("系統(tǒng)登錄");Containerc=getContentPane();c.setLayout(newFlowLayout();use=newJLabel("username:");use.setFont(newFon

6、t("Serif",Font.PLAIN,20);password=newJLabel("password:");password.setFont(newFont("Serif",Font.PLAIN,20);k1=newJTextField(12);k2=newJPasswordField(12);b1=newJButton("登錄");b2=newJButton("退出");/設置登錄方法BHandlerb=newBHandler();EXITd=newEXIT();bl.addAction

7、Listener(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(true);setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);/主函數(shù)publicstaticvoidmain(String口args)Userf1=newUser(newJFrame();/登錄按鈕方法privatecla

8、ssBHandlerimplementsActionListenerpublicvoidactionPerformed(ActionEventevent)if(k1.getText().equals("")|k2.getText().equals("")JOptionPane.showMessageDialog(User.this,”用戶名密碼不能為空!");elseStatementstmt=null;ResultSetrs=null;Stringsql;sql="select*fromadminwhereusername='

9、;"+k1.getText()+""'tryConnectiondbConn1=Conn.CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);if(rs.next()Stringxm=rs.getString("password");if(k2.getText().equals(xm.trim()JOptionPane.s

10、howMessageDialog(User.this,"登錄成功");dispose。;newMenu();/管理窗口elseJOptionPane.showMessageDialog(User.this,"密碼錯誤");elseJOptionPane.showMessageDialog(User.this,”用戶名錯誤");rs.close();stmt.close();catch(SQLExceptione)JOptionPane.showMessageDialog(User.this,"SQL錯誤信息:"+e.getM

11、essage();/退出方法結(jié)束privateclassEXITimplementsActionListenerpublicvoidactionPerformed(ActionEventeven)System.exit(0);/父類結(jié)束4.2 系統(tǒng)主界面詳細設計1、運行效果圖圖4.2.1登陸成功后界面圖4.2.2學生管理菜單圖4.2.2課程管理菜單圖4.2.2選課管理菜單圖4.2.2查詢管理菜單2、實現(xiàn)代碼:添加數(shù)據(jù)時,若遇到必須信息未填寫、不能重復的信息在數(shù)據(jù)庫中已存在,都會提示無法添加及其錯誤原因。importjava.awt.*;importjava.awt.event.*;import

12、javax.swing.*;publicclassMenuextendsJFrameimplementsActionListenerAddstu增加學生界面;Updatastu修改學生界面;Delstu刪除學生界面;AddC增加課程界面;DelC刪除課程界面;UpdateC修改課程界面;AddSC增加選課界面;DelSC刪除選課界面;UpdateSC修改選課界面;Selstu學生查詢界面;Backup備份界面;JPanelpCenter;CardLayoutcard=null;JLabe11abel=null;JMenuBarmb=newJMenuBar();/菜單欄JMenum1=newJM

13、enu(學生管理");JMenuItemadd1=newJMenuItem("添加學生學籍");JMenuItemupdata1=newJMenuItem("更新學生學籍");JMenuItemdelete1=newJMenuItem("刪除學生學籍");JMenum2=newJMenufffi程管理");JMenuItemadd2=newJMenuItem("增力口課程");JMenuItemupdata2=newJMenuItem("更新課程");JMenuItemdel

14、ete2=newJMenuItem("刪除課程");JMenum3=newJMenu(選課管理");JMenuItemadd3=newJMenuItem("成績錄入");JMenuItemupdata3=newJMenuItem("成績修改");JMenuItemdelete3=newJMenuItem("成績刪除");JMenum4=newJMenu(查詢管理");JMenuItem學生查詢=newJMenuItem("查詢信息");JMenuItembackup=newJ

15、MenuItem("備份信息");JMenuItemm5=newJMenuItem("系統(tǒng)退出");Fontt=newFont("sanerif",Font.PLAIN12);publicMenu()this.setTitle("學生選課管理系統(tǒng)");tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exceptione)System.err.println("不能設置外觀:"+e);/組合菜單

16、addMenu1();addMenu2();addMenu3();addMenu4();addJMenuBar();setJMenuBar(mb);label=newJLabel("歡迎使用江西理工大學應科院選課管理系統(tǒng)",JLabel.CENTERlabel.setFont(newFont("宋體",Font.BOLIJ5);label.setHorizontalTextPosition(SwingConstants.CENTERlabel.setForeground(Color.red);/點擊事件add1.addActionListener(thi

17、s);updata1.addActionListener(this);delete1.addActionListener(this);m5.addActionListener(this);add2.addActionListener(this);delete2.addActionListener(this);updata2.addActionListener(this);add3.addActionListener(this);delete3.addActionListener(this);updata3.addActionListener(this);學生查詢.addActionListen

18、er(this);backup.addActionListener(this);card=newCardLayout();pCenter=newJPanel();pCenter.setLayout(card);增加學生界面=newAddstu();修改學生界面=newUpdatastu();刪除學生界面=newDelstu();增加課程界面=newAddC();刪除課程界面=newDelC();修改課程界面=newUpdateC();增加選課界面=newAddSC();刪除選課界面=newDelSC();修改選課界面=newUpdateSC();學生查詢界面=newSelstu();備份界面=

19、newBackup();label);增加學生界面); 修改學生界面); 刪除學生界面); 增加課程界面); 刪除課程界面); 修改課程界面); 增加選課界面); 刪除選課界面); 修改選課界面);學生查詢界面);pCenter.add("歡迎界面'pCenter.add("增加學生界面'pCenter.add("修改學生界面'pCenter.add("刪除學生界面'pCenter.add("增加課程界面'pCenter.add("刪除課程界面,pCenter.add("修改課程界面,

20、pCenter.add("增加選課界面,pCenter.add("刪除選課界面,pCenter.add("修改選課界面,pCenter.add("學生查詢界面,pCenter.add("備份界面",備份界面);add(pCenter,BorderLayout.CENTERvalidate。;setVisible(true);setBounds(400,150,600,380);setDefaultCloseOperation(JFrame.EXIT_ON_CLO&EaddWindowListener(newWindowAdap

21、ter()/關閉程序時的操publicvoidwindowClosing(WindowEvente)System.exit(0););validate。;privatevoidaddJMenuBar()mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.add(m5);privatevoidaddMenu4()m4.add(學生查詢);m4.add(backup);m4.setFont(t);privatevoidaddMenu3()m3.add(add3);m3.add(updata3);m3.add(delete3);m3.setFont(t);p

22、rivatevoidaddMenu2()/將菜單加入到菜單欄中m2.add(add2);m2.add(updata2);m2.add(delete2);m2.setFont(t);privatevoidaddMenu1()ml.add(addl);ml.add(updatal);ml.add(deletel);ml.setFont(t);/字體publicvoidactionPerformed(ActionEvente)Objectobj=e.getSource();if(obj=m5)System.exit(0);elseif(obj=add1)card.show(pCenter,”增加學生

23、界面");elseif(obj=updata1)card.show(pCenter,"修改學生界面");elseif(obj=delete1)card.show(pCenter,"刪除學生界面");elseif(obj=add2)card.show(pCenter,” elseif(obj=delete2) card.show(pCenter,” elseif(obj=updata2) card.show(pCenter,” elseif(obj=add3) card.show(pCenter,” elseif(obj=delete3) car

24、d.show(pCenter,” elseif(obj=updata3) card.show(pCenter,”增加課程界面刪除課程界面修改課程界面增加選課界面刪除選課界面修改選課界面");");");");");");elseif(obj=學生查詢)"););card.show(pCenter,”學生查詢界面elseif(obj=backup)card.show(pCenter,”備份界面publicstaticvoidmain(String口args)newMenu();4.3 學生管理模塊設計1、運行效果圖圖4.3.1

25、添加學生學籍圖4.3.1修改學生學籍圖4.3.1刪除學生學籍2、實現(xiàn)代碼:Addstu.java/Updatastu.java/Delstu.javaimportjava.awt.*;importjavax.swing.*;importjava.sql*;importjava.awt.event.*;publicclassAddstuextendsJPanelimplementsActionListenerJTextField學號,女4名,系別;JButton錄入;publicAddstu()tryUIManager.setLookAndFeel(UIManager.getSystemLook

26、AndFeelClassName();catch(Exceptione)System.err.println("不能設置外觀:"+e);學號"newJTextField(12);姓名"newJTextField(12);系別二newJTextField(12);錄入"newJButton("錄入");錄入.addActionListener(this);Boxbox1=Box.createHorizontalBox();/橫放boxBoxbox2=Box.createHorizontalBox();Boxbox3=Box.c

27、reateHorizontalBox();Boxbox4=Box.createHorizontalBox();box1.add(newJLabel("學號:"/*,JLabel.CENTER*/);box1.add(學號);box2.add(newJLabel("姓名:"/*,JLabel.CENTER*/);box2.add(姓名);box3.add(newJLabel("系另k7*,JLabel.CENTER*/);box3.add(系別);box4.add(錄入);BoxboxH=Box.createVerticalBox();/豎放bo

28、xboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanelmessPanel=newJPanel();messPanel.add(boxH);setLayout(newBorderLayout();add(messPanel,BorderLayout.CENTERvalidate。;publicvoidactionPerformed(ActionEventc)Objectobj=c.getSource();if(obj=錄入)if(學號.getText

29、().equals("")|姓名.getText().equals("")|系別.getText().equals("")JOptionPane.showMessageDialog(this,"學生信息請?zhí)顫M再錄入!");Statementstmt=null;ResultSetrs1=null;Stringsql,sql1;sql1="select*fromSwhereSno='"+學號.getText()+"”'sql="insertintoSvalues(

30、'"+學號.getText()+"','"+姓名.getText()+"','"+系別.getText()+"')"tryConnectiondbConn1=Conn.CONN;stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVEResultSet.CONCUR_READ_ONLYrs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.

31、showMessageDialog(this,"該學號以存在,無法添加)elsestmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,"添加成功");rs1.close();stmt.close();catch(SQLExceptione)System.out.print("SQLExceptionoccur.Messageis:"+e.getMessage();4.4 課程管理模塊設計1、運行效果圖圖4.4.1課程錄入界面圖4.4.2課程修改界面圖4.4.3課程刪除界面2、運行代

32、碼:AddC.java/UpdataC.java/DelC.javaimportjava.awt.*;importjavax.swing.*;importjava.sql*;importjava.awt.event.*;publicclassAddCextendsJPanelimplementsActionListenerJTextField課號,課名;JButton錄入;publicAddC()tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exceptione)System.err.pr

33、intln("不能設置外觀"+e);課號"newJTextField(12);課名=newJTextField(12);錄入=newJButton("錄入");錄入.addActionListener(this);Boxbox1=Box.createHorizontalBox();/橫放boxBoxbox2=Box.createHorizontalBox();Boxbox3=Box.createHorizontalBox();Boxbox4=Box.createHorizontalBox();box1.add(newJLabel("課

34、號:");box1.add(課號);box2.add(newJLabel("課名:");box2.add(課名);box4.add(錄入);BoxboxH=Box.createVerticalBox();/豎放boxboxH.add(boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanelmessPanel=newJPanel();messPanel.add(boxH);setLayout(newBorderLayout();add(mes

35、sPanel,BorderLayout.CENTE)Rvalidate。;publicvoidactionPerformed(ActionEventc)Objectobj=c.getSource();if(obj=錄入)if(課號.getText().equals("")|課名.getText().equals("")JOptionPane.showMessageDialog(this,”學生信息請?zhí)顫M再錄入!");Statementstmt=null;ResultSetrs=null,rs1=null;/結(jié)果集Stringsql,sql1;s

36、ql1="select*fromCwhereCno='"+課號.getText()+"”'sql="insertintoCvalues('"+課號.getText()+"','"+課名.getText()+"')"tryConnectiondbConn1=Conn.CONN;stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVEResultSet.CONCUR_REA

37、D_ONLYrs1=stmt.executeQuery(sql1);if(rs1.next()JOptionPane.showMessageDialog(this,”該課號以存在,無法添加)elsestmt.executeUpdate(sql);JOptionPane.showMessageDialog(this,"添力口成功)rs1.close();stmt.close();catch(SQLExceptione)System.out.print("SQL錯誤信息:"+e.getMessage();4.5選課管理模塊設計1、運行效果圖圖4.5.1成績錄入界面圖4

38、.5.2成績修改界面圖4.5.3成績刪除界面2、運行代碼:AddSC.java/UpdataSC.java/DelSC.javaimportjava.awt.*;importjavax.swing.*;importjava.sql.*;importjava.util.*;importjavax.swing.filechooser.*;importjava.io.*;importjava.awt.event.*;publicclassAddSCextendsJPanelimplementsActionListenerJTextField課號,學號,成績;JButton錄入;publicAddSC

39、()tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName();catch(Exceptione)System.err.println("不能設置夕卜觀"+e);課號二newJTextField(12);學號二newJTextField(12);成績=newJTextField(12);錄入=newJButton("錄入");錄入.addActionListener(this);Boxbox1=Box.createHorizontalBox();/橫放boxBoxbox2=B

40、ox.createHorizontalBox();Boxbox3=Box.createHorizontalBox();Boxbox4=Box.createHorizontalBox();box1.add(newJLabel("課號:");box1.add(課號);box2.add(newJLabel("學號:");box2.add(學號);box3.add(newJLabel("成績:");box3.add(成績);box4.add(錄入);BoxboxH=Box.createVerticalBox();/豎放boxboxH.add(

41、boxl);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue();JPanelmessPanel=newJPanel();messPanel.add(boxH);setLayout(newBorderLayout();add(messPanel,BorderLayout.CENTER);validate。;publicvoidactionPerformed(ActionEventc)Objectobj=c.getSource();if(obj=錄入)if(課號.getText().equals("&quo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論