通信工程C++課程設(shè)計(jì)字符串類的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
通信工程C++課程設(shè)計(jì)字符串類的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
通信工程C++課程設(shè)計(jì)字符串類的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
通信工程C++課程設(shè)計(jì)字符串類的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
通信工程C++課程設(shè)計(jì)字符串類的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、封 皮(按學(xué)校要求手工填寫)成 績 評(píng) 定 表學(xué)生姓名班級(jí)學(xué)號(hào)專 業(yè)通信工程課程設(shè)計(jì)題目字符串類的設(shè)計(jì)與實(shí)現(xiàn)評(píng)語組長簽字:成績?nèi)掌?0 年 月 日課程設(shè)計(jì)任務(wù)書學(xué) 院信息科學(xué)與工程專 業(yè)通信工程學(xué)生姓名班級(jí)學(xué)號(hào)課程設(shè)計(jì)題目字符串類的設(shè)計(jì)與實(shí)現(xiàn)實(shí)踐教學(xué)要求與任務(wù)進(jìn)行字符串類的設(shè)計(jì),具體要求如下:(1) 使用堆分配存儲(chǔ)表示實(shí)現(xiàn)字符串的存儲(chǔ);(2) 實(shí)現(xiàn)串賦值操作StrAssign(&T,chars);(3) 實(shí)現(xiàn)串比較操作StrCompare(S,T);(4) 實(shí)現(xiàn)求串長操作StrLength(S);(5) 實(shí)現(xiàn)串連接操作Concat(&T,S1,S2);(6) 實(shí)現(xiàn)求子串操作Su

2、bString(&Sub,S,pos,len);(7) 實(shí)現(xiàn)清空子串操作ClearString(&S);(8) 將上述功能作為類的成員函數(shù)實(shí)現(xiàn),編寫主函數(shù)測試上述功能。工作計(jì)劃與進(jìn)度安排第17周:分析題目,查閱課題相關(guān)資料,進(jìn)行類設(shè)計(jì)、算法設(shè)計(jì);第18周:程序的設(shè)計(jì)、調(diào)試與實(shí)現(xiàn);第19周:程序測試與分析,撰寫課程設(shè)計(jì)報(bào)告,進(jìn)行答辯驗(yàn)收。指導(dǎo)教師: 201 年 月 日專業(yè)負(fù)責(zé)人:201 年 月 日學(xué)院教學(xué)副院長:201 年 月 日摘 要類是C+中十分重要的概念,它是實(shí)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)。C+對(duì)C的改進(jìn),最重要的就是增加了“類”這樣一種類型。類是對(duì)象的抽象,而對(duì)象則是類的具體

3、實(shí)例,如果一種計(jì)算機(jī)語言中不包含類,它就不能稱為面向?qū)ο蟮恼Z言。一個(gè)有一定規(guī)模的C+程序是由許多類所構(gòu)成的。本文進(jìn)行了對(duì)字符串類的設(shè)計(jì)與實(shí)現(xiàn),該程序?qū)崿F(xiàn)的主要目的是對(duì)串賦值操作、串比較操作、求串長操作、串連接操作、求子串操作和清空子串操作進(jìn)行功能測試。本文采用Visual C+ 6.0的控制臺(tái)工程和MFC工程分別實(shí)現(xiàn)了對(duì)字符串的相應(yīng)操作功能的測試,通過對(duì)兩種程序的測試結(jié)果對(duì)比分析,表明:本文字符串類的設(shè)計(jì)思想正確,兩種程序均能正確執(zhí)行對(duì)所需功能的測試操作。關(guān)鍵詞:類;字符串類的設(shè)計(jì)與實(shí)現(xiàn);控制臺(tái)工程;MFC工程目 錄1 需求分析12 算法基本原理13 類設(shè)計(jì)24 基于控制臺(tái)的應(yīng)用程序34.1

