在線考試系統(tǒng)JAVA_第1頁(yè)
在線考試系統(tǒng)JAVA_第2頁(yè)
在線考試系統(tǒng)JAVA_第3頁(yè)
在線考試系統(tǒng)JAVA_第4頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精品文檔題目在線考試系統(tǒng)1、實(shí)驗(yàn)?zāi)康?熟練運(yùn)用JAVA開(kāi)發(fā)環(huán)境及工具、并用JAVA語(yǔ)言編寫程序; 掌握面向?qū)ο蟮母拍睿?掌握系統(tǒng)功能模塊的合理劃分,并實(shí)現(xiàn)各模塊接口的連接; 掌握C/S結(jié)構(gòu)的編程方法; 設(shè)計(jì)數(shù)據(jù)庫(kù)模型。2、實(shí)驗(yàn)內(nèi)容 編輯生成試題庫(kù),隨機(jī)生成本次考試試題,同時(shí)提供在線評(píng)分并保存結(jié)果。 選擇ACCESS作為后臺(tái)的數(shù)據(jù)庫(kù)。3、實(shí)驗(yàn)過(guò)程3.1系統(tǒng)模塊部分設(shè)計(jì) 在線考試系統(tǒng)考試 管理試 卷 管 理題 庫(kù) 管 理評(píng)卷管理成績(jī)管理信息管理題庫(kù)管理:用于對(duì)單個(gè)試題的增、刪、改、查等基本維護(hù),還可對(duì)題庫(kù)進(jìn)行數(shù)據(jù) 備份和數(shù)據(jù)還原。我們針對(duì)不同題型、不同應(yīng)用范圍及不同科目對(duì)試題進(jìn)行維護(hù)。 試卷管理:

2、可進(jìn)行三種組卷方式的維護(hù):隨機(jī)組卷、人工組卷、綜合組卷。還可 對(duì)考生的基本信息進(jìn)行維護(hù)。考試管理:對(duì)考試分配試卷,并對(duì)考試的基本信息進(jìn)行維護(hù)。相當(dāng)于人工安排考 試的過(guò)程評(píng)卷管理:對(duì)試卷的客觀題分配評(píng)卷人,并對(duì)評(píng)卷人基本信息進(jìn)行管理。成績(jī)管理:對(duì)每次考試的學(xué)生成績(jī)的基本信息進(jìn)行維護(hù), 并提供學(xué)生成績(jī)的統(tǒng)計(jì) 管理。用戶管理:對(duì)使用本系統(tǒng)的用戶基本信息進(jìn)行維護(hù),用戶多數(shù)為:系統(tǒng)管理員、 老師、教務(wù)處人員、其他權(quán)限管理:對(duì)系統(tǒng)的訪問(wèn)權(quán)限進(jìn)行管理,并對(duì)用戶可進(jìn)行權(quán)限的分配。系統(tǒng)應(yīng)該具備的基本功能各模塊需完成以下功能:隨人綜機(jī)工合組組組卷卷卷題型維護(hù):對(duì)試題的題型進(jìn)行 增、刪、改、查操作。在操作之后會(huì)自動(dòng)

3、刷新主頁(yè), 以使信息更新。范圍維護(hù):對(duì)試題的應(yīng)用范圍進(jìn)行 增、刪、改、查操作。在操作之后會(huì)自動(dòng)刷新 主頁(yè),以使信息更新??颇烤S護(hù):對(duì)試題的科目進(jìn)行 增、刪、改、查操作。在操作之后會(huì)自動(dòng)刷新主頁(yè), 以使信息更新。試題維護(hù):對(duì)試題的基本信息進(jìn)行 增、刪、改、查操作。在操作之后會(huì)自動(dòng)刷新 主頁(yè),以使信息更新。其他維護(hù):對(duì)試題信息的批量查詢,并可進(jìn)行數(shù)據(jù)導(dǎo)出、數(shù)據(jù)備份、數(shù)據(jù)恢復(fù)。 隨機(jī)組卷:用戶只需對(duì)試卷題型進(jìn)行設(shè)置就可組卷的方式。人工組卷:可使用戶選擇試卷的題型中的試題的組卷方式。綜合組卷:是隨機(jī)組卷與人工組卷的混合組卷方式, 即用戶對(duì)某一類型的試題可 進(jìn)行選擇,也可對(duì)試題不進(jìn)行選擇。試卷其他維護(hù):

