版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
.....摘要當(dāng)下C++語言是一門重要的課程學(xué)習(xí),學(xué)會(huì)運(yùn)用并結(jié)合其他的知識(shí)一起解題是一件值得我們重視的,數(shù)據(jù)結(jié)構(gòu)是一門結(jié)合C++知識(shí)的重要課程,因此我們要學(xué)會(huì)將平時(shí)課本的知識(shí)運(yùn)用到我們現(xiàn)實(shí)生活當(dāng)中,這樣才能讓我們所學(xué)的知識(shí)更加深刻。簡易文本編輯器的問題就是一個(gè)例子,傳統(tǒng)的紙質(zhì)文檔已經(jīng)不能滿足大家的需求,有容易丟失、查找不方便等缺點(diǎn)。計(jì)算機(jī)信息管理為人們的生活、工作提供了方便,提高了效率。"簡易文本編輯器"就是為了幫助老師、同學(xué)或其他一些需要使用文本編輯的人員進(jìn)行管理和分析的一種計(jì)算機(jī)應(yīng)用程序。關(guān)鍵詞:簡易文本編輯器,數(shù)據(jù)結(jié)構(gòu),順序表。目錄一、需求分析11.1問題描述11.2基本任務(wù)1二、概要設(shè)計(jì)12.1主界面設(shè)計(jì)12.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)1三、詳細(xì)設(shè)計(jì)23.1清空內(nèi)容模塊23.2打開文件模塊23.3輸入模塊23.4插入模塊23.5刪除模塊23.6替換模塊23.7顯示模塊23.8保存模塊33.9系統(tǒng)層次圖3四、測(cè)試結(jié)果34.1文本編輯器主界面34.2系統(tǒng)功能4五、調(diào)試分析7六、心得體會(huì)8七、參考文獻(xiàn)9八、程序源代碼10..一、需求分析1.1問題描述傳統(tǒng)的紙質(zhì)文檔已經(jīng)不能滿足大家的需求,有容易丟失、查找不方便等缺點(diǎn)。計(jì)算機(jī)信息管理為人們的生活、工作提供了方便,提高了效率。"簡易文本編輯器"就是為了幫助老師、同學(xué)或其他一些需要使用文本編輯的人員進(jìn)行管理和分析的一種計(jì)算機(jī)應(yīng)用程序。1.2基本任務(wù)通過用戶調(diào)查分析及實(shí)際需求,系統(tǒng)需要實(shí)現(xiàn)如下基本任務(wù):輸入數(shù)據(jù)信息建立文本;打開文本讀取已保存的信息;插入新的信息到文本中;刪除不再需要的文本信息;替換不需要的文本信息;顯示所有的文本信息;保存所輸入、插入、替換過的文本信息;清空文本信息。二、概要設(shè)計(jì)2.1主界面設(shè)計(jì)為了實(shí)現(xiàn)簡易文本編輯器的各項(xiàng)功能,設(shè)計(jì)一個(gè)含有多個(gè)菜單項(xiàng)的主控菜單模塊以操作系統(tǒng)的各項(xiàng)功能,進(jìn)而方便用戶使用系統(tǒng)。2.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)為實(shí)現(xiàn)數(shù)據(jù)的有序存儲(chǔ),該編輯器應(yīng)該用順序存儲(chǔ)結(jié)構(gòu)來存儲(chǔ)輸入的信息。順序表是數(shù)據(jù)結(jié)構(gòu)中線性表的一種,它是用一塊地址連續(xù)的存儲(chǔ)空間依次存儲(chǔ)線性表的元素。其特點(diǎn)為:在順序表上邏輯關(guān)系相鄰的倆個(gè)元素在物理位置上也相鄰;在順序表上可以隨即存取表中的元素。三、詳細(xì)設(shè)計(jì)3.1清空內(nèi)容模塊清空以前的文本信息,將用數(shù)組存的數(shù)據(jù)內(nèi)容全部置為0。3.2打開文件模塊確認(rèn)打開文件并提示未保存的數(shù)據(jù)將會(huì)丟失,如果未選擇打開文件,則返回主菜單。3.3輸入模塊輸入文本信息,從主菜單中選擇輸入,提示輸入內(nèi)容,并統(tǒng)計(jì)文本字符數(shù)和行數(shù)。3.4插入模塊插入文本信息,首先在數(shù)組中查找要插入點(diǎn),如果找到該插入點(diǎn),提示輸入插入信息,確認(rèn)插入信息后,提示選擇向前插入信息還是向后插入信息,如果未找到插入點(diǎn),顯示未找到要插入的位置。3.5刪除模塊刪除文本信息,首先在數(shù)組中查找要?jiǎng)h除的信息,如果找到該信息,提示是否確認(rèn)刪除該信息,通過確認(rèn)來刪除信息,如果未找到要?jiǎng)h除的信息,提示未找到該信息。3.6替換模塊替換文本信息,首先在數(shù)組中查找要被替換的信息,如果找到該信息,提示輸入要替換的信息內(nèi)容,否則提示未找到要被替換的信息。3.7顯示模塊顯示當(dāng)前文本信息,遍歷用數(shù)組存入的信息,并輸入到外部顯示器上。3.8保存模塊保存當(dāng)前信息,并提示輸入文件名,確認(rèn)保存之后提示保存成功。3.9系統(tǒng)層次圖簡易文本編輯器簡易文本編輯器清空內(nèi)容輸入保存顯示替清空內(nèi)容輸入保存顯示替換刪除插入打開文件圖3-1系統(tǒng)層次圖四、測(cè)試結(jié)果4.1文本編輯器主界面主界面功能,如圖4—1所示。圖4—1文本編輯器主界面4.2系統(tǒng)功能=1\*GB2⑴輸入文本信息功能,如圖4—2所示。圖4—2輸入界面=2\*GB2⑵查找文本信息,如圖4—3所示。圖4—3查找功能界面=3\*GB2⑶顯示文本信息,如圖4—4所示。圖4—4顯示文本界面⑷插入操作,如圖4—5所示。圖4—5插入功能界面⑸刪除操作,如圖4—6所示。圖4—6刪除功能界面⑹替換文本內(nèi)容,如圖4—7所示。圖4—7替換功能界面⑺文件保存,如圖4—8所示。圖4—8保存功能界面五、調(diào)試分析程序設(shè)計(jì)沒有按照一定的流程來,導(dǎo)致程序臃腫,可重復(fù)利用率太低,比如程序中的chazhao函數(shù),在替換,刪除等的過程中可以充分利用到,從而減少代碼的長多,提高可讀性和減少時(shí)間的復(fù)雜性,設(shè)計(jì)開始的時(shí)候沒有充分考慮到,到最后無法在短時(shí)間內(nèi)修改完成;程序的選擇語句運(yùn)行比較的多,當(dāng)初是為了程序的安全和便捷,選擇了較多的選擇,確認(rèn)步驟,這樣一來使得程序中的選擇語句比較的多,比較亂。這個(gè)在概要設(shè)計(jì)中沒有充分的理清思路,導(dǎo)致程序的可讀性較差。六、心得體會(huì)這是第一次比較全面的設(shè)計(jì)一個(gè)可執(zhí)行多種功能的程序的課程設(shè)計(jì),暴露出較多的知識(shí)點(diǎn)的缺乏,比如文件的打開與保存等。程序的運(yùn)行結(jié)果與理論推導(dǎo)結(jié)果基本吻合,即該算法與程序設(shè)計(jì)基本滿足課程設(shè)計(jì)要求。該程序的優(yōu)點(diǎn)是簡單易懂,不存在理解上的障礙,很自然地能想到這種解法。但是該程序比較臃腫,可重復(fù)利用率低,還有待修改和完善。通過這次數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計(jì)使我對(duì)所學(xué)知識(shí)有了更好的理解,增強(qiáng)了自己的動(dòng)手能力,但同時(shí)也發(fā)現(xiàn)了自己的不足之處,對(duì)知識(shí)的應(yīng)用能力很是欠缺,應(yīng)用軟件的能力及編程水平與課程要求更是存在很大的差距。通過這個(gè)實(shí)驗(yàn),使我基本操作有了一定的思路,知道該從哪里著手去完成一項(xiàng)功能編譯,也讓我學(xué)會(huì)了如何通過書籍查閱到自己想要的信息,并有一個(gè)思維方向去解決編譯時(shí)出現(xiàn)的問題,提高了我的編程效率,我想這對(duì)我以后的學(xué)習(xí)會(huì)有很大的幫助,會(huì)讓我有信心去完成下一個(gè)實(shí)驗(yàn)。七、參考文獻(xiàn)[1]嚴(yán)蔚敏吳偉名編著,《數(shù)據(jù)結(jié)構(gòu)》,清華大學(xué)出版社,20XX9月[2]譚浩強(qiáng)編著,《c語言程序設(shè)計(jì)》,清華大學(xué)出版社[3]錢能.C++程序設(shè)計(jì)教程〔第二版[M].北京:清華大學(xué)出版社,2005八、程序源代碼#include<stdio.h>#include<stdlib.h>#include<time.h>#include<string.h>#defineMAX10000#define_CRT_SECURE_NO_DEPRECATE //在vs中取消warning的警告voidmenu<>;voidshuru<chartext[]>;voidbc<chartext[]>;voiddakai<chartext[]>;voiddayin<chartext[]>;voidchazhao<chartext[],intl>;voidtihan<chartext[],intl>;intstrindex<chartext[],chart[],inti2,intl>;voidshanchu<charp[],intl>;voidcs<chartext[]>;voidcharu<chartext[],intl>;voidtuichu<intstatus>;chartext[MAX]=""; //文本編輯域charname[20]=""; //文件保存的位置intstatus=0; //顯示是否保存過的狀態(tài)intntext; //文本編輯的位置 voiddakai<chartext[]>{ system<"cls">; FILE*fp; charpd,ch; charname[30]; inti=0; printf<"輸入A:確定打開文件<未保存的數(shù)據(jù)將會(huì)丟失>M:返回主菜單">; fflush<stdin>; pd=getchar<>; if<pd=='A'||pd=='a'> { printf<"請(qǐng)輸入要打開文件名字〔例如c:\\a.txt">; scanf<"%s",name>; while<<fp=fopen<name,"r">>==NULL> { printf<"\n打開文件失敗,請(qǐng)重新輸入要打開的文件名:">; scanf<"%s",name>; } cs<text>; while<!feof<fp>> { ch=fgetc<fp>; text[i]=ch; i++; } text[i]='\0'; ntext=i; fclose<fp>; printf<"\n文件讀取成功\n文件內(nèi)容為\n">; dayin<text>; } if<pd=='M'||pd=='m'> menu<>;}voidbc<chartext[]>{ system<"cls">; FILE*fp; charpd; chartmp; inti; printf<"\n輸入[A]保存;任意鍵返回主菜單不保存\n">; fflush<stdin>; pd=getchar<>; if<!<pd=='A'||pd=='a'>> { menu<>; } else { if<name[20]==NULL> { printf<"\n請(qǐng)輸入保存文件名<例如:c:\\a.txt>:">; scanf<"%s",name>; } while<<fp=fopen<name,"w+">>==NULL> { printf<"文件不存在,請(qǐng)重新輸入文件名:">; scanf<"%s",name>; } printf<"\nA:確定;B:取消:">; while<scanf<"%c",&tmp>!=EOF> { if<tmp=='A'||tmp=='a'> { for<i=0;i<ntext;i++> fprintf<fp,"%c",text[i]>; fclose<fp>; status=1; printf<"\n文件保存成功\n">; break; } if<tmp=='B'||tmp=='b'> { break; } } }}voidcs<chartext[]>{ inti; for<i=0;i<ntext;i++> { text[i]='\0'; } ntext=0; status=0;}intstrindex<chartext[],chart[],inti2,intl>//查找要操作的數(shù)據(jù)的位置<模式匹配>{ inti1=l,j=0; while<i1<ntext&&j<i2> { if<text[i1]==t[j]> //繼續(xù)匹配下一個(gè)字符 { j++; i1++; //主串和子串依次匹配下一個(gè)字符 } else //主串、子串指針回溯重新開始下一次匹配 { i1=i1-j+1; //主串從下一個(gè)位置開始匹配 j=0; //子串從頭開始匹配 } } if<j>=i2> { return<i1-i2>; } //返回匹配的第一個(gè)字符的下標(biāo) else return<-1>; //模式匹配不成功}voidmenu<>{ system<"cls">; time_ttimep; time<&timep>; printf<"%s",ctime<&timep>>;printf<"信息與計(jì)算科學(xué)1209010314范亞飛\n">; printf<"\n\n\n\n\n\n\n\n\n\t\t\tWelcomtouseourTXTeditionsystem!\n">; printf<"\n\n\t\t\t歡迎您使用文本編輯器軟件!\n">; printf<"\n\n\n\n\n\n\n\n\npressEntertocontinue...\n">; getchar<>;loop: system<"cls">; printf<"\n\n\n\n\t\t******************簡易文本編輯器*****************\n\n">; printf<"\t\t\t\t0.清空內(nèi)容--\n">; printf<"\t\t\t\t1.打開文件--\n">; if<ntext==0>{ printf<"\t\t\t\t2.輸入內(nèi)容--\n">; } else{ printf<"\t\t\t\t2.繼續(xù)輸入--\n">; } printf<"\t\t\t\t3.查找\n">; printf<"\t\t\t\t4.插入\n">; printf<"\t\t\t\t5.刪除\n">; printf<"\t\t\t\t6.替換\n">; printf<"\t\t\t\t7.顯示內(nèi)容--\n">; printf<"\t\t\t\t8.保存\n">; printf<"\t\t\t\t9.退出\n">; printf<"\n\t\t*********************選項(xiàng)************************\n">; printf<"\n\t\t\t\t輸入選項(xiàng)0-9:">; charn; fflush<stdin>; n=getchar<>; if<n>='0'&&n<='9'> { switch<n> { case'0':cs<text>;break; case'1':dakai<text>;break; case'2':shuru<text>;break; case'3':chazhao<text,0>;break; case'4':charu<text,1>;break; case'5':shanchu<text,0>;break; case'6':tihan<text,0>;break; case'7':dayin<text>;break; case'8':bc<text>;break; case'9':tuichu<status>; default:break; } } else { printf<"\n輸入有誤,請(qǐng)重新輸入:">; fflush<stdin>; n=getchar<>; } system<"pause">; gotoloop;}voidchazhao<chartext[],intl>{ system<"cls">; inti,t,a=-1; charpattern[20],bd,pd; printf<"原文為:\n">; dayin<text>; printf<"請(qǐng)輸入您要查找的內(nèi)容">; scanf<"%s",pattern>; printf<"您查找的內(nèi)容是:%s\n",pattern>; t=strlen<pattern>;loop: a=strindex<text,pattern,t,l>; if<a!=-1> { l=a+t; } inths=1,ls=0; for<i=0;i<=a;i++> { ls++; if<text[i]=='\n'> { hs++;ls=0; } } if<a==-1> { printf<"查找到結(jié)尾沒有找到\n輸入[R]將重頭查找;任意鍵返回主菜單">; l=0; fflush<stdin>; pd=getchar<>; } else { printf<"已經(jīng)找到在第%d行第%d列,輸入[R]繼續(xù)查找下一處;任意鍵返回主菜單",hs,ls>; fflush<stdin>; bd=getchar<>; if<bd=='R'||bd=='r'> gotoloop; } if<pd=='R'||pd=='r'> {l=0;chazhao<text,l>;}}voiddayin<chartext[]>{ system<"cls">; printf<"現(xiàn)在文本的內(nèi)容為:\n">; printf<"%s\n",text>; inths=1,i; for<i=0;i<ntext;i++> { if<text[i]=='\n'> { hs++; } } printf<"\n文本共有%d行\(zhòng)n",hs>;}voidshuru<chartext[]>{ system<"cls">; printf<"請(qǐng)輸入內(nèi)容<輸入結(jié)束輸入并返回主菜單>:\n">; printf<"%s",text>; charc; inti=ntext,j=ntext; fflush<stdin>; while<<c=getchar<>>!=''> { text[i]=c; i++; ntext=i; continue; } intcout=0,zf=0,h=1,hs=1,zfs=0; for<;cout<ntext;cout++> { zf++; if<text[cout]=='\n'> {h++;zf--;} if<text[cout]==''> zf--; } for<cout=j;cout<ntext;cout++> { zfs++; if<text[cout]=='\n'> {hs++;zfs--;} if<text[cout]==''> zfs--; } printf<"統(tǒng)計(jì):文本一共有%d個(gè)字符,%d行,本次輸入了%d個(gè)字符,%d行\(zhòng)n",zf,h,zfs,hs>;}voidshanchu<charp[],intl>{ inti,a=-1,t2=0; charx[20],px,pd,pdx,c; system<"cls">; printf<"%s",p>; printf<"\n輸入[A]執(zhí)行查找刪除內(nèi)容;任意鍵返回主菜單:">; fflush<stdin>; px=getchar<>; if<px=='a'||px=='A'> { printf<"\n輸入您要?jiǎng)h除的內(nèi)容,以結(jié)束:">; fflush<stdin>; while<<c=getchar<>>!=''> { if<c==''> { break; } else { x[t2]=c; t2++; continue; } }loop: a=strindex<p,x,t2,l>; inths=1,ls=0; for<i=0;i<=a;i++> { ls++; if<p[i]=='\n'> { hs++;ls=0; } } if<a==-1> { printf<"已查找結(jié)束,您要?jiǎng)h除的內(nèi)容不存在\n輸入[R]重新輸入要?jiǎng)h除的內(nèi)容;其他鍵將返回主菜單:">; l=0; fflush<stdin>; pdx=getchar<>; } else { printf<"你要?jiǎng)h除的內(nèi)容在第%d行第%d列\(zhòng)n輸入[A]確定刪除;輸入[B]尋找下個(gè)詞;其他鍵將返回主菜單:",hs,ls>; fflush<stdin>; pd=getchar<>; l=t2+a; if<pd=='a'||pd=='A'> { for<i=a;i<ntext;i++> { p[i]=p[i+t2]; } ntext=ntext-t2; printf<"刪除成功,刪除后的內(nèi)容為:\n%s\n",text>; } elseif<pd=='b'||pd=='B'> gotoloop; } if<pdx=='r'||pdx=='R'> shanchu<text,l>; }}voidcharu<chartext[],intl>//向文本中插入內(nèi)容{ system<"cls">; inti=0,t=0,t2=0,a=-1,b; charcr[20]="",pd,x[500],c,d; printf<"\n當(dāng)前文本信息為:\n">; printf<"%s",text>; printf<"\n輸入您要在哪個(gè)內(nèi)容前插入,以結(jié)束:">; fflush<stdin>; while<<c=getchar<>>!=''>//用一個(gè)數(shù)組接收要插入在哪個(gè)內(nèi)容之前 { if<c==''> { break; } else { cr[t]=c; t++; continue; } }loop: a=strindex<text,cr,t,l>;//查找并返回要插入的位置點(diǎn) inths=1,ls=0; for<b=0;b<a;b++> { ls++; if<text[b]=='\n'> { hs++; ls=0; } } if<a==-1> { printf<"\n查找到結(jié)尾沒有找到插入點(diǎn),輸入[R]查找其他;按其他鍵返回菜單:\n">; l=0; fflush<stdin>; d=getchar<>; fflush<stdin>; } else { printf<"\n您要插入的位置是第%d行,第%d列之前\n[A].不是此位置向后繼續(xù)找插入點(diǎn)\n[B].在此位置插入\n按其他鍵返回菜單\n請(qǐng)選擇:",hs,ls+1>; fflush<stdin>; pd=getchar<>; if<pd=='a'||pd=='A'> { l=a+t; gotoloop; } elseif<pd=='b'||pd=='B'> { printf<"\n\n輸入您要插入的內(nèi)容,以結(jié)束:">; fflush<stdin>; while<<c=getchar<>>!=''> { if<c==''> { break; } else { x[t2]=c; t2++; continue; } } for<i=ntext;i>=a;i--> { text[i+t2]=text[i]; } for<i=0;i<t2;i++> { text[i+a]=x[i]; } ntext=ntext+t2; printf<"\n當(dāng)前文本信息為:\n">; for<i=0;i<=ntext-1;i++> printf<"%c",text[i]>; printf<"\n文本插入成功\n">; fflush<stdin>; getchar<>; } } if<d=='r'||d=='R'> { l=0; charu<text,l>; } status=0;}voidtihan<charp[],intl>//內(nèi)容替換{ intt=0,t1=0,i,a,b; charc,th[20],d,d1,bth[20]; inti2; system<"cls">; printf<"\n當(dāng)前文本信息為:\n">; for<i2=0;i2<=ntext-1;i2++> printf<"%c",p[i2]>; printf<"\n輸入要被替換的內(nèi)容,以結(jié)束:">; fflush<stdin>; while<<c=getchar<>>!=''>//t指替換前內(nèi)容的長度 { if<c==''> { break; } else { bth[t]=c; t++; continue; } }loop: a=strindex<p,bth,t,l>;//查找要被替換的內(nèi)容的位置 inths=1,ls=0; for<b=0;b<a;b++> { ls++; if<p[b]=='\n'> { hs++; ls=0; } } if<a==-1> { printf<"\n查找到結(jié)尾沒有找到要被替換的內(nèi)容\n輸入[R]查找其他內(nèi)容,按其他鍵返回主菜單鍵\n">; l=0; d=getchar<>; fflush<stdin>; } else { printf<
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025服務(wù)外包合同
- 2025房地產(chǎn)交割監(jiān)管合同
- 2025合同法討論案例
- 2024年神經(jīng)系統(tǒng)用藥項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 智慧校園建設(shè)與學(xué)生學(xué)習(xí)方式的變革
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園區(qū)規(guī)劃與管理研究
- 高速公路服務(wù)區(qū)物業(yè)服務(wù)方案
- 二零二五年度出租房水電費(fèi)在線結(jié)算服務(wù)合同4篇
- 2025年新科版八年級(jí)生物上冊(cè)階段測(cè)試試卷含答案
- 2025年牛津譯林版九年級(jí)歷史上冊(cè)月考試卷含答案
- 不同茶葉的沖泡方法
- 光伏發(fā)電并網(wǎng)申辦具體流程
- 建筑勞務(wù)專業(yè)分包合同范本(2025年)
- 企業(yè)融資報(bào)告特斯拉成功案例分享
- 五年(2020-2024)高考地理真題分類匯編(全國版)專題12區(qū)域發(fā)展解析版
- 《阻燃材料與技術(shù)》課件 第8講 阻燃木質(zhì)材料
- 低空經(jīng)濟(jì)的社會(huì)接受度與倫理問題分析
- GB/T 4732.1-2024壓力容器分析設(shè)計(jì)第1部分:通用要求
- 河北省保定市競秀區(qū)2023-2024學(xué)年七年級(jí)下學(xué)期期末生物學(xué)試題(解析版)
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件
- 六編元代文學(xué)
評(píng)論
0/150
提交評(píng)論