4、類的接口設(shè)計(jì)34.2 類的實(shí)現(xiàn)44.3 主函數(shù)設(shè)計(jì)114.4 基于控制臺(tái)的應(yīng)用程序測試125 基于MFC的應(yīng)用程序155.1 基于MFC的應(yīng)用程序設(shè)計(jì)155.1.1 MFC程序界面設(shè)計(jì)155.1.2 MFC程序代碼設(shè)計(jì)175.2基于MFC的應(yīng)用程序測試22結(jié)論24參考文獻(xiàn)251 需求分析(1) 類是C+中十分重要的概念,它是實(shí)現(xiàn)面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)。C+對(duì)C的改進(jìn),最重要的就是增加了“類”這樣一種類型。(2) 類是對(duì)象的抽象,而對(duì)象則是類的具體實(shí)例,如果一種計(jì)算機(jī)語言中不包含類,它就不能稱為面向?qū)ο蟮恼Z言。一個(gè)有一定規(guī)模的C+程序是由許多類所構(gòu)成的。(3) 類是C+的靈魂,如果不真正掌握類,

5、就不能真正掌握C+。2算法基本原理字符串類的設(shè)計(jì)與實(shí)現(xiàn) 輸入字符串求字符串子串求字符串串長字符串的比較字符串的賦值清空子串字符串的連接 輸出測試后的結(jié)果圖2-1基本原理圖3 類設(shè)計(jì)從上面的算法分析可以看到,本設(shè)計(jì)的關(guān)鍵是類的成員函數(shù)的定義??梢远x一個(gè)字符數(shù)組類string,然后在類內(nèi)聲明類的成員函數(shù)。字符數(shù)組類的各成員函數(shù)負(fù)責(zé)對(duì)輸入的字符串進(jìn)行按要求處理,輸入的字符串用一個(gè)一維數(shù)組來存放,字符數(shù)組類string的數(shù)據(jù)成員包括數(shù)組strN和len。字符數(shù)組類string的功能需要有實(shí)現(xiàn)串賦值操作StrAssign(&T,chars)、實(shí)現(xiàn)串比較操作StrCompare(S,T)、實(shí)現(xiàn)求

6、串長操作StrLength(S)、實(shí)現(xiàn)串連接操作Concat(&T,S1,S2)、實(shí)現(xiàn)求子串操作SubString(&Sub,S,pos,len)和實(shí)現(xiàn)清空子串操作ClearString(&S)。從問題的需要來看,字符數(shù)組類string的功能需要有實(shí)現(xiàn)串賦值操作StrAssign(&T,chars)、實(shí)現(xiàn)串比較操作StrCompare(S,T)、實(shí)現(xiàn)求串長操作StrLength(S)、實(shí)現(xiàn)串連接操作Concat(&T,S1,S2)、實(shí)現(xiàn)求子串操作SubString(&Sub,S,pos,len)和實(shí)現(xiàn)清空子串操作ClearString(&

7、S)。字符數(shù)組類string的組成如圖1所示。string# strN: char# len: int+ string(char *p)+ string ()+ copy(char *s1,char *s2):void+ copy(char *s):void+ strset():void+ strout():void+ length ():int+ StrAssign(char*s):void+ StrCompare(char*s):int+ StrLengh():int+ Concat(char*s):void+ SubString(char*s,int a,int b):void+ Cle

8、arString(char*s):int圖1string類的UML圖形表示在字符串類的設(shè)計(jì)與實(shí)現(xiàn)過程中,在字符數(shù)組類string的成員函數(shù)StrAssign(char*s)、StrCompare(char*s)、StrLengh()、Concat(char*s)、SubString(char*s,int a,int b)和ClearString(char*s)中,實(shí)現(xiàn)對(duì)所選擇的測試功能進(jìn)行測試的操作。4 基于控制臺(tái)的應(yīng)用程序整個(gè)程序分為三個(gè)獨(dú)立的文檔,string.h文件中是字符數(shù)組類string的聲明,string.cpp文件中包括類的成員函數(shù)實(shí)現(xiàn)文件;main.cpp文件包括程序的主函數(shù),