4、對(duì)試卷信息的批量查詢,對(duì)試題的數(shù)據(jù)備份與還原。考試信息維護(hù):對(duì)考試的時(shí)間、地點(diǎn)、監(jiān)考人、考試用的試卷、試卷總分?jǐn)?shù)及答 卷總時(shí)間等考試的基本要素進(jìn)行設(shè)置??忌畔⒕S護(hù):對(duì)考試的學(xué)生的基本信息進(jìn)行增、刪、改、查 操作,在操作之后 會(huì)自動(dòng)刷新主頁(yè),以使信息更新。分配評(píng)卷人:對(duì)考試所用試卷的客觀題分配評(píng)卷人, 并對(duì)評(píng)卷的基本信息進(jìn)行維 護(hù)。評(píng)卷人評(píng)卷:對(duì)分配試卷的評(píng)卷人可以在此進(jìn)行評(píng)卷??忌煽?jī)維護(hù):對(duì)考試的考生成績(jī)信息進(jìn)行統(tǒng)計(jì)與匯總, 對(duì)有權(quán)限的人可進(jìn)行成績(jī)的增、刪、改、查操作。成績(jī)其他維護(hù):對(duì)考生成績(jī)信息的批量查詢,并可進(jìn)行數(shù)據(jù)導(dǎo)出、數(shù)據(jù)備份、數(shù) 據(jù)恢復(fù)。用戶基本信息維護(hù):對(duì)使用本系統(tǒng)的用戶進(jìn)行維

5、護(hù),而用戶的權(quán)限由權(quán)限管理進(jìn) 行維護(hù),并分配給用戶,使用戶只能訪問(wèn)自己擁有的權(quán)限內(nèi)。權(quán)限信息維護(hù):對(duì)基本的權(quán)限進(jìn)行維護(hù),用戶可自定義維護(hù)權(quán)限。用戶分配權(quán)限:對(duì)未分配權(quán)限的用戶進(jìn)行權(quán)限的分配,即對(duì)分配權(quán)限的增、刪、 改、查操作。信息基本維護(hù):我們的信息除了有關(guān)考試的信息外,還有公告、新聞、留言信息 需要我們維護(hù),其中公告、新聞?dòng)珊笈_(tái)有權(quán)限的人進(jìn)行增、刪、改、查 操作,而 留言是由前臺(tái)的用戶(學(xué)生)或游客錄入的,我們要防止垃圾數(shù)據(jù)顯示,即對(duì)留 言有權(quán)更改等操作。3.2系統(tǒng)結(jié)構(gòu)圖1)、本系統(tǒng)分為學(xué)生前臺(tái)子系統(tǒng)和考試管理子系統(tǒng),整個(gè)系統(tǒng)的結(jié)構(gòu)圖如下:3.3數(shù)據(jù)庫(kù)設(shè)計(jì) 試題類型表 (questionTy

6、pe_table) :其中包括了試題的類型的基本信息,如類型 名稱、答題方式、說(shuō)明信息等字段;錄入時(shí),我們將答題方式確定為大概幾種類 型:填空方式,選擇方式,問(wèn)答方式,判斷方式,綜合方式。試題范圍表 ( questionBound_table ) :用于控制試題應(yīng)用的范圍,如同樣的科目 語(yǔ)文,在小學(xué)、初中、高中、大學(xué)都有,由此我們?cè)O(shè)定了此表,此表中有范圍名 稱、范圍說(shuō)明等基本信息;所屬科目表 (questionSubject_table) :用于錄入試題相關(guān)的科目應(yīng)用,它可以 有不同的應(yīng)用范圍。如上所述,我們只需錄入一次的科目,就可方便我們?cè)阡浫?試題時(shí)每次都錄。各種題庫(kù)表:我們采用一種類型的

