通訊錄實(shí)訓(xùn)實(shí)驗(yàn)報(bào)告_第1頁(yè)
通訊錄實(shí)訓(xùn)實(shí)驗(yàn)報(bào)告_第2頁(yè)
通訊錄實(shí)訓(xùn)實(shí)驗(yàn)報(bào)告_第3頁(yè)
通訊錄實(shí)訓(xùn)實(shí)驗(yàn)報(bào)告_第4頁(yè)
通訊錄實(shí)訓(xùn)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE2實(shí)訓(xùn)報(bào)告實(shí)訓(xùn)報(bào)告題目:通訊錄院系:信息科技學(xué)院專(zhuān)業(yè):計(jì)算機(jī)科學(xué)與技術(shù)姓名:***學(xué)號(hào):****指導(dǎo)教師:******日期:2012年1月7日桂林電子科技大學(xué)信息科技學(xué)院目錄1問(wèn)題定義………………………42系統(tǒng)設(shè)計(jì)………………………42.1總體設(shè)計(jì)…………………42.2詳細(xì)設(shè)計(jì)………………62.2.3輸入記錄模塊……………………72.2.4查詢(xún)記錄模塊………………………82.2.5更新記錄模塊………………………82.2.6統(tǒng)計(jì)記錄模塊………………………83系統(tǒng)實(shí)現(xiàn)…………………93.1編碼………………………93.1.1程序預(yù)處理………………………93.1.2主函數(shù)main()………………93.1.3主菜單界面……………………93.1.4表格形式顯示記錄……………103.1.5記錄查找定位……………………103.1.6格式化輸入數(shù)據(jù)…………………103.1.7增加記錄……………………103.1.8查詢(xún)記錄……………………10…3.1.9刪除學(xué)生記錄……………………113.1.10修改記錄………………………113.1.11插入記錄………………………123.1.12統(tǒng)計(jì)記錄……………….…123.1.13排序記錄………………………133.1.14存儲(chǔ)記錄………………………133.1.15截圖……….……………17前言課程設(shè)計(jì)環(huán)節(jié)是應(yīng)用型本科院校非常重要的一個(gè)教學(xué)環(huán)節(jié),是學(xué)完一門(mén)課后應(yīng)用本課知識(shí)及以前的知識(shí)積累而進(jìn)行的綜合性、開(kāi)放性的訓(xùn)練。通過(guò)課程設(shè)計(jì),不僅能夠使學(xué)生得到系統(tǒng)的技能訓(xùn)練,鞏固和加強(qiáng)所學(xué)得專(zhuān)業(yè)理論知識(shí),而且能夠培養(yǎng)學(xué)生工程意識(shí)、創(chuàng)新能力、團(tuán)隊(duì)精神等綜合素質(zhì),培養(yǎng)學(xué)生的設(shè)計(jì)能力和解決實(shí)際問(wèn)題的能力。C語(yǔ)言由于其強(qiáng)大的功能,豐富的表達(dá)能力,高效的代碼,良好的移植性和靈活性,自1972年問(wèn)世以來(lái),經(jīng)久不衰,即使現(xiàn)在出現(xiàn)了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法和開(kāi)發(fā)工具,但它仍然是人們學(xué)習(xí)程序設(shè)計(jì)的首選語(yǔ)言,用它訓(xùn)練和提高編程技術(shù),以及開(kāi)發(fā)應(yīng)用程序等。我們通過(guò)《C語(yǔ)言程序設(shè)計(jì)》這門(mén)課程的學(xué)習(xí),已經(jīng)能編寫(xiě)解決小問(wèn)題的程序,對(duì)程序的開(kāi)發(fā)也有了初步的認(rèn)識(shí),還掌握了C語(yǔ)言的基本語(yǔ)法,這一過(guò)程確確實(shí)實(shí)令我們感到欣喜,有點(diǎn)計(jì)算機(jī)可以完成自我任務(wù)的成就感。但是,對(duì)于程序設(shè)計(jì)而言,學(xué)習(xí)C的步伐不應(yīng)該停留于此。我們最終的目的應(yīng)該是掌握開(kāi)發(fā)大型綜合程序的方法,即遵循軟件工程的開(kāi)發(fā)步驟和結(jié)構(gòu)化程序設(shè)計(jì)思想,用C語(yǔ)言開(kāi)發(fā)出解決復(fù)雜問(wèn)題的大型綜合程序??墒菍?duì)于多數(shù)學(xué)生來(lái)說(shuō),學(xué)習(xí)了C語(yǔ)言后,除了應(yīng)付各種考試之外,別無(wú)它用,對(duì)TurboC語(yǔ)言豐富的函數(shù)知之甚少,加上DOS環(huán)境所限,因而對(duì)C語(yǔ)言興趣不大,也感到C語(yǔ)言比較難以掌握。本實(shí)訓(xùn)就是為了讓學(xué)生在學(xué)完C語(yǔ)言后進(jìn)一步了解C語(yǔ)言的知識(shí),掌握C語(yǔ)言在軟件開(kāi)發(fā)方面的使用方法,希望通過(guò)此次實(shí)訓(xùn),不僅能提高學(xué)生學(xué)習(xí)C語(yǔ)言的興趣,更為今后學(xué)習(xí)其它專(zhuān)業(yè)知識(shí)及開(kāi)發(fā)程序打下堅(jiān)實(shí)的基礎(chǔ)。本指導(dǎo)書(shū)中有些內(nèi)容借鑒了互聯(lián)網(wǎng)上相關(guān)程序的設(shè)計(jì)思想,在此對(duì)相關(guān)者表示衷心的感謝。由于時(shí)間、經(jīng)驗(yàn)及水平的原因,不當(dāng)、不足之處,請(qǐng)大家提出寶貴意見(jiàn)。編者通訊錄系統(tǒng)本題目設(shè)計(jì)目的是訓(xùn)練學(xué)生的基本編程能力,了解管理信息系統(tǒng)的開(kāi)發(fā)流程,熟悉C語(yǔ)言的文件和單鏈表的各種基本操作。本程序中涉及結(jié)構(gòu)體、單鏈表、文件等方面的知識(shí)。通過(guò)本程序的訓(xùn)練,使學(xué)生能對(duì)C語(yǔ)言的文件操作有一個(gè)更深刻的了解,掌握利用單鏈表存儲(chǔ)結(jié)構(gòu)實(shí)現(xiàn)對(duì)學(xué)生成績(jī)管理的原理,為進(jìn)一步開(kāi)發(fā)出高質(zhì)量的管理信息系統(tǒng)打下堅(jiān)實(shí)的基礎(chǔ)。1、問(wèn)題定義創(chuàng)建一個(gè)通訊錄管理系統(tǒng)。假設(shè)系統(tǒng)中每個(gè)人錄只包括姓名、電話(huà)號(hào)碼,如下圖所示,選擇任意菜單后,實(shí)現(xiàn)相應(yīng)功能。在問(wèn)題定義階段要考慮題目的可行性和需求分析,接下來(lái)進(jìn)入開(kāi)發(fā)階段,完成系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)的任務(wù)。2、系統(tǒng)設(shè)計(jì)2.1總體設(shè)計(jì)采用模塊化的程序設(shè)計(jì)方法,即將較大的任務(wù)按照一定的原則分為一個(gè)個(gè)較小的任務(wù),然后分別設(shè)計(jì)各個(gè)小任務(wù)。需要注意的是劃分出來(lái)的模塊應(yīng)該相對(duì)獨(dú)立但又相關(guān),且容易理解??梢杂媚K化層次結(jié)構(gòu)圖(即模塊圖)來(lái)分析其任務(wù)的劃分,一般從上到下進(jìn)行,最上面一層是主模塊,下面各層是其上一層模塊的逐步細(xì)化描述。本通訊錄系統(tǒng)要求采用數(shù)組實(shí)現(xiàn),它由如下五大功能模塊組成:輸入記錄模塊:完成將數(shù)據(jù)存入文件的工作。記錄可以從以二進(jìn)制形式存儲(chǔ)的數(shù)據(jù)文件中讀入,也可從鍵盤(pán)逐個(gè)輸入學(xué)生記錄。學(xué)生記錄由學(xué)生的基本信息和成績(jī)信息字段構(gòu)成。當(dāng)從數(shù)據(jù)文件中讀入記錄時(shí),也就是把在以記錄為單位存儲(chǔ)的數(shù)據(jù)文件中,將記錄逐條復(fù)制到數(shù)組中。查詢(xún)記錄模塊:逐一查找文件名對(duì)應(yīng)文件,打開(kāi)讀數(shù)。更新記錄模塊:打開(kāi)相應(yīng)文件,對(duì)其中數(shù)據(jù)更改。輸出記錄模塊:重文件中讀出數(shù)據(jù),轉(zhuǎn)出存入數(shù)組中,再由數(shù)組輸出。2.2詳細(xì)設(shè)計(jì)2.2.1數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)通訊錄結(jié)構(gòu)體直接由外部文件分隔儲(chǔ)存,進(jìn)行文件建立,結(jié)合外部搜索完成基本結(jié)構(gòu)。2.2.2定義數(shù)組函數(shù)執(zhí)行流程//通訊錄Dlg.h:headerfile//#if!defined(AFX_DLG_H__37C8ABEA_DB2A_4346_9B9E_B2B26BE0014A__INCLUDED_)#defineAFX_DLG_H__37C8ABEA_DB2A_4346_9B9E_B2B26BE0014A__INCLUDED_#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000///////////////////////////////////////////////////////////////////////////////CMyDlgdialogclassCMyDlg:publicCDialog{//Constructionpublic: structstudent{ CStringcsCode; //學(xué)號(hào) CStringcsName; //姓名}structStudent[20]; intnStudentNum; intnAccordNum; intnAccordItem[20];intnumber; CMyDlg(CWnd*pParent=NULL); //standardconstructor//DialogData //{{AFX_DATA(CMyDlg) enum{IDD=IDD_MY_DIALOG}; CString m_csCode; CString m_csName; CString m_csSearchCode; CString m_csSearchName; //}}AFX_DATA //ClassWizardgeneratedvirtualfunctionoverrides //{{AFX_VIRTUAL(CMyDlg) protected: virtualvoidDoDataExchange(CDataExchange*pDX); //DDX/DDVsupport //}}AFX_VIRTUAL//Implementationprotected: HICONm_hIcon; //Generatedmessagemapfunctions //{{AFX_MSG(CMyDlg) virtualBOOLOnInitDialog(); afx_msgvoidOnSysCommand(UINTnID,LPARAMlParam); afx_msgvoidOnPaint(); afx_msgHCURSOROnQueryDragIcon(); afx_msgvoidOnButton1(); afx_msgvoidOnButton2(); afx_msgvoidOnButton3(); afx_msgvoidOnButton4(); afx_msgvoidOnButton5(); virtualvoidOnOK(); //}}AFX_MSG DECLARE_MESSAGE_MAP()};//{{AFX_INSERT_LOCATION}}//MicrosoftVisualC++willinsertadditionaldeclarationsimmediatelybeforethepreviousline.#endif//!defined(AFX_DLG_H__37C8ABEA_DB2A_4346_9B9E_B2B26BE0014A__INCLUDED_)public: structstudent{ CStringcsCode; //定義號(hào)碼 CStringcsName; //定義姓名以結(jié)構(gòu)體完成 }structStudent[10]; intnStudentNum;//定義數(shù)組的位置標(biāo)記的,用于錄入時(shí)移動(dòng)數(shù)組 intnAccordNum;//查詢(xún)時(shí),用于找到數(shù)組位置 intnAccordItem[10];intnumber;將其都定義在主界面PUBLIC之中。輸入記錄模塊voidCMyDlg::OnButton1(){ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); //刷新提取數(shù)據(jù) structStudent[nStudentNum].csCode=m_csCode; //錄入數(shù)據(jù) structStudent[nStudentNum].csName=m_csName; nStudentNum++;m_csCode="";//將輸入欄變空m_csName=""; UpdateData(FALSE);//刷新錄入數(shù)據(jù)}查詢(xún)記錄模塊BOOLbAccordCode=FALSE;//用于判斷對(duì)錯(cuò) BOOLbAccordName=FALSE; CStringcsBuffer; nAccordNum=0; //附初值 UpdateData(TRUE); for(inti=0;i<nStudentNum;i++)//for循環(huán)查詢(xún) {if(m_csSearchCode==""||m_csSearchCode==structStudent[i].csCode)//判斷是否符合,查詢(xún)數(shù)據(jù)。 {bAccordCode=TRUE; } else{bAccordCode=FALSE;}if(m_csSearchName==""||m_csSearchName==structStudent[i].csName) {bAccordName=TRUE;} else{bAccordName=FALSE;}if(bAccordCode==TRUE&&bAccordName==TRUE) {nAccordItem[nAccordNum]=i;nAccordNum++;} }if(nAccordNum>0)//確定存在時(shí)進(jìn)行輸出{m_csSearchCode=structStudent[nAccordItem[0]].csCode;m_csSearchName=structStudent[nAccordItem[0]].csName;UpdateData(FALSE);}}}更新記錄模塊voidCMyDlg::OnButton3(){UpdateData(TRUE); //TODO:Addyourcontrolnotificationhandlercodehere number=0;for(inti=0;i<nStudentNum;i++)//重復(fù)查找功能 {if(m_csSearchName==""||m_csSearchName==structStudent[i].csName)number=i;structStudent[number].csCode=m_csSearchCode;//重新賦值structStudent[number].csName=m_csSearchName;}m_csSearchCode="";m_csSearchName="";UpdateData(FALSE);函數(shù)功能描述voidCMyDlg::OnButton1()錄入voidCMyDlg::OnButton2()查詢(xún)voidCMyDlg::OnButton3()修改voidCMyDlg::OnButton4()刪除voidCMyDlg::OnButton5()對(duì)話(huà)框轉(zhuǎn)接完成在上述系統(tǒng)設(shè)計(jì)后,即可著手進(jìn)行系統(tǒng)實(shí)現(xiàn)的工作,開(kāi)始程序代碼的編寫(xiě)。3、系統(tǒng)實(shí)現(xiàn)3.1編碼classCMyDlg:publicCDialog{//Constructionpublic: structstudent{ CStringcsCode; //定義號(hào)碼 CStringcsName; //定義姓名以結(jié)構(gòu)體完成 }structStudent[10]; intnStudentNum;//定義數(shù)組的位置標(biāo)記的,用于錄入時(shí)移動(dòng)數(shù)組 intnAccordNum;//查詢(xún)時(shí),用于找到數(shù)組位置 intnAccordItem[10];intnumber;voidCMyDlg::OnButton1(){ //TODO:Addyourcontrolnotificationhandlercodehere UpdateData(TRUE); structStudent[nStudentNum].csCode=m_csCode; structStudent[nStudentNum].csName=m_csName; nStudentNum++;m_csCode="";m_csName=""; UpdateData(FALSE);}voidCMyDlg::OnButton2(){ //TODO:Addyourcontrolnotificationhandlercodehere BOOLbAccordCode=FALSE; BOOLbAccordName=FALSE; CStringcsBuffer; nAccordNum=0; UpdateData(TRUE); for(inti=0;i<nStudentNum;i++) {if(m_csSearchCode==""||m_csSearchCode==structStudent[i].csCode) {bAccordCode=TRUE; } else{bAccordCode=FALSE;}if(m_csSearchName==""||m_csSearchName==structStudent[i].csName) {bAccordName=TRUE;} else{bAccordName=FALSE;}if(bAccordCode==TRUE&&bAccordName==TRUE) {nAccordItem[nAccordNum]=i;nAccordNum++;} }csBuffer.Format("你查詢(xún)的信息在左邊顯示,如過(guò)沒(méi)有顯示信息既則沒(méi)此人記錄。",nAccordNum);MessageBox(csBuffer,"Attention",MB_OK|MB_ICONINFORMATION);if(nAccordNum>0){m_csSearchCode=structStudent[nAccordItem[0]].csCode;m_csSearchName=structStudent[nAccordItem[0]].csName;UpdateData(FALSE);}}voidCMyDlg::OnButton3(){UpdateData(TRUE); //TODO:Addyourcontrolnotificationhandlercodehere number=0;for(inti=0;i<nStudentNum;i++) {if(m_csSearchName==""||m_csSearchName==structStudent[i].csName)number=i;structStudent[number].csCode=m_csSearchCode;structStudent[number].csName=m_csSearchName;}m_csSearchCode="";m_csSearchName="";UpdateData(FALSE);}voidCMyDlg::OnButton4(){ UpdateData(TRUE); //TODO:Addyourcontrolnotificationhandlercodehere number=0;for(inti=0;i<nStudentNum;i++) {if(m_csSearchName==""||m_csSearchName==structStudent[i].csName)number=i;structStudent[number].csCode="";structStudent[number].csName="";}m_csSearchCode="";m_csSearchName="";UpdateData(FALSE);}voidCMyDlg::OnButton5(){ //TODO:Addyourcontrolnotificationhandlercodehere jja; a.DoModal();}//通訊錄Dlg.cpp:implementationfile//#include"stdafx.h"#include"通訊錄.h"#include"通訊錄Dlg.h"#include"jj.h"#ifdef_DEBUG#definenewDEBUG_NEW#undefTHIS_FILEstaticcharTHIS_FILE[]=__FILE__;#endif///////////////////////////////////////////////////////////////////////////////CAboutDlgdialogusedforAppAboutclassCAboutDlg:publicCDialog{public: CAboutDlg();//DialogData //{{AFX_DATA(CAboutDlg) enum{IDD=IDD_ABOUTBOX}; //}}AFX_DATA //ClassWizardgeneratedvirtualfunctionoverrides //{{AFX_VIRTUAL(CAboutDlg) protected: virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDVsupport //}}AFX_VIRTUAL//Implementationprotected: //{{AFX_MSG(CAboutDlg) //}}AFX_MSG DECLARE_MESSAGE_MAP()};CAboutDlg::CAboutDlg():CDialog(CAboutDlg::IDD){ //{{AFX_DATA_INIT(CAboutDlg) //}}AFX_DATA_INIT}voidCAboutDlg::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CAboutDlg) //}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CAboutDlg,CDialog) //{{AFX_MSG_MAP(CAboutDlg) //Nomessagehandlers //}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CMyDlgdialogCMyDlg::CMyDlg(CWnd*pParent/*=NULL*/) :CDialog(CMyDlg::IDD,pParent){ //{{AFX_DATA_INIT(CMyDlg) m_csCode=_T(""); m_csName=_T(""); m_csSearchCode=_T(""); m_csSearchName=_T(""); //}}AFX_DATA_INIT //NotethatLoadIcondoesnotrequireasubsequentDestroyIconinWin32 m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME);}voidCMyDlg::DoDataExchange(CDataExchange*pDX){ CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CMyDlg) DDX_Text(pDX,IDC_csCode1,m_csCode); DDX_Text(pDX,IDC_csName1,m_csName); DDX_Text(pDX,IDC_csSearchCode,m_csSearchCode); DDX_Text(pDX,IDC_csSearchName,m_csSearchName); //}}AFX_DATA_MAP}BEGIN_MESSAGE_MAP(CMyDlg,CDialog) //{{AFX_MSG_MAP(CMyDlg) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_BUTTON1,OnButton1) ON_BN_CLICKED(IDC_BUTTON2,OnButton2) ON_BN_CLICKED(IDC_BUTTON3,OnButton3) ON_BN_CLICKED(IDC_BUTTON4,OnButton4) ON_BN_CLICKED(IDC_BUTTON5,OnButton5) //}}AFX_MSG_MAPEND_MESSAGE_MAP()///////////////////////////////////////////////////////////////////////////////CMyDlgmessagehandlersBOOLCMyDlg::OnInitDialog(){ CDialog::OnInitDialog();nStudentNum=0; nAccordNum=0; //Add"About..."menuitemtosystemmenu. //IDM_ABOUTBOXmustbeinthesystemcommandrange. ASSERT((IDM_ABOUTBOX&0xFFF0)==IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX<0xF000); CMenu*pSysMenu=GetSystemMenu(FALSE); if(pSysMenu!=NULL) { CStringstrAboutMenu; strAboutMenu.LoadString(IDS_ABOUTBOX); if(!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING,IDM_ABOUTBOX,strAboutMenu); } } //Settheiconforthisdialog.Theframeworkdoesthisautomatically //whentheapplication'smainwindowisnotadialog SetIcon(m_hIcon,TRUE); //Setbigicon SetIcon(m_hIcon,FALSE); //Setsmallicon //TODO:Addextrainitializationhere returnTRUE;//returnTRUEunlessyousetthefocustoacontrol}voidCMyDlg::OnSysCommand(UINTnID,LPARAMlParam){ if((nID&0xFFF0)==IDM_ABOUTBOX) { CAboutDlgdlgAbout; dlgAbout.DoModal(); } else { CDialog::OnSysCommand(nID,lParam); }}//Ifyouaddaminimizebuttontoyourdialog,youwillneedthecodebelow//todrawtheicon.ForMFCapplicationsusingthedocument/viewmodel,//thisisautomaticallydoneforyoubytheframework.voidCMyDlg::OnPaint(){ if(IsIconic()) { CPaintDCdc(this);//devicecontextforpainting SendMessage(WM_ICONERASEBKGND,(WPARAM)dc.GetSafeHdc(),0); //Centericoninclientrectangle intcxIcon=GetSystemMetrics(SM_CXICON); intcyIcon=GetSystemMetrics(SM_CYICON); CRectrect; GetClientRect(&rect); intx=(rect.Width()-cxIcon+1)/2; inty=(rect.Height()-cyIcon+1)/2; //Drawtheicon dc.DrawIcon(x,y,m_hIcon); } else { CDialog::OnPaint(); }}#if!defined(AFX_JJ1_H__6B15ED22_1E33_4C03_BC92_B4C82ADABF2B__INCLUDED_)#defin

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論