數(shù)據(jù)庫課程設計-成績管理系統(tǒng)_第1頁
已閱讀1頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  目  錄</b></p><p>  一 、 系統(tǒng)功能和結構</p><p>  1.1 程序設計目的</p><p><b>  1.2 需求分析</b></p><p><b>  1.3 概要設計</b></p>

2、;<p>  1.3.1   算法分析及程序流程圖</p><p><b>  1.4 任務安排</b></p><p><b>  二、 程序?qū)崿F(xiàn)</b></p><p>  2.1 模塊詳細設計</p><p>  2.2 核心代碼詳細解析&

3、lt;/p><p>  三、 調(diào)試與操作說明</p><p><b>  程序演示</b></p><p>  四 、 設計體會與總結</p><p>  4.1  程序不足及功能擴充</p><p><b>  4.2  設計心得</b>

4、</p><p><b>  參考文獻</b></p><p><b>  致謝</b></p><p>  一 、 系統(tǒng)功能和結構</p><p>  1.1 程序設計目的</p><p>  學生成績管理系統(tǒng)是應對學生人數(shù)增多、信息量增大的問題,實現(xiàn)管理的現(xiàn)代化、網(wǎng)絡化,

5、逐步擺脫當前學生成績管理的人工管理方式,提高成績管理效率而開發(fā)的。希望該開發(fā)程序能夠解決學生信息存儲、學生成績查詢、錄入還有課程查詢等一系列功能,并提供了對各功能模塊的查詢和更新功能,且這兩種功能基本上是通過存儲過程來實現(xiàn)的,其中學生成績查詢和學生信息查詢是系統(tǒng)開發(fā)的重點。</p><p><b>  1.2 需求分析</b></p><p>  1)教職工:

6、 a.信息要求:</p><p>  對學生成績的了解,對學生成績會有一個成體的了解,在今后的課程教學中可以對自己進行改進。同時還可以對教授的課程進行修改和重設。還可以進一步了解學生的信息,加深對學生的了解,便于因材施教。</p><p><b>  b.處理要求:</b></p><p>  當學生基本信息發(fā)生變化時,老師能對其進行修改。比如

7、某些同學中有轉(zhuǎn)校、后轉(zhuǎn)來該系或轉(zhuǎn)到其他系中,老師要能根據(jù)事實情況進行更新。需要有的操作是修改、刪除、增加。</p><p>  能夠管理課程信息。如老師進行排課的時候能夠有序的安排,不會出現(xiàn)錯排或重復等一系列狀況。能夠進行課程名、課時、學分的修改、刪除和增添。</p><p>  對成績的管理,能夠進行成績的錄入、修改、刪除,能夠清晰的了解學生的成績和大體情況,以便做出相應的總結和改進。&

8、lt;/p><p>  c.安全性與完整性要求:</p><p><b>  安全性要求:</b></p><p>  1.系統(tǒng)應設置訪問用戶的標識以鑒別是否是合法用戶,并要求合法用戶設置其密碼,保證用戶身份不被盜用;</p><p>  2.系統(tǒng)應對不同的數(shù)據(jù)設置不同的訪問級別,限制訪問用戶可查詢和處理數(shù)據(jù)的類別和內(nèi)容;&

9、lt;/p><p>  3.系統(tǒng)應對不同用戶設置不同的權限,區(qū)分不同的用戶,如區(qū)分普通用戶(學生),教職工。</p><p><b>  完整性要求:</b></p><p>  1.各種信息記錄的完整性,信息記錄內(nèi)容不能為空;</p><p>  2.各種數(shù)據(jù)間相互的聯(lián)系的正確性;</p><p>

10、  3.相同的數(shù)據(jù)在不同記錄中的一致性。</p><p><b>  2)學生:</b></p><p><b>  a.信息要求:</b></p><p>  能夠查詢自己的成績信息和大家的整體成績好做出對自己的新的定位,同時還有更改自己的學生信息,還有就是查詢新的課程信息。</p><p>&l