9、主函數(shù)中定義了一個(gè)類string的對(duì)象,通過這個(gè)對(duì)象對(duì)字符串類的實(shí)現(xiàn)進(jìn)行功能測試操作。4.1 類的接口設(shè)計(jì)/string.h文件,實(shí)現(xiàn)類的聲明#include<iostream.h>const int N=200;int n ,flag=0;class string/string類聲明private:char strN; /字符串一維數(shù)組int len; /串的長度string(char *p) /字符串的構(gòu)造 copy(str,p); string ();void copy(char *s1,char *s2);void copy(char *s); void strset()

10、/字符串的輸入 cin>>str; void strout() /字符串的輸出 cout<<str<<endl; int length ();void StrAssign(char*s); /串賦值 intStrCompare(char*s); /串比較int StrLengh(); /求串長void Concat(char*s); /串連接void SubString(char*s,int a,int b); /求子串 int ClearString(char*s); /清空子串;對(duì)字符數(shù)組類string的成員函數(shù)進(jìn)行建立,類的成員是公有和私有類型,對(duì)于s

11、tring類對(duì)象的外部模塊來講,類的私有成員是無法訪問的。在程序中,字符串一維數(shù)組和串的長度采用了動(dòng)態(tài)內(nèi)存分配技術(shù),這些工作都是在類的構(gòu)造函數(shù)中完成,它們的清理工作在析構(gòu)函數(shù)中完成。4.2 類的實(shí)現(xiàn)/string.cpp文件,類實(shí)現(xiàn)#include "string.h"/包含類的聲明頭文件/string類的實(shí)現(xiàn)int strlen(char*s) int i=0;while(si+!='0');return i-1;int string:length() int i=0;while(stri+!='0');return i-1;void st

12、ring:StrAssign(char*s) /串賦值 int i,k=length();for(i=0;i<k;i+)stri=si;stri='0'intstring:StrCompare(char*s) /串比較int i=0;int k1,k2,t;k1=strlen(s);k2=length();if(k1<k2)t=k1;k1=k2;k2=t;for(i=0;i<k1;i+)if(si<stri)return 1;else if(si>stri)return -1;return 0;intstring:StrLengh() /求串長in

13、t i=0;while(stri+!='0');return i-1;void string:Concat(char*s) /串連接int i=0,k=length();while(si!='0')strk=si;k+; i+;strk='0'void string:SubString(char*s,int a,int b) /求子串int i,k=0;for(i=a-1;i<b;i+)strk=si;k+;strk='0'int string:ClearString(char*s) /清空子串 int i,k=strlen

14、(s);for(i=0;i<k;i+)si=NULL; return 1;void show() char yorn;cout<<"n是否退出系統(tǒng)Y/N:" cin>>yorn;cout<<endl;if(yorn='y'|yorn='Y') flag=1;elseif(yorn='n'|yorn='N')flag=0;cout<<"請(qǐng)?jiān)俅屋斎牍δ苄蛱?hào)n" else flag=0;cout<<"輸入有誤,請(qǐng)重新輸入&

15、quot;<<endl; void menu() /功能列表 cout<<"*"<<endl;cout<<" 字符串類的設(shè)計(jì)與實(shí)現(xiàn)"<<endl;cout<<"*"<<endl; cout<<"設(shè)計(jì)人:司志磊"<<endl;cout<<"學(xué)號(hào):1103060135"<<endl;cout<<"功能選擇菜單:"<<endl;

16、 cout<<"1)串賦值n"<<"2)串比較n"<<"3)求串長n"<<"4)串連接n"<<"5)求子串n"<<"6)清空子串n"cout<<"請(qǐng)您輸入相應(yīng)功能的序號(hào)!"<<endl;void c1() /測試功能1:串賦值 string s;char s1N; cout<<"您選擇的功能是串賦值n"cout<<&q