7、題存儲(chǔ)在一個(gè)表中,由此我 們會(huì)有填空題表( question_blanc_table )、單選題表( question_selectone_table )、多選題表( question_selectMany_tabel )一 題多問(wèn)表 (question_askone_table) 、一題多問(wèn)表 (question_askMany_table) 、 判斷題表( question_judge_table )等試題表試卷表 (exam_table) :用于報(bào)存考試中試卷的基本信息,如出卷方式 (有隨機(jī)出 卷、人工出卷、綜合出卷)、試卷名稱、試卷應(yīng)用范圍(與試題范圍相對(duì)應(yīng))、 試卷所屬科目(與試題科

8、目相對(duì)應(yīng)) 、試題標(biāo)題級(jí)別、試題標(biāo)題內(nèi)容、試題總類 型、試題個(gè)數(shù)、試題總 ID 等基本信息。學(xué)生表 (student_table) :用于保存學(xué)生的考試的用戶名及登陸密碼。成績(jī)表 (grade_table) :用于存儲(chǔ)學(xué)生的考試成績(jī)。評(píng)題表 (appraiser_question_table) :對(duì)于主觀題的答案我們須要評(píng)卷人 (有權(quán) 限的用戶)進(jìn)行手工評(píng)卷,本表用來(lái)存儲(chǔ)評(píng)卷人評(píng)卷的一些信息。答案表 (student_answer_table) :用于存儲(chǔ)學(xué)生問(wèn)答題的答案,如試卷 ID ,學(xué) 生 ID 及各種試題類型的答案字段。用戶表 (user_table) :用于保存用戶的登陸的基本信息及

9、分配的權(quán)限。權(quán)限表 (purview_table) :用于存儲(chǔ)用戶組織的的權(quán)限,通過(guò)分配操作模塊的權(quán) 限組織權(quán)限。4、關(guān)鍵代碼及其分析4.1ServerGui.javapublic void actionPerformed(ActionEvent e) if (e.getSource() = log) / boolean b=login();String username = JOptionPane.showInputDialog(this, 請(qǐng) 輸入用戶名 , 輸 入 用 戶 名 , JOptionPane.QUESTION_MESSAGE).trim();String password =

10、 JOptionPane.showInputDialog(this, 請(qǐng) 輸入密碼 , 輸 入 密 碼 , JOptionPane.QUESTION_MESSAGE).trim();if (username = null | password = null) username = temp; password = temp; return;adminCheck(username,password);/ 驗(yàn)證管理員if (tf = true) JOptionPane.INFORMATION_MESSAGE);if (start = true)JOptionPane.showMessageDial

11、og(this, 登陸成功! , 成功,JOptionPane.INFORMATION_MESSAGE);toolBar1.setVisible(true);split_one.setVisible(true); else linkArea.append(ServerManager.linkShow(ServerManager.linkstatus)+ n);請(qǐng)/JOptionPane.showMessageDialog(this, 登陸失??! , 失敗,JOptionPane.ERROR_MESSAGE);return; else if (e.getSource() setCount) us