11、t;b>  b.處理要求:</b></p><p>  當學生發(fā)現(xiàn)自己信息出現(xiàn)錯誤時,可以根據(jù)自己的實際情況來進行更改,比如某同學發(fā)現(xiàn)自己的年齡存儲出現(xiàn)了錯誤就需要相應的機制進行修改、刪除等。</p><p>  同時還可進入成績查詢系統(tǒng)。在該界面中同學可以查詢自己的成績,還可以查詢整個科目的全部成績。</p><p><b>  數(shù)據(jù)需

12、求</b></p><p>  學生成績管理系統(tǒng)就是對學生成績信息的管理,所以首先我們需要知道的是學生有那些信息,并且是怎樣進行分類的。</p><p>  學生信息包含:學生基本信息、課程基本信息、成績信息。學生基本信息根據(jù)要求應該包括學生對應的學號,姓名,性別,系別,學生年齡等;課程基本信息應該包課程號,課程名,課時,學分等;成績表包含課程號,學號,成績等。</p&g

13、t;<p>  與學生唯一一一對應的是學號,所以學號是唯一的主鍵,其他的都不能是,根據(jù)學號我們可以查找學生的基本信息,還有學生姓名等有關信息;根據(jù)課程號可以知道學生對應的成績等。</p><p>  與課程一一對應的是課程號,所以課程號是唯一主碼,其他的都不是,根據(jù)課程號我們可以查詢課程的基本信息,如課程名、對應的課時和對應的學分等。</p><p>  與成績對應的有兩個主

14、碼,一個是課程號還有一個是學好。只有這兩個同時確定了之后才能確定一個準確的成績。</p><p>  在用戶表中可以根據(jù)用戶需要進行密碼的修改等一系列操作。</p><p>  綜合分析對信息管理系統(tǒng)分四個表:</p><p>  用戶表(用戶名,用戶密碼,用戶等級)</p><p>  學生表(學號,姓名,性別,系別,學生年齡)</p

15、><p>  課程表(課程號,課程名,課時,學分)</p><p>  成績表(課程號,學號,成績)</p><p><b>  1.3  概要設計</b></p><p>  1.3.1    算法分析及程序流程圖</p><p><b>

16、  數(shù)據(jù)流圖</b></p><p><b>  1)功能流圖</b></p><p>  該數(shù)據(jù)流圖主要體現(xiàn)教職工對學生信息、課程信息和學生成績的管理,然后存儲的信息作用于查詢系統(tǒng)。在學生能夠操作的只有成績查詢。</p><p><b>  2)登錄流圖</b></p><p><

17、;b>  數(shù)據(jù)字典</b></p><p><b>  名字:學生信息 </b></p><p>  描述:學生成績管理中存儲的所有學生信息(包括所有學生查詢的所需信息) </p><p>  定義:學生信息=學生學號+學生姓名+學生性別+院系+學生年齡</p><p>  位置:存儲 輸出供查詢&l

18、t;/p><p><b>  名字:課程信息 </b></p><p>  描述:有多個課程必要的信息組成 </p><p>  定義:課程信息=課程號+課程名 +課時+學分</p><p>  位置:存儲 輸出供查詢</p><p><b>  名字:用戶表信息 </b>&l

19、t;/p><p>  描述:用戶情況的信息 </p><p>  定義:用戶信息=用戶名+用戶密碼+用戶 </p><p>  位置:存儲 輸出供查詢</p><p><b>  名字:學生成績信息</b></p><p><b>  輸入:學生姓名</b></p>

20、;<p>  輸出:相應學生的成績信息</p><p><b>  名字:查詢信息 </b></p><p>  描述:用戶所提出的查詢請求</p><p>  定義:查詢信息=[課程查詢信息|學生成績查詢信息] </p><p>  位置:課程表 學生表 成績表</p><p>&

21、lt;b>  名字:添加信息</b></p><p>  輸入:學號,學生姓名,學生性別,院系,學生年齡</p><p>  輸出:新輸入的學生信息</p><p><b>  名字:刪除信息</b></p><p>  輸入:選中要刪除的學生信息 </p><p><b&