17、uot;請(qǐng)輸入字符串,并以回車結(jié)束:"s.strset();s.StrAssign(s1);cout<<"串賦值為:"s.strout();show(); void c2() /測試功能2:串比較 string s; char s1N;cout<<"您選擇的功能是串比較n"cout<<"請(qǐng)輸入第一串字符并以回車結(jié)束: "s.strset();cout<<"請(qǐng)輸入第二串字符并以回車結(jié)束: "cin>>s1;cout<<"結(jié)果:

18、"<<s.StrCompare(s1)<<endl;show();void c3() /測試功能3:求串長 string s;char s1N;cout<<"您選擇的功能是求串長n"cout<<"請(qǐng)輸入字符串并以回車結(jié)束: "s.strset();cout<<"結(jié)果:"<<s.StrLengh()<<endl;show();void c4() /測試功能4:串連接 char s1N;string s;cout<<"您選擇

19、的功能是串連接n"cout<<"請(qǐng)隨意輸入一串字符并以回車結(jié)束:"s.strset();cout<<"請(qǐng)輸入一串想連接的字符并以回車結(jié)束:"cin>>s1;s.Concat(s1);cout<<"連接后的新字符串為:"s.strout();show();void c5() /測試功能5:求子串 string s;int a,b;char s1N;cout<<"您選擇的功能是求子串n"cout<<"請(qǐng)輸入母串,并以回車結(jié)束:&

20、quot;cin>>s1;cout<<"請(qǐng)輸入子串的始位置:"cin>>a;cout<<"請(qǐng)輸入子串的末位置:"cin>>b;cout<<endl;s.SubString(s1,a,b);cout<<"所取子串為:"s.strout();show();void c6() /測試功能6:清空子串 string s;char s1N;cout<<"您選擇的功能是清空子串n"cout<<"請(qǐng)輸入所要清空的

21、子串,并以回車結(jié)束:"cin>>s1;cout<<endl; cout<<"結(jié)果:"<<s.ClearString(s1)<<endl;show();void cs(char &n1) /開關(guān)鍵 n=n1-'0'switch(n) case 1:c1();break;case 2:c2();break;case 3:c3();break; case 4:c4();break;case 5:c5();break; case 6:c6();break;default: cout<

22、<"您輸入的功能序號(hào)有誤,請(qǐng)重新輸入!"<<endl; 在類的成員函數(shù)實(shí)現(xiàn)過程中,類的構(gòu)造函數(shù)為字符數(shù)組動(dòng)態(tài)分配了內(nèi)存空間。類的析構(gòu)函數(shù)在系統(tǒng)內(nèi)部完成了函數(shù)調(diào)用。類的成員函數(shù)可以自由地訪問類的私有數(shù)據(jù)成員。串賦值操作實(shí)現(xiàn),則返回賦值后的串;串比較操作實(shí)現(xiàn),若字符串1大于字符串2,返回值為1,若字符串1等于字符串2,返回值為0,若字符串1小于字符串2,返回值為-1;求串長操作實(shí)現(xiàn),則返回值為所輸入的串的長度;串連接操作實(shí)現(xiàn),則返回連接后的字符串;求子串操作實(shí)現(xiàn),則返回所求的子串;清空子串操作實(shí)現(xiàn),正常完成之后,返回值為1。根據(jù)函數(shù)的返回值,就可以判斷操作實(shí)現(xiàn)

23、的情況。4.3 主函數(shù)設(shè)計(jì)/main.cpp主函數(shù)#include "string.h"int main()/主函數(shù)char a;menu();while(1)if(flag) cout<<"謝謝你的使用!n" break; cin>>a;cs(a);return 0;在程序的主函數(shù)部分,首先,選擇你所要測試的功能的序號(hào),之后從鍵盤輸入需要的一個(gè)或兩個(gè)字符串作為一個(gè)實(shí)際例子來進(jìn)行功能的測試。字符串使用一維數(shù)組來存儲(chǔ)。字符數(shù)組類string的成員函數(shù)StrAssign(char*s)、StrCompare(char*s)、StrLe