12、erCountJOptionPane.showInputDialog(this, 輸入本次考試的人數(shù) );inittest();數(shù)據(jù)庫(kù)信息初始化elseif (e.getSource() =startSer) if(settime = true&setcount =true) new ServerManager();serArea.append( 服務(wù)器已啟動(dòng) n 預(yù)設(shè)考試人數(shù)為 : + userCount + n 考試時(shí)間為: + timeCount +n);start = true; else JOptionPane.showMessageDialog(this, 你還沒(méi)有設(shè)置考試信息 ,

13、 警告信息 , else JOptionPane.showMessageDialog(this, 服務(wù)器還沒(méi)有啟動(dòng)不能進(jìn)行操作 , 警 告信息 ,JOptionPane.INFORMATION_MESSAGE); else if (e.getSource() = userButton) if (start = true)userArea.append(ServerManager.userShow(ServerManager.userstatus)+ n);userArea.append(ServerManager.cou ntShow(ServerManager.ucount); else p

14、ublic void adminCheck(String s1, String s2)ConnectBeancb=newConnectBean();if (!cb.ope nConnection() System.out.println(”連接數(shù)據(jù)失敗);System.exit(l); return;4.2Server_login.java/定義一個(gè)接收用戶登陸的類 public void run() Stri ng s = n ull;try s = in .readUTF(); /接收考試號(hào)和密碼,然后分別取出Strin gToke ni zerst = newStri ngToke ni

15、 zer(s, ,);if (st.hasMoreToke ns() str1 = st. nextToke n();str2 = st. nextToke n();System.out.pri ntl n(user name: +str1);System.out.pri ntl n(password: +str2); catch (IOExcepti on e) e.pri ntStackTrace();/讀取數(shù)據(jù)庫(kù)里的用戶信息并進(jìn)行驗(yàn)證try Conn ectBea ncb = newConn ectBea n();if(!cb.ope nConnection()System.out.pr

16、i ntln(”System.exit(1); return;cb.createPreparedStateme nt(selec t flag from stu info where sno=+ str1 +ResultSetrcb.executeQuery();Stri ng m =; while (r.n ext() m=r.getStri ng(flag);System.out.pri ntln (標(biāo)識(shí):+m);if ( !m.equals(0) ) out.writeUTF(用戶已 經(jīng)完成考試,不能再考試); else cb.createPreparedStateme nt(selec

17、tsname,spass from stuinfo where sno= +str1+ false);ResultSet rs cb.executeQuery();while (rs. next() dbn rs.getStri ng(s name);dbp連接數(shù)據(jù)失敗);rs.getStri ng(spass);PreparedStateme ntSystem.out.println(”用戶:+ str1+ 你的用戶名為+ dbn+ , 你的密碼為:+ dbp);/驗(yàn)證用戶密碼,如果登錄成功將登錄標(biāo)志設(shè)為 1ifps = cb.createPreparedStateme nt(sql1);p

18、s.executeUpdate();System.out.println(” 用戶成功登錄else (str2.equals(dbp.trim() out.writeUTF(” 密out.writeUTF(” 用 戶” + dbn + 登陸成功);碼錯(cuò)誤);System.out.pri ntl n(”用戶 ” + dbn +登陸成功);System.out.println(” 登陸密碼錯(cuò)誤out.close();out.close();Stri ngsql1=update stuinfo set flag = 1 where sno=J+str1+”;cb.close();4.3-Server

19、Manager.javapublic ServerMa nager() liste ner the port: + portl;Thread td1 = new Thread() serShow(serstatus);public void run() serstatus=logi nthread start!n; catch (IOExceptione)serShow(serstatus);ServerSocket ss1 null;Socket you = n ull;in t port1 = 8001;try ss1:=newServerSocket(portl);e.pri ntSta

20、ckTrace();while (true) try youss1.accept();catchserstatus(lOException e) e.pri ntStackTrace();if (you != n ull) coun ter+;ucou nt =現(xiàn)在參加考試的人數(shù)為:+ cou nter;td1.start();/啟動(dòng)一個(gè)響應(yīng)客戶端讀取試題的線程Thread td2 = new Thread(two)public void run() serstatus= thread 2coun tShow(uco un t);if (co un ter Maxco unt) start!;

21、serShow(l in kstatus);ServerSocket ss2 null;int port2 = 8002;userstatus= users IP + you.getI netAddress()+connected + port1 + 進(jìn)行登陸;try ss2 = newServerSocket(port2);lin kstatususerShow(userstatus);/第一個(gè)線程啟動(dòng)newServer_logi n(y ou).start();liste ner the port: + port2;lin kShow(serstatus); catch (lOExcept

22、ione) else userstatus = users IP +you.getI netAddress()+conn ected + portl + 中斷線程啟動(dòng);userShow(userstatus);e.pri ntStackTrace();while (true) Socket you2 = null; try Hyou2 ss2.accept();catch(IOException e) /中斷線 程啟動(dòng)newMaxco un ter(you);e.pri ntStackTrace();userstatusif (you2 != null) users IP + you2.get

23、l netAddress()+connected + port2 + 進(jìn)行讀題;userShow(userstatus);newServer_readTest(you2).start();try you3=ss3.accept();catchII(IOException e) ;td2.start()/啟動(dòng)一個(gè)接收用戶答應(yīng)并存儲(chǔ) 的線程Thread td3 = new Thread(three) e.pri ntStackTrace();if (you3 != null)userstatus=usersIP+you3.getI netAddress()+ connected + port3 +

24、 提交答案”userShow(userstatus);ServerSocket ss3 = nu II;in t port3 = 8003;public void run() serstatus=thread3start!;serShow(serstatus);try ss3=newServerSocket(port3);1lin kstatus=liste ner the port: +port3;第3個(gè)線程 啟動(dòng)newServer_readScore(you3).start(); |td3.start();/啟動(dòng)一個(gè)用戶查詢的線程Thread td4 = new Thread(four)l

25、in kShow(li nkstatus);ServerSocket ss4 = n ull; catch (IOException e)in t port4 = 8004;e.pri ntStackTrace();while (true) Socket you3 = null;public void run() serstatus=thread4start!;serShow(serstatus);try ss4=newServerSocket(port4);ss4.accept();catch(IOException e) lin kstatus=liste ner the port: +

26、port4;lin kShow(li nkstatus); catch (lOException e)if (you4 != null)e.pri ntStackTrace();userstatus=usersIP+you4.get In etAddress()connected + port4 + 進(jìn)行查詢”userShow(userstatus);e.pri ntStackTrace();while (true) Socket you4 = nu II;try you44.4Server_readTest.java-public void run() Stri ng sql2; / 定義查

27、詢語(yǔ)句String dbt = 以下為試題;/試題Stri ng ts = n ull; /接收用戶發(fā)送的考試科目int tcou nt = 0; /試題的數(shù)目Conn ectBea n cb = newConn ectBea n();if (!cb.ope nConnection()System.out.pri ntl n(連接數(shù)據(jù)失敗);System.exit(1);return;/網(wǎng)絡(luò)連接部分out.writeUTF(” 你連接成功try ts = in. readUTF();/在數(shù)據(jù)庫(kù)選題|sql2 = select * from exam where eid= + ts + ;cb.

28、createPreparedStateme nt(sql2, false);System.out.pri ntl n( ts);/數(shù)據(jù)庫(kù)連接部分/查詢客戶端所選試題ResultSetrscb.executeQuery();while (rs.next() dbt+=A+n+rs.getStri ng(2) +t + n +rs.getStri ng(3) + A;tco un t+;cb.close();System.out.pri ntln( dbt);out.writeUTF(+Timecou nt);out.flush();out.close();System.out.println(”

29、讀取試題成功! ! ”); catch (SQLException e) e.pri ntStackTrace();out.writeUTF(l nteger.toStri ng(tcoun t);System.out.pri ntl n( not connect db); catch (IOException e1) System.out.pri ntl n( not read clie nt select!);out.writeUTF(dbt); / 將讀到的試題返回到客戶端/傳送考試時(shí)間4.5/Server_readScore.java/定義一個(gè)接收用戶答案的類,判斷對(duì)錯(cuò),將分?jǐn)?shù)返回到用

30、戶端,并將成績(jī)存入數(shù)據(jù)庫(kù)public Server_readScore(Socket socket)Strin gToke ni zerstc = newStrin gToke ni zer(readkey, ,);/創(chuàng)建網(wǎng)絡(luò)連接/this.socket =socket;public void run() / 接收用戶提交的答案/try readkey = in. readUTF();if (stc.hasMoreToke ns() /客戶傳來(lái)答案的第一個(gè)字符為用戶名,第二個(gè)字符為考試科目str1=stc. nextToke n().trim();System.out.println(”用戶為

31、:+ str1);uno=In teger.parseI nt(str1);if (stc.hasMoreToke ns() /第二個(gè)字符為考試科目System.out.pri ntln( readkey); catch (IOException e1) e1.pri ntStackTrace();str2stc. nextToke n().trim();System.out.println(”試題類型為:+ str2);/庫(kù)獲 在數(shù)據(jù) 取正確答案try -/Conn ectBea n cb = newConn ectBea n();out.flush(); out.close(); catc

32、h (IOExceptio n e) e.pri ntStackTrace(); / 將分?jǐn)?shù)存到數(shù)據(jù)庫(kù)/try if (!cb.ope nConnection()System.out.pri ntl n(連接數(shù)據(jù)失敗);System.exit(1);return;/ -判斷分?jǐn)?shù)/for(i nti=0;iln teger.parse In t(str4); i+) if(userA nsweri.equals(crreA nsweri)count += 10;System.out.println(” 用戶:+ strl + ,你的得分為:” + coun t);Conn ectBea n cb

33、 = newConn ectBea n();if(!cb.ope nConnection()System.out.pri ntl n( 連接數(shù)據(jù)失敗);System.exit(1);return;PreparedStateme ntpscb.createPreparedStateme nt(subject);ps.set In t(1, coun t);ps.setI nt(2, uno);ps.executeUpdate();System.out.println(”更新成功);mit();/將分?jǐn)?shù)返回到客戶端try out.writeUTF(l nteger.toStri ng(

34、count);System.out.println(”將分?jǐn)?shù)返回到客戶端);cb.close(); catch (SQLException e) / TODO自動(dòng)生成catch 塊System.out.println(” 寫入 數(shù)據(jù)發(fā)生錯(cuò)誤! !! /n + e);4.6Server.javapublic static void main(String args)new Server。;TestGui.java4.7一publicvoidaction Performed(Acti onEvent e) if (e.getSource() = callIP) / 呼叫服務(wù)器if (socket

35、!= null & in != null & out != null) /消除以往的連接信息try socket.close(); in.close(); out.close(); catch (Exception ee)String login = user + , + pass;int port1 = 8001;try/ 建立網(wǎng)絡(luò)連接socket = new Socket(ip, port1);in = new DataInputStream(socket.getInputStream();out = new DataOutputStream(socket.getOutputStre am

36、();out.writeUTF(login); catch (IOException ee) /如果連接失敗ipField.setText( 呼叫 失敗 );stateField.setText(8004;try socket = new Socket(ip, port4);in = new DataInputStream(socket.getInputStream ();out = new DataOutputStream(socket.getOutputStre am();out.writeUTF(user); stuinfo.setText( 請(qǐng)求 信息已發(fā)送 ); catch (IOE

37、xception ee) / 如果連接失敗ipField.setText( 呼叫 失敗 );stateField.setText( 你呼叫沒(méi)有成功 );stuinfo.setText( 你呼 叫沒(méi)有成功 );if (socket != null) /如果連接成功try String queryInfo = in.readUTF(); / 得到 查詢結(jié)果stuinfo.setText(queryInfo);out.flush(); out.close(); catch (IOException e1) / 出現(xiàn)異常otherinfo.setText(數(shù)據(jù)傳輸錯(cuò)誤你呼叫沒(méi)有成功 );int por

38、t4); else if (e.getSource() = beginExe) /生成試題String mgr = (String) subject.getSelectedItem();if (mgr.equals( 英 語(yǔ) ) / 選擇英語(yǔ) selectT(e); else if (mgr.equals(數(shù)學(xué)) / 選擇數(shù)學(xué)selectT(m);stateField.setText( 你 已 經(jīng)選擇了 + mgr + 試題 );testinfo.setText(你 已 經(jīng)選擇了 + mgr + 試題);startTest.setEnabled(true); else if (e.getSource() = startTest) / 開(kāi)始考試stateFie

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論