22、gt;  輸出:刪除完成</b></p><p><b>  課程數(shù)據(jù)字典:</b></p><p><b>  學生數(shù)據(jù)字典:</b></p><p><b>  成績數(shù)據(jù)字典:</b></p><p><b>  用戶數(shù)據(jù)字典:</b>&l

23、t;/p><p><b>  3.系統(tǒng)設計</b></p><p><b>  1.4 任務安排</b></p><p>  需求分析和數(shù)據(jù)流圖完成后,即可對該課程設計向小組成員分配任務</p><p><b>  二、 程序?qū)崿F(xiàn)</b></p><p> 

24、 2.1 模塊詳細設計</p><p>  2.1.1概念設計(E-R圖)</p><p>  2.2.2 邏輯設計(與具體的DBMS有關的表結構)</p><p>  該設計以概念結構設計中的E-R圖為主要依據(jù),設計出相關的整體邏輯結構。根據(jù)總E-R圖了解有四個實體,四個關系模式如下:</p><p>  用戶表(用戶名,用戶密碼

25、,用戶等級)</p><p>  學生表(學號,姓名,性別,系別,學生年齡)</p><p>  課程表(課程號,課程名,課時,學分)</p><p>  成績表(課程號,學號,成績)</p><p>  2.2 核心代碼詳細解析</p><p>  在課程對話框中實現(xiàn)課程修改</p><p>