24、ngh()、Concat(char*s)、SubString(char*s,int a,int b)和ClearString(char*s)會(huì)分別完成對(duì)所選功能的測試任務(wù),show( )函數(shù)會(huì)提示是否繼續(xù)進(jìn)行功能測試,繼續(xù)進(jìn)行功能測試則從鍵盤輸入Y,退出系統(tǒng),結(jié)束對(duì)功能的測試則輸入N。4.4 基于控制臺(tái)的應(yīng)用程序測試程序運(yùn)行結(jié)果如圖2和圖3所示。圖2 程序運(yùn)行結(jié)果圖3 程序運(yùn)行結(jié)果從圖2和圖3中可以看出,程序能夠?qū)崿F(xiàn)所選序號(hào)的功能,但是,對(duì)于功能實(shí)現(xiàn)的結(jié)果的正確性問題卻無法獲知,為了能夠驗(yàn)證結(jié)果的正確性,對(duì)所輸入的字符串進(jìn)行人為功能實(shí)現(xiàn),如果兩次的功能實(shí)現(xiàn)結(jié)果相同,即說明功能實(shí)現(xiàn)的結(jié)果是正確的

25、,否則,說明功能實(shí)現(xiàn)存在問題,需對(duì)程序進(jìn)行進(jìn)一步調(diào)試分析。5基于MFC的應(yīng)用程序MFC的圖形界面程序設(shè)計(jì)可在上述類設(shè)計(jì)的基礎(chǔ)上進(jìn)行改造,MFC的圖形界面程序與DOS界面程序的主要不同點(diǎn)是:MFC圖形界面程序與DOS界面程序的輸入輸出方式不同,DOS界面程序采用字符交互式實(shí)現(xiàn)數(shù)據(jù)輸入輸出,主要通過cin,cout等I/O流實(shí)現(xiàn),而MFC的圖形程序界面采用標(biāo)準(zhǔn)Windows窗口和控件實(shí)現(xiàn)輸入輸出,因此必須在MFC類的框架下加入上面所設(shè)計(jì)的矩陣和方程組類,并通過圖形界面的輸入輸出改造來完成。5.1 基于MFC的應(yīng)用程序設(shè)計(jì) MFC程序界面設(shè)計(jì)首先在VC中建立MFC AppWizard(exe)工程,

26、名稱設(shè)置為000,并在向?qū)У腟tep1中選擇Dialog based,即建立基于對(duì)話框的應(yīng)用程序,如下圖45所示。圖4 建立MFC AppWizard(exe)工程圖5 建立基于對(duì)話框的應(yīng)用程序?qū)?duì)話框資源中的默認(rèn)對(duì)話框利用工具箱改造成所需要的界面,如圖6所示。圖6 字符串操作程序界面設(shè)計(jì)圖6所示的界面中包含了5個(gè)Static Text控件,7個(gè)Button控件,和10個(gè)Edit Box控件,控件的基本信息列表如下表1所示。表1 控件基本信息控件類別控件ID控件Caption說明Static TextIDC_STATIC請(qǐng)輸入字符串1請(qǐng)輸入字符串2請(qǐng)輸入子串的始位置請(qǐng)輸入子串的末位置功能測試結(jié)

27、果BottonIDC_BUTTON1串賦值IDC_BUTTON2串比較IDC_BUTTON3求串長IDC_BUTTON4串連接IDC_BUTTON5求子串IDC_BUTTON6清空子串IDC_BUTTON7退出Edit BoxIDC_EDIT1字符串1IDC_EDIT2字符串2IDC_EDIT3串賦值的測試結(jié)果IDC_EDIT4串比較的測試結(jié)果IDC_EDIT5求串長的測試結(jié)果IDC_EDIT6串連接的測試結(jié)果IDC_EDIT7求子串的測試結(jié)果IDC_EDIT8子串的始位置IDC_EDIT9子串的末位置IDC_EDIT10清空子串 MFC程序代碼設(shè)計(jì)為了能夠?qū)?duì)話框界面上的控件能夠與代碼聯(lián)系起

