版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、/需求分析:寫(xiě)一個(gè)較為嚴(yán)謹(jǐn)?shù)膶W(xué)生選課系統(tǒng),實(shí)現(xiàn)學(xué)生可以選擇多門(mén)選課課程, 并將有效選課結(jié)果保存到數(shù)據(jù)庫(kù)。 學(xué)生需要登錄后,才能選課。讓學(xué)生可以在選 課系統(tǒng)通過(guò)多種方式查詢到要選的課程信息。/選課規(guī)如此:1每個(gè)學(xué)生可以選多門(mén)課程,屢次選課的總學(xué)分不能超過(guò)6學(xué)分;2、不能重復(fù)選擇一門(mén)課程;3、每一門(mén)課程的選課人數(shù)都有數(shù)量限制,當(dāng)某 門(mén)課程的選課名額滿時(shí),如此應(yīng)另選課程。 4、憑用戶名和密碼登錄,通過(guò)提交 某一課程號(hào)來(lái)選課/總體設(shè)計(jì)方案:建立三個(gè)類(lèi):登錄類(lèi)register ,選課類(lèi)studentChooseCourse, 數(shù)據(jù)庫(kù)工具類(lèi)JDBCUtil ; 一個(gè)SQL腳本文件用于生成數(shù)據(jù)庫(kù)表結(jié)構(gòu)和初始
2、記錄, 以搭建數(shù)據(jù)庫(kù)環(huán)境。登錄類(lèi)register類(lèi),負(fù)責(zé)對(duì)用戶的身份進(jìn)展驗(yàn)證;工具類(lèi)JDBCUtil用于實(shí)現(xiàn)連 接,你可調(diào)用JDBCUtil的getConnection()方法等到。選課類(lèi)studentChooseCourse用于,實(shí)現(xiàn)選課功能。其中包括幾個(gè)主要方法:1、actionPeformed(ActionEvent) 用于監(jiān)聽(tīng)用戶“查詢"和“提交"操作, 并 負(fù)責(zé)調(diào)用各種方法對(duì)其進(jìn)展處理2、createSearchCourse()用于產(chǎn)生圖形用戶界面3、processBeforemit()用于對(duì)用戶的“提交"查找進(jìn)展驗(yàn)證,剔除無(wú)效的用戶 操作4、trymi
3、t()負(fù)責(zé)對(duì)有效的“提交"操作,進(jìn)一步處理,并將有效的操作結(jié)果時(shí) 時(shí)保存到數(shù)據(jù)庫(kù),并更新數(shù)據(jù)庫(kù)原有信息/本程序用到的知識(shí)點(diǎn):數(shù)據(jù)庫(kù)連接 JDBC SQL建表、插入輸入、動(dòng)態(tài)查詢;圖 形用戶界面的產(chǎn)生以與處理查詢結(jié)果集并較好顯示;程序設(shè)計(jì)根底知識(shí)。/代碼如下:import java.awt.GridLayout;import java.awt.eve nt.Acti on Eve nt;import java.awt.eve nt.Actio nListe ner;import java.sql.*;import javax.swi ng.*;import javax.sw in g.
4、table.DefaultTableModel;import school.schoolPicture .J dbcUtil; public class Stude ntChooseCourse exte nds JFrame impleme ntsActi on Liste ner JTextField jtfSearch = new JTextField(11);String columnNames = new String " 課程 ID"," 課程名","學(xué)時(shí)","學(xué) 分","學(xué)期",&
5、quot;性質(zhì)"DefaultTableModel dtmSearch = new DefaultTableModel(colum nN ames, 27);JTable jtSearch = new JTable(dtmSearch);JScrollPa ne jspSearch = new JScrollPa ne(jtSearch);oBox jcbSearch = new oBox();JTextField jtfSelectedCourse = new JTextField(10);Connection con = n ull;PreparedStateme nt ps =
6、 nu II;ResultSet rs = null;private static Stri ng usrName;private static String passwrd;/在構(gòu)造方法中添加兩個(gè)參數(shù)。以便在"提交"時(shí),將學(xué)生的身份連同所選的課程, 一同記錄在學(xué)生選課表中。public Stude ntChooseCourse(Stri ng usrName, String passwrd) createSearchCourse();this.usrName = usrName;this.passwrd = passwrd;public Stri ng getUsrNam
7、e() return usrName;public void setUsrName(Stri ng usrName) this.usrName = usrName;public String getPasswrd() return passwrd;public void setPasswrd(Stri ng passwrd) this.passwrd = passwrd;/根據(jù)用戶的時(shí)間,做出相應(yīng)的反映public void actio nPeformed(Actio nEve nt e) Stri ng str = e.getActi onman d();/清空結(jié)果顯示區(qū)中的內(nèi)容,如果有的話
8、。if ("查詢".trim().equals(str) int k = 1;while (k < 10) for (int i = 1; i < 7; i+) jtSearch.setValueAt(null, k - 1, i - 1);k+;/調(diào)用下面的這個(gè)方法,在數(shù)據(jù)庫(kù)中進(jìn)展查找,并將結(jié)果顯示在表格中。searchAvailableCourse(); else if (" 提交".equals(str) processBeforemit()對(duì)用戶選課操作進(jìn)展有效性檢驗(yàn);/剔除無(wú)效操作:如輸入無(wú)效的課程號(hào),或已經(jīng)選擇了某一課程,已經(jīng)選滿
9、的6學(xué)分等各種情況boolea n effect=processBeforemit();/如果課程存在,且該學(xué)生具有選擇該課程的資格,即effect為true,進(jìn)入正式提交程序(trymit()if(effect=true)trymit();/對(duì)用戶選課操作進(jìn)展有效性檢驗(yàn);public boolea n processBeforemit()/清空原結(jié)果顯示區(qū)中的內(nèi)容,如果有的話。int k = 1;while (k < 10) for (int i = 1; i < 7; i+) jtSearch.setValueAt(null, k - 1, i - 1);k+;/取得用戶輸入的
10、課程號(hào)Stri ng userl nput = jtfSelectedCourse.getText().toStri ng().trim().toLowerCase();/無(wú)效操作1:在數(shù)據(jù)庫(kù)中的coursexx表中查詢?cè)撜n程號(hào)。如果不存在該課程, 給出提示。Stri ng sql = "select o from coursexx where o=?"boolea n flagCourseExist = false;try ps = con .prepareStateme nt(sql);ps.setStri ng(1, userl nput);rs = ps.execu
11、teQuery(); flagCourseExist = rs. next(); catch (Excepti on eC) eC.pri ntStackTrace();if (flagCourseExist) JOptionPane.showMessageDialog(null,"該課程不存在,請(qǐng)重新輸入");return false;/判斷該學(xué)生選修課已選課程的總學(xué)分是否小于6;/無(wú)效操作2:如果已有選課記錄,并且總學(xué)分大于6學(xué)分,該學(xué)生不能在選了PreparedStateme nt ps = nu II;sql = "select sum(grade)&qu
12、ot;+ "from (select x.s name , x.o,k.grade grade "+ "from coursexx k join choicesxx x "+ "on k.o=x.o and x.s name二?)result"Stri ng grade =n ull;try ps = con .prepareStateme nt(sql);ps.setStri ng(1, usrName);rs = ps.executeQuery();while (rs. next() grade = rs.getStri ng(1
13、);if(grade=二nu ll)grade二"0" catch (Excepti on rrr) rrr.pri ntStackTrace();System.out.pri ntl n(" 總學(xué)分:"+ grade);if (In teger.parse In t(grade) > 6) JOptio nPan e.showMessageDialog( null,"你已經(jīng)選滿 6 學(xué)分,系統(tǒng)將退出");this.setVisible(false);return false;/無(wú)效操作3:課程該學(xué)生已經(jīng)選擇了某課程,如此不能再
14、選該課程了。sql = "select * from choicesxx where sn ame=? and o=?"boolea n flag = false;try ps = con .prepareStateme nt(sql);ps.setStri ng(1, this.getUsrName();ps.setStri ng(2, userl nput);rs = ps.executeQuery();flag = rs.n ext(); catch (Excepti on eaa) eaa.pri ntStackTrace();if (flag) JOptionPa
15、ne.showMessageDialog(null,"你已經(jīng)選擇了該課程。請(qǐng)另選課程"); return false;/如果以上無(wú)效操作都不存在,如此返回true,意為這是一個(gè)準(zhǔn)有效操作return true;/對(duì)有效的提交操作的進(jìn)展處理public void trymit() / userInput為用戶輸入的課程ID.Stri ng userI nput = jtfSelectedCourse.getText().toStri ng().trim().toLowerCase();/ if course still available(cou nt<MAX_STUD
16、ENT),save result./ else if course n ot available,show Message to stude nt.PreparedStateme nt ps;String sql = "select (Max-selectedCo unt) as Rema in edCo unt "+ "from Coursexx where o=?"try ps = con .prepareStateme nt(sql);/取得學(xué)生ID或名字,將課程ID存入學(xué)生選課表choicesxxps.setStri ng(1, userI np
17、ut);rs = ps.executeQuery();ResultSetMetaData meta = rs.getMetaData();int cols = meta.getColu mnCoun t();int Rema in edCo unt = -1;while (rs. next() Rema in edCo unt = rs.getI nt(1);System.out.pri ntl n("Remai nedCo un t:" + Remai nedCo un t);/如果該課程還有選擇的名額,提示單項(xiàng)選課操作成功。if (RemainedCount >
18、0) / save stude ntld and courseId to stude nt-course table./ this.getUsrName();userl nputsql = "in sert into choicesxx values(?,?)"ps = con .prepareStateme nt(sql);ps.setStri ng(1, this.getUsrName();ps.setStri ng(2, userI nput);ps.executeUpdate();JOptio nPan e.showMessageDialog( null,"
19、;選課成功:"+ this.getUsrName()+ " 選了 " + userInput + "." + "" + "還有"+ RemainedCount+ "人可以選該課程。");/更新課程中已選該課程的人數(shù):即將可選該課程的人數(shù)減去1個(gè)人。sql = "update CourseXX set selectedCou nt=selectedCou nt+1 where o=?"ps = con .prepareStateme nt(sql);ps.setStr
20、i ng(1, userI nput);ps.executeUpdate();con. mit();/如果該課程已經(jīng)沒(méi)有選擇名額,提示重新選課 catch (Excepti on es) es.pri ntStackTrace();try con .rollback。; catch (Excepti on ey) ey.pri ntStackTrace();/對(duì)用戶查詢課程信息,進(jìn)展處理,并顯示查詢結(jié)果public void searchAvailableCourse() /讓程序自動(dòng)選擇連接的是 Oracle或SqlServer.if (JDBCUtil.getConnection() !=
21、 null) System.out.pri ntln(JDBCUtil.getCo nn ectio n();con = JDBCUtil.getCo nn ectio n(); else con = JdbcUtil.getC onn ecti on();/userI nput取得用戶輸入的信息,selectedItem取得用戶選擇的查詢方式Stri ng userI nput = jtfSearch.getText().toStri ng().trim().toLowerCase();Stri ng selectedItem = jcbSearch.getSelectedltem().to
22、Stri ng().trim();System.out.pri ntln ("User search:" + userI nput);System.out.pri ntl n("selectedltem:" + selectedItem);Stri ng sql = nu II;/按用戶查詢方式,如按課程名,課程ID或?qū)W時(shí)的查詢進(jìn)展處理;并在表格中 實(shí)現(xiàn)結(jié)果try if (" 課程名".equals(selectedItem) sql = "select o,ame,hour,grade,term,isNeed from C
23、ourseXXwhere ame = ?" ps = con .prepareStateme nt(sql);ps.setStri ng(1, userI nput); else if (" 課程 ID".equals(selectedltem) sql = "select o,ame,hour,grade,term,isNeed from CourseXX where o = ?" ps = con .prepareStateme nt(sql);ps.setStri ng(1, userI nput); else if (" 學(xué)時(shí)
24、".equals(selectedItem) sql = "select o,ame,hour,grade,term,isNeed ps = con .prepareStateme nt(sql);ps.setInt(1, Integer.parseInt(userInput); else if (" 學(xué)分".equals(selectedItem) sql = "select o,ame,hour,grade,term,isNeed ps = con .prepareStateme nt(sql);ps.setInt(1, Integer.p
25、arseInt(userInput); else if (" 學(xué)期".equals(selectedItem) sql = "select o,ame,hour,grade,term,isNeed ps = con .prepareStateme nt(sql);ps.setStri ng(1, userI nput);System.out.pri ntln( sql);rs = ps.executeQuery();con. mit();ResultSetMetaData meta = rs.getMetaData(); int cols = meta.getCo
26、lu mnCoun t();Stri ng result = n ull;int k = 1;boolea n flag = false;/將查詢結(jié)果以表格的形式顯示出來(lái)from CourseXXwhere hour = ?"from CourseXXwhere grade = ?"from CourseXXwhere term = ?"while (rs. next() for (i nt i = 1; i <= cols; i+) result = rs.getStri ng(i); System.out.pri ntln( result); jtSea
27、rch.setValueAt(result, k - 1, i - 1);k+;flag = true;/如果查詢結(jié)果集為空,提示用戶沒(méi)有該課程if (flag = false) JOptio nPan e.showMessageDialog( null," return;該課程不存在,請(qǐng)重新輸入"); catch (Excepti on ex) ex.pri ntStackTrace(); try con .rollback。; catch (Excepti on er) er.pri ntStackTrace();/產(chǎn)生圖形用戶界面,以便用戶操作public void
28、createSearchCourse() this.setLayout( new GridLayout(3, 1);JPa nel jp1 = new JPa nel();jp1.setLayout( new GridLayout(4, 1);JPa nel jp2 = new JPa nel();JPa nel jp3 = new JPa nel();JPanel jp10 = new JPanel();JPanel jp11 = new JPanel();JPanel jp12 = new JPanel();JPanel jp13 = new JPanel();JLabel jlSearc
29、h = new JLabel("學(xué)生選課系統(tǒng) ”); jp11.add(jlSearch);jcbSearch.addltem(new String("課程名"); jcbSearch.addltem(new String("課程 ID"); jcbSearch.addltem(new String("學(xué)時(shí)"); jcbSearch.addltem(new String("學(xué)分"); jcbSearch.addltem(new String("學(xué)期"); jp12.add(jtfSea
30、rch);jp12.add(jcbSearch);utton OK = new utton(” 查詢");OK.addActi on Liste ner(this); OK.setSize(90, 20);jp13.add(OK);jp1.add(jp10);jp1.add(jp11);jp1.add(jp12);jp1.add(jp13);jp2.add(jspSearch);JLabel jlSelectedCourse = new JLabel('請(qǐng)輸入課程 ID:"); utton SelectedCourse = new utton("提交&qu
31、ot;);SelectedCourse.addAct ion Liste ner(this); jp3.add(jlSelectedCourse);jp3.add(jtfSelectedCourse);jp3.add(SelectedCourse);this.add(jp1);this.add(jp2);this.add(jp3);this.setVisible(true);this.setSize(485, 600);/當(dāng)某學(xué)生有效登錄后,啟動(dòng)程序?qū)W(xué)生的登錄信息也傳過(guò)來(lái),以便保存選課操作時(shí)使用public static void main( Stri ng args) /Stri ng u
32、srName = "xulia ng"/Stri ng passwrd = "123"new Stude ntChooseCourse(usrName, passwrd);/-以下為搭建學(xué)生選課系統(tǒng)的SQLW本文件。只需運(yùn)行一次,就可有完整的 數(shù)據(jù)庫(kù)表結(jié)構(gòu)和初始記錄。/該腳本針對(duì)SQLserver ; Oracle的SQL腳本類(lèi)似,只需將將數(shù)據(jù)類(lèi)型如varchar 改為 varchar2,int改為 number等-table1: registerXU 登錄表drop table registerXu;create table registerXu (i
33、d varchar(20),userName varchar(20),passWord varchar(20),ide ntify varchar(20);in sert into registerXu values('s001','xulia ng','123','學(xué)生');in sert into registerXu values('s002','xulia ng2','1234','學(xué)生');in sert into registerXu values(
34、9;j001','jack','12345','學(xué)生');in sert into registerXu values('001','user','user','學(xué)生');in sert into registerXu values('z001','zlm','corejava','教師');-Stri ng sql = "select * from registerXu " -+ "
35、;where userName=? and passWord=? and ide ntify=?"-table 2:Coursexx 課程表drop table Coursexx;create table Coursexx(o varchar(20) primary key,ame varchar(20),hour Int, grade In t,term varchar(20),isNeed varchar(20), selectedCo unt In t ,MaxIn t);insert into Coursexxvalues('c001','CoreJa
36、va',50,5,'201007','NoNecessary',0,50);insert into Coursexxvalues('c002','XML',20,2,'201008','NoNecessary',0,40);insert into Coursexxvalues('c003','HIBERNATE',20,4,'201008','NoNecessary',0,30);insert into Coursexxvalu
37、es('c004','SQL',20,4,'201006','NoNecessary',0,5);insert into Coursexxvalues('c005','JDBC',20,2,'201008','NoNecessary',0,3);insert into Coursexx values('c006','AJAX',20,2,'201010','NoNecessaiy',0,1);insert
38、 into Coursexxvalues('c007','JSP',100,8,'201009','NoNecessary',0,1-sql = "select o,ame,hour,grade,term,isNeed from CourseXXwhere ame= ?"-table 3:學(xué)生表-drop table stude ntxx;create table studentxx(sidvarchar(20),sname varchar(20) primary key,sexvarchar(20),birt
39、hday varchar(20),className varchar(20), image varchar(20);insert into stude ntxxvalues('s001','xulia ng','male','19901124','sd1003','good');insert into stude ntxxvalues('s002','xulia ng2','male','19851124','sd0910
40、9;,'good');insert into stude ntxxvalues('j001','jack','male','19881124','sd1003','good');insert into stude ntxxvalues('001','user','male','19901124','sd1005','good');insert into stude ntxxvalues(&
41、#39;s003','sisi','female','19880124','sd1007','good');insert into stude ntxxvalues('as003','crystal','female','19880124','asd1007','good');-table 4:choices學(xué)生選課表drop table choicesxx;create table choicesxx(sn a
42、me varchar(20) refere nces stude ntxx(s name),o varchar(20) refere nces coursexx(o);-判斷某一個(gè)學(xué)生已經(jīng)選的課程的總學(xué)分是否小于6分/ 用戶登錄類(lèi)/用途:驗(yàn)證用戶是否具有登錄系統(tǒng)的資格 package school;import javax.swi ng.*;import school.schoolPicture.JdbcUtil;import java.sql.*;import java.awt.*;import java.awt.eve nt.*;public class Register impleme
43、nts Action Liste ner JFrame jf = new JFrame(”學(xué)生成績(jī)管理與選課系統(tǒng)");JTextField jtfUserName = new JTextField(10);JPasswordField jpfPassWord = new JPasswordField(10);oBox ide ntify = new oBox();/con structorpublic Register() CreateRegisterGUI();/ deal with user action, when user check:"登錄","
44、;取消"or "注冊(cè)"public void actio nPerformed(Actio nEve nt e) Stri ng str = e.getActi onman d();if (str.equalsIg no reCase(”登錄")/當(dāng)用戶點(diǎn)擊登錄時(shí),調(diào)用以下方法去數(shù)據(jù)庫(kù)做匹配processLogi n(); else if (str.equalsIg noreCase(”取消")jtfUserName.setText("");jpfPassWord.setText(""); else if
45、 (str.equalsIg noreCase(”注冊(cè)")new CreateLogi n();/當(dāng)用戶點(diǎn)擊登錄時(shí),調(diào)用以下方法去數(shù)據(jù)庫(kù)做匹配public void processLogi n() / create conn ecti on to the database.Connection con = n ull;/ Co nn ection con = JDBCUtil.getCo nn ectio n();/讓程序自動(dòng)連接相應(yīng)的數(shù)據(jù)庫(kù),以防止連接數(shù)據(jù)庫(kù)時(shí)頻繁改動(dòng)連接程序if (JdbcUtil.class = null) /連接達(dá)內(nèi)Oracle數(shù)據(jù)庫(kù)con = JdbcUti
46、l.getC onn ecti on(); else /連接本地SQLSERVER據(jù)庫(kù)con = JDBCUtil.getCo nn ectio n();/ write sql sentenceStri ng usrName = jtfUserName.getText().trim();String passwrd = new String(jpfPassWord.getPassword().trim();Stri ng ide nt = ide ntify.getSelectedltem().toStri ng().trim();Stri ng sql = "select * fr
47、om registerXu "+ "where userName=? and passWord=? and ide ntify=?"System.out.pri ntl n(usrName + ":" + passwrd + ":" + ide nt);/ create object of PreparedStateme nttry PreparedStateme nt ps = con .prepareStateme nt(sql);/ Prepare parameter for the sqlps.setStri ng(
48、1, usrName);ps.setStri ng(2, passwrd);ps.setStri ng(3, ide nt);/ send parameter to piler to pile.ResultSet rs = ps.executeQuery();Strin gBuffer sb = new Strin gBuffer("");ResultSetMetaData meta = rs.getMetaData();int cols = meta.getColu mnCoun t();/you can use ano ther simple way to check
49、whether the people has records in database:/define a boolean flag=false, if has record change it/to true;otherwise, if flag=flase,showMessage("l nput ERROR")while (rs. next() for (i nt i = 1; i < cols; i+) sb.appe nd(meta.getColu mn Name(i);sb.appe nd(rs.getStri ng(i);if (sb.le ngth() &
50、lt; 1) JOptionPane.showMessageDialog(null,"用戶名或密碼錯(cuò)誤"); else if (sb.le ngth() >= 1) if (ide nt.equals("stude nt") /if he or she is a stude nt, and usrName-passwrd alright, the n go to學(xué)生選課系統(tǒng)new StudentChooseCourse(usrName, passwrd);jf.setVisible(false);/ new Stude ntE ntered();
51、else if (ide nt.equals("teacher") / new TeacherE ntered(usrName,passwrd);new TeacherE ntered();jf.setVisible(false); else if (ide nt.equals("adm in") / go to admi ni strator pages. catch (Excepti on er) er.pri ntStackTrace();/產(chǎn)生圖形用戶界面public void CreateRegisterGUI() jf.setLayout (
52、new GridLayout(5, 1);JPa nel jp1 = new JPan el();JLabel jl1 = new JLabel("學(xué)生成績(jī)管理系統(tǒng)");jp1.add(jl1);jf.add(jp1);JPa nel jp2 = new JPan el();JLabel jl2 = new JLabel(" 用戶名:");jp2.add(jl2);jp2.add(jtfUserName);jf.add(jp2);JPa nel jp3 = new JPan el();/ JPasswordField jpfPassWord = new JPasswordField(10); JLabel passWord = new JLabel(" 密 碼:");jp3.add(passWord);jp3.add(jpfPassWord);jf.add(jp3);JPa nel jp4 = new JPa nel();JLabel jl4 = new JLabel(&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 贛南醫(yī)學(xué)院《視唱與聲樂(lè)(一)》2023-2024學(xué)年第一學(xué)期期末試卷
- 贛南衛(wèi)生健康職業(yè)學(xué)院《環(huán)境工程經(jīng)濟(jì)管理與倫理》2023-2024學(xué)年第一學(xué)期期末試卷
- 甘肅中醫(yī)藥大學(xué)《蒙臺(tái)梭利教學(xué)法》2023-2024學(xué)年第一學(xué)期期末試卷
- 《心臟疾病用藥》課件
- 小學(xué)生作文起步講解課件
- 三年級(jí)數(shù)學(xué)上冊(cè)第八單元分?jǐn)?shù)的初步認(rèn)識(shí)第2課時(shí)幾分之幾教案新人教版
- 2022年C基礎(chǔ)知識(shí)速記速練考試題庫(kù)(核心500題)
- 小學(xué)生校園安全知識(shí)培訓(xùn)制度
- 聆聽(tīng)培訓(xùn)課件
- 《柱狀晶等等》課件
- 大樹(shù)的故事 單元作業(yè)設(shè)計(jì)
- 六年級(jí)道德與法治學(xué)情分析
- 新加坡雙語(yǔ)教育政策發(fā)展研究
- (全國(guó)通用版)小學(xué)英語(yǔ)四大時(shí)態(tài)綜合練習(xí)(含答案)
- 走近翻譯學(xué)習(xí)通超星課后章節(jié)答案期末考試題庫(kù)2023年
- 互聯(lián)網(wǎng)體檢對(duì)話版
- 西方憲政民主主義思潮34張課件
- 汽車(chē)動(dòng)力電池用膠解決方案
- 護(hù)理查房動(dòng)脈導(dǎo)管未閉課件
- 急性嚴(yán)重創(chuàng)傷搶救流程圖
- 校長(zhǎng)答辯題(含答題要點(diǎn))
評(píng)論
0/150
提交評(píng)論