26、;  void CCourseDlg::OnCourseEdit() </p><p><b>  {</b></p><p>  //得到CList當前所選的行號</p><p>  int row=m_list.GetSelectionMark();</p><p>  CString s,strSQL;</p

27、><p>  //將當前行的第一列的值賦給s</p><p>  s=m_list.GetItemText(row,0);</p><p>  if(s=="")//如果s為空,則表示沒有選中行</p><p><b>  {</b></p><p>  MessageBox(&q

28、uot;請選擇一行!");</p><p><b>  }</b></p><p>  else//如果有選中一行</p><p><b>  {</b></p><p>  //定義查詢條件,相當于where</p><p>  strSQL.Format(&qu

29、ot;course_id=%s",s);</p><p><b>  //打開記錄集</b></p><p>  m_courseSet.Open();</p><p><b>  //設置查詢條件</b></p><p>  m_courseSet.m_strFilter=strSQL;

30、</p><p><b>  //執(zhí)行查詢</b></p><p>  m_courseSet.Requery();</p><p>  //游標指定到該行所在的記錄上,執(zhí)行修改</p><p>  m_courseSet.Edit();</p><p>  //設置點擊修改按鈕后其他按鈕的狀態(tài)&

31、lt;/p><p>  m_bConfirm.EnableWindow(true);</p><p>  m_bAdd.EnableWindow(false);</p><p>  m_bEdit.EnableWindow(false);</p><p>  m_bDel.EnableWindow(false);</p><p

32、>  m_strName.EnableWindow(true);</p><p>  m_strNo.EnableWindow(true);</p><p>  m_strHour.EnableWindow(true);</p><p>  m_strCredit.EnableWindow(true);</p><p><b>

33、;  }</b></p><p><b>  }</b></p><p>  2)在課程對話框中實現(xiàn)課程添加</p><p>  void CCourseDlg::OnCourseAdd() </p><p><b>  {</b></p><p>  //設置

34、輸入框為可編輯狀態(tài)并清空輸入框中的值</p><p>  m_strNo.EnableWindow(true);</p><p>  m_strNo.SetWindowText("");</p><p>  m_strName.EnableWindow(true);</p><p>  m_strName.SetWindo

35、wText("");</p><p>  m_strHour.EnableWindow(true);</p><p>  m_strHour.SetWindowText("");</p><p>  m_strCredit.EnableWindow(true);</p><p>  m_strCredi

36、t.SetWindowText("");</p><p><b>  //打開記錄集</b></p><p>  m_courseSet.Open();</p><p><b>  //添加新記錄</b></p><p>  m_courseSet.AddNew();</p

37、><p>  //設置點擊確定按鈕后,其他按鈕的狀態(tài)</p><p>  m_bConfirm.EnableWindow(true);</p><p>  m_bAdd.EnableWindow(false);</p><p>  m_bEdit.EnableWindow(false);</p><p>  m_bDel.

38、EnableWindow(false);</p><p><b>  }</b></p><p>  3)在課程對話框中實現(xiàn)課程刪除</p><p>  void CCourseDlg::OnCourseDel() </p><p><b>  {</b></p><p>

39、  //得到CList當前所選的行號</p><p>  int row=m_list.GetSelectionMark();</p><p>  CString s,strSQL;</p><p>  //將當前行的第一列的值賦給s</p><p>  s=m_list.GetItemText(row,0);</p><

40、p>  if(s=="")//如果s為空,則表示沒有選中行</p><p><b>  {</b></p><p>  MessageBox("請選擇一行!");</p><p><b>  }</b></p><p><b>  else&l

41、t;/b></p><p><b>  {</b></p><p>  //彈出窗口詢問是否刪除數(shù)據(jù)</p><p>  if(MessageBox("確定要刪除記錄嗎?","刪除詢問</p><p>  ",MB_OKCANCEL|MB_ICONQUESTION)==IDO

42、K)</p><p><b>  {</b></p><p>  //查詢所選行所在的記錄</p><p>  strSQL.Format("course_id=%s",s);</p><p>  m_courseSet.Open();</p><p>  m_courseSe

43、t.m_strFilter=strSQL;</p><p>  m_courseSet.Requery();</p><p>  m_courseSet.Edit();</p><p>  //設置active_status="N";</p><p>  m_courseSet.m_active_status="

44、N";</p><p><b>  //更新數(shù)據(jù)庫</b></p><p>  m_courseSet.Update();</p><p><b>  //關閉數(shù)據(jù)庫</b></p><p>  m_courseSet.Close();</p><p>  //更新

45、CList數(shù)據(jù)</p><p>  RefreshList();</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  4)登錄的確認</b&g

46、t;</p><p>  void CLoginDlg::OnOK() </p><p><b>  { </b></p><p>  CString username,password;//定義兩個字符串變量</p><p>  m_strUserName.GetWindowText(username);//將文本

47、框中的值賦給username</p><p>  m_strPassword.GetWindowText(password);//將文本框中的值賦給帕password</p><p>  if(!m_database.IsOpen()){//如果數(shù)據(jù)沒有打開,則打開數(shù)據(jù)庫</p><p>  if(m_database.Open(_T("student&q

48、uot;)))//如果正確打開數(shù)據(jù)庫</p><p><b>  {</b></p><p>  m_recordSet.m_pDatabase=&m_database;//將m_database對象賦給m_pDatabase</p><p>  CString strSQL;</p><p>  strSQL.

49、Format("select * from USER_PSWD where user_name='%s' and user_password='%s' and active_status='Y'",username,password);</p><p>  m_recordSet.Open(CRecordset::forwardOnly,strS

50、QL);//打開記錄集</p><p>  if(m_recordSet.GetRecordCount()==0)//如果找不到記錄</p><p><b>  {</b></p><p>  MessageBox("密碼錯誤,請重新輸入","密碼錯誤",MB_OK|MB_ICONWARNING);//提

51、示密碼錯誤</p><p>  m_strPassword.SetWindowText("");//清空密碼文本框</p><p>  m_strPassword.SetFocus();//設置用戶名文本框為當前的焦點</p><p><b>  }</b></p><p>  else//如果找到記

52、錄</p><p><b>  { </b></p><p>  m_recordSet.GetFieldValue("user_level",m_userLevel);//則將數(shù)據(jù)庫中的權限值賦給m_userLevel</p><p>  CDialog::OnOK();//進入到主窗口</p><

53、p><b>  }</b></p><p>  m_recordSet.Close();//關閉記錄集</p><p>  m_database.Close();//關閉數(shù)據(jù)庫</p><p><b>  }</b></p><p>  else//如果沒有正確打開數(shù)據(jù)庫</p>