28、來,需要為10個(gè)Edit Box控件建立Member Variables,按Ctrl+w鍵進(jìn)入MFC ClassWizard界面,選擇Member Variables選項(xiàng)卡,可顯示成員變量設(shè)置界面,如圖7所示。圖7 成員變量設(shè)置界面通過該界面設(shè)置與10個(gè)Edit Box控件對(duì)應(yīng)的成員變量,具體內(nèi)容如表2所示。表2 控件基本信息控件ID成員變量類型成員變量名稱IDC_EDIT1CEditm_str1IDC_EDIT2CEditm_str2IDC_EDIT3CStringm_e1IDC_EDIT4intm_e2IDC_EDIT5intm_e3IDC_EDIT6CStringm_e4IDC_EDIT

29、7CStringm_e5IDC_EDIT8intm_shouIDC_EDIT9intm_weiIDC_EDIT10intm_e6下面是編寫代碼的重要階段,可以借鑒在設(shè)計(jì)基于DOS界面的控制臺(tái)應(yīng)用程序的代碼,并將其作必要的改寫,具體改寫的步驟與內(nèi)容如下。將string.h文件和string.cpp文件合并成一個(gè)文件,重新命名為string.h,并將其加入MFC工程。修改string.h文件具體包括:l 將功能列表menu()函數(shù)和退出系統(tǒng)show()函數(shù)注釋掉,因?yàn)樵趫D形界面的程序設(shè)計(jì)上不需要這兩個(gè)函數(shù);l 將函數(shù)中的cout語句全部去掉,因?yàn)椴恍枰膊荒軌蚴褂胏out流實(shí)現(xiàn)輸出。編寫執(zhí)行測試功

30、能的按鈕的函數(shù),實(shí)現(xiàn)所需測試的功能,具體代碼如下:void CMy000Dlg:OnButton1() / TODO: Add your control notification handler code hereUpdateData(TRUE); char cstr110;m_str1.GetWindowText(cstr1,10);m_e1=cstr1; UpdateData(FALSE);void CMy000Dlg:OnButton2() / TODO: Add your control notification handler code hereUpdateData(TRUE); c

31、har cstr110,cstr210;m_str1.GetWindowText(cstr1,10); m_str2.GetWindowText(cstr2,10);m_e2=strcmp(cstr1,cstr2);UpdateData(FALSE);void CMy000Dlg:OnButton3() / TODO: Add your control notification handler code hereUpdateData(TRUE); char cstr110;m_str1.GetWindowText(cstr1,10); m_e3=strlen(cstr1); UpdateDat

32、a(FALSE);void CMy000Dlg:OnButton4() / TODO: Add your control notification handler code hereUpdateData(TRUE); char cstr110,cstr210;m_str1.GetWindowText(cstr1,10); m_str2.GetWindowText(cstr2,10);int i=0,k=strlen(cstr1);while(cstr2i!='0')cstr1k=cstr2i;k+;i+;cstr1k='0' m_e4=cstr1; Update

33、Data(FALSE);void CMy000Dlg:OnButton5() / TODO: Add your control notification handler code hereUpdateData(TRUE); char cstr110;char cstr310;m_str1.GetWindowText(cstr1,10); int i,k=0;for(i=m_shou-1;i<m_wei;i+)cstr3k=cstr1i;k+;cstr3k='0'm_e5=cstr3;UpdateData(FALSE);void CMy000Dlg:OnButton6() / TODO: Add your control notification handler code hereUpdateData(TRUE);int i,k=strlen(m_e5);for(i=0;i<k;i+)m_e5i=NULL; if(m_e5)m_e6=1; UpdateData(FALSE);退出按鈕比較簡單,代碼如下:void CMy000Dlg:OnButton7() / TODO: Add your

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論