54、<p><b>  {</b></p><p>  MessageBox("不能打開數(shù)據(jù)庫");</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b><

55、/p><p><b>  5)修改密碼的確認</b></p><p>  void CPasswordDlg::OnOK() </p><p><b>  {</b></p><p>  //定義4個CEdit變量</p><p>  CEdit* pUsername=(CEdi

56、t*) this->GetDlgItem(IDC_EDIT_USERNAME);</p><p>  CEdit* pPassword=(CEdit*) this->GetDlgItem(IDC_EDIT_PASSWORD);</p><p>  CEdit* pNew=(CEdit*) this->GetDlgItem(IDC_EDIT_NEW);</p>

57、<p>  CEdit* pConfirm=(CEdit*) this->GetDlgItem(IDC_EDIT_CONFIRM);</p><p>  //分別將文本框的值賦給4個字符串 </p><p>  CString username,password,newPassword,confirmPassword;</p><p>  pUse

58、rname->GetWindowText(username);</p><p>  pPassword->GetWindowText(password);</p><p>  pNew->GetWindowText(newPassword);</p><p>  pConfirm->GetWindowText(confirmPassword)

59、;</p><p>  //定義數(shù)據(jù)庫對象和記錄集對象</p><p>  CDatabase m_database;</p><p>  CUserSet m_recordSet;</p><p>  //判斷新密碼是是為空</p><p>  if(newPassword.IsEmpty()||confirmPas

60、sword.IsEmpty())</p><p><b>  {</b></p><p>  MessageBox("密碼不為空");</p><p><b>  }</b></p><p><b>  else</b></p><p&

61、gt;<b>  {</b></p><p>  if(newPassword!=confirmPassword)//判斷兩次輸入的新密碼是否相同</p><p><b>  {</b></p><p>  MessageBox("兩次輸入密碼不一致,請重新輸入新密碼");</p><

62、;p>  pNew->SetWindowText("");//清空新密碼文本框</p><p>  pConfirm->SetWindowText("");//清空確認密碼文本框</p><p>  pNew->SetFocus();//設置新密碼文本框為焦點</p><p><b>  }&

63、lt;/b></p><p><b>  else</b></p><p><b>  {</b></p><p>  if(!m_database.IsOpen()){//如果數(shù)據(jù)沒有打開,則打開數(shù)據(jù)庫</p><p>  { m_database.Open(_T("student

64、"));//如果正確打開數(shù)據(jù)庫</p><p>  //m_recordSet.Edit(); </p><p>  m_recordSet.m_pDatabase=&m_database;//將m_database對象賦給m_pDatabase</p><p>  CString strSQL;</p><p>

65、;  strSQL.Format("select * from USER_PSWD where user_name='%s' and user_password='%s' and active_status='Y'",username,password);</p><p>  m_recordSet.Open(CRecordset::forwar

66、dOnly,strSQL);//打開記錄集</p><p>  if(m_recordSet.GetRecordCount()==0)//如果找不到記錄</p><p><b>  {</b></p><p>  MessageBox("密碼錯誤,請重新輸入","密碼錯誤",MB_OK|MB_ICONWA

67、RNING);//提示密碼錯誤</p><p>  pPassword->SetWindowText("");//清空密碼文本框</p><p>  pNew->SetWindowText("");//清空新密碼文本框</p><p>  pConfirm->SetWindowText(""

68、;);//清空確認密碼文本框</p><p>  pPassword->SetFocus();//設置用戶名文本框為當前的焦點</p><p><b>  }</b></p><p>  else//如果找到記錄</p><p><b>  { </b></p><p&

69、gt;  //更新密碼的sql語句</p><p>  strSQL.Format("update USER_PSWD set user_password='%s' where user_name='%s'",newPassword,username);</p><p>  m_database.ExecuteSQL(strSQL);//

70、執(zhí)行sql </p><p>  MessageBox("修改密碼成功!");</p><p>  CDialog::OnOK();</p><p><b>  }</b></p><p>  m_recordSet.Close();//關閉記錄集</p><p>  m_da

71、tabase.Close();//關閉數(shù)據(jù)庫</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b

72、>  }</b></p><p>  三、 調(diào)試與操作說明</p><p><b>  程序演示</b></p><p><b>  1打開程序</b></p><p>  2輸入用戶名密碼登陸</p><p><b>  3進入系統(tǒng)</b&

73、gt;</p><p><b>  4功能演示</b></p><p><b>  修改密碼</b></p><p><b>  學生管理</b></p><p><b>  課程管理</b></p><p><b>  

74、成績管理</b></p><p><b>  成績查詢</b></p><p>  四 、 設計體會與總結</p><p>  4.1  程序不足及功能擴充</p><p>  1)在對用戶權限的設計</p><p>  該程序在對用戶權限的設計比較混亂,不能夠清晰

75、的分出教職工和學生的使用權限,這會使程序的可用性和安全性出現(xiàn)很大的問題。在這個方面,我們還有很多工作需要做,比如對登錄用戶在數(shù)據(jù)庫的設計過程中要增加權限的設計,使的在登錄后能夠根據(jù)權限來進行相應的操作,不會是用戶越級等。</p><p>  2)在對成績進行修改的設計</p><p>  該程序在對程序進行修改的設計還不夠完善,在對一組選定的成績進行修改時會彈出一個有錯誤的對話框,不過在之

76、后的操作沒有任何問題。還有就是在選定修改科目后仍然可以修改科目,這一點的設計還不是很合理。在之后的設計中還需要改進。</p><p>  3)在成績查詢?yōu)g覽過程中的設計</p><p>  改程序在對學生成績查詢的設計部分也存在不足,雖然是按照學生姓名以及課程名進行查詢,但是在沒有一個通表的情況下這種操作是很危險的。他不能讓用戶直觀的看到可以查詢學生的姓名還有就是通有的課程名,這使該部分的

77、設計存在很大問題,不能很好的完成查詢功能。</p><p><b>  設計心得</b></p><p>  課程設計是我們數(shù)據(jù)庫專業(yè)課程知識綜合應用的實踐訓練,著是我們邁向社會,從事職業(yè)工作前一個必不少的過程.”千里之行始于足下”,通過這次課程設計,我深深體會到這句千古名言的真正含義.我今天認真的進行課程設計,學會腳踏實地邁開這一步,就是為明天能穩(wěn)健地在社會大潮中奔

78、跑打下堅實的基礎.</p><p>  說實話,課程設計真的有點累.然而,當我看到自己與團隊一手設計出來的成果,慢慢回味這幾周的心路歷程,一種少有的成功喜悅使倦意頓消.雖然這可以說是我剛學會走完的第一步,也是人生的一點小小的勝利,然而它令我感到自己成熟的許多, 通過課程設計,使我深深體會到,干任何事都必須耐心,細致.</p><p>  短短幾周的課程設計,使我發(fā)現(xiàn)了自己所掌握的知識是真正

79、如此的缺乏,自己綜合應用所學的專業(yè)知識能力是如此的不足,幾年來的學習了那么多的課程,今天才知道自己并不會用.想到這里,真的心急了,在最后一年的時間里一定要好好學習,為今后工作打好基礎!</p><p>  感謝賈老師的精心教導! </p><p><b>  參考文獻</b></p><p>  [1] 盧湘江,李向榮,晏子. MySQL高級配

80、置和管理. 北京:清華大學出版社,2001.9</p><p>  [2] 薩師煊,王珊. 數(shù)據(jù)庫系統(tǒng)概論. 北京:高等教育出版社,2002</p><p>  [3] 張海藩. 軟件工程. 北京:人民郵電出版社,2006</p><p>  [4]孫明麗 王斌,sql server 2005 數(shù)據(jù)庫系統(tǒng)開發(fā).北京,人民郵電出版社.2007.7 </p>

溫馨提示

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

評論

0/150

提交評論