九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-簡易文本編輯器.doc

上傳人:good****022 文檔編號:116538346 上傳時(shí)間:2022-07-05 格式:DOC 頁數(shù):20 大?。?41.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-簡易文本編輯器.doc_第1頁
第1頁 / 共20頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-簡易文本編輯器.doc_第2頁
第2頁 / 共20頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-簡易文本編輯器.doc_第3頁
第3頁 / 共20頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-簡易文本編輯器.doc》由會員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)-簡易文本編輯器.doc(20頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、安徽省巢湖學(xué)院計(jì)算機(jī)與信息工程學(xué)院課程設(shè)計(jì)報(bào)告課程名稱 數(shù)據(jù)結(jié)構(gòu) 課題名稱 簡單文本編輯器 專業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) 班級 10計(jì)本2班 學(xué)號 10012108 姓名 聯(lián)系方式 指導(dǎo)教師 20 11 年 12 月 30 日1需求分析一個簡易文本編輯器應(yīng)該具有圖形菜單界面,包括查找,替換(等長,不等長),插入(插串,文本塊的插入)、塊移動(行塊,列塊移動),刪除文本信息等功能并可正確存盤、取盤,正確顯示總行數(shù)。2概要設(shè)計(jì) 為實(shí)現(xiàn)數(shù)據(jù)的有序存儲,該編輯器應(yīng)該用順序表來存儲輸入的信息。順序表是數(shù)據(jù)結(jié)構(gòu)中線性表的一種,它是用一塊地址連續(xù)的存儲空間依次存儲線性表的元素。其特點(diǎn)為:在順序表上邏輯關(guān)系相鄰的倆

2、個元素在物理位置上也相鄰;在順序表上可以隨即存取表中的元素。在編輯器的主界面中應(yīng)有如下提示信息: 清空以前的文本信息:將用數(shù)組存的數(shù)據(jù)內(nèi)容全部置為0; 顯示當(dāng)前文本信息:遍歷用數(shù)組存入的信息,并輸入到外部顯示器上; 編輯信息:定義一個結(jié)構(gòu)體,并在結(jié)構(gòu)體中定義一個字符型的一維數(shù)組和一個整型變量,這個整型變量用于記錄一維數(shù)組中存入數(shù)據(jù)的個數(shù); 替換文本信息:首先在數(shù)組中查找要被替換的信息,如果找到該信息,提示輸入要替換的信息內(nèi)容,否則提示未找到要被替換的信息; 插入文本信息:首先在數(shù)組中查找要插入點(diǎn),如果找到該插入點(diǎn),提示輸入插入信息,確認(rèn)插入信息后,提示選擇向前插入信息還是向后插入信息,如果未找

3、到插入點(diǎn),顯示未找到要插入的位置; 移動文本信息:首先在數(shù)組中查找要移動的信息,如果找到該信息,提示是進(jìn)行列移動還是進(jìn)行行移動,否則提示未找到要移動的信息; 刪除文本信息:首先在數(shù)組中查找要刪除的信息,如果找到該信息,提示是否確認(rèn)刪除該信息,通過確認(rèn)來刪除信息,如果未找到要刪除的信息,提示未找到該信息; 退出編輯器:顯示感謝使用該軟件并退出。文本編輯器的運(yùn)行流程圖,如圖21所示。 圖21文本編輯器流程圖3詳細(xì)設(shè)計(jì) #include #include #include #include #include #define MAXSIZE 100int ntext; /全局變量int b=0;typ

4、edef struct char srMAXSIZE; int hang; int lie;shuru ;int strindex(shuru m,char t,int i2,int l) /查找要操作的數(shù)據(jù)的位置(模式匹配) int i4=l,j=0; while (i4ntext&j=i2) return(i4-i2); /返回匹配的第一個字符的下標(biāo) else return(-1); /模式匹配不成功void charu(shuru &k,int l) /向文本中插入內(nèi)容 system(cls); int i,t=0,t2=0,a=-1; char cr20,pd,x500,c,d; in

5、t i2; printf(n當(dāng)前文本信息為:n); for (i2=0;i2=ntext-1;i2+) printf(%c,k.sri2); printf(n輸入您要在哪個內(nèi)容前插入,以結(jié)束:); fflush(stdin); while (c=getchar()!=) /用一個數(shù)組接收要插入在哪個內(nèi)容之前 if (c=) break; else crt=c; t+; continue; a=strindex(k,cr,t,l); /查找并返回要插入的位置點(diǎn) if (a!=-1) l=a+t; int hs=1,ls=0; for (b=0;ba;b+) ls+; if (k.srb=n) h

6、s+; ls=0; if (a=-1) printf(n查找到結(jié)尾沒有找到插入點(diǎn)nR:重新查找點(diǎn)n雙擊回車鍵返回菜單:n); l=0; fflush(stdin); d=getchar(); fflush(stdin); else int i2; printf(n當(dāng)前文本信息為:n); for (i2=0;i2=a;i-) k.sri+t2=k.sri; for (i=0;it2;i+) k.sri+a=xi; ntext=ntext+t2; printf(n當(dāng)前文本信息為:n); for (i2=0;i2=ntext-1;i2+) printf(%c,k.sri2); printf(插入成功

7、n); fflush(stdin); getchar(); if (d=r|d=R|pd=r|pd=R) l=0; charu(k,l); FILE *fp; int b11; fprintf(fp,The contents isn); for (b11=0;b11=ntext-1;b11+) fprintf(fp,%c,k.srb11); fclose(fp);void tihan(shuru &r,int l) /內(nèi)容替換 int t=0,t1=0,i,a; char c,th20,d,d1,bth20; int i2; printf(n當(dāng)前文本信息為:n); for (i2=0;i2=n

8、text-1;i2+) printf(%c,r.sri2); printf(n輸入要被替換的內(nèi)容,以結(jié)束:); fflush(stdin); while (c=getchar()!=) /t指替換前內(nèi)容的長度 if (c=) break; else btht=c; t+; continue; a=strindex(r,bth,t,l); /查找要被替換的內(nèi)容的位置 if (a!=-1) l=a+t; int hs=1,ls=0; for (b=0;ba;b+) ls+; if (r.srb=n) hs+; ls=0; if (a=-1) printf(n查找到結(jié)尾沒有找到要被替換的內(nèi)容n繼續(xù)查

9、找請按R,雙擊回車鍵退出n); l=0; /printf(n%d,a); /printf(n%d,i1); /printf(n%d,ntext); fflush(stdin); d=getchar(); fflush(stdin); else printf(nn已經(jīng)找到要查找的數(shù)據(jù):ntt在第%d行,第%d列nR:繼續(xù)向后查找相同內(nèi)容nA:進(jìn)一步進(jìn)行替換操作n請選擇:,hs,ls+1); /printf(n%d,a); /printf(n%d,i1); /printf(n%d,ntext); fflush(stdin); d=getchar(); if (d!=r&d!=R) printf(n

10、是否要替換該內(nèi)容?nA:替換給內(nèi)容n雙擊回車鍵:返回主菜單n請選擇:); fflush(stdin); d1=getchar(); if (d1=a|d1=A) printf(n輸入要替換的內(nèi)容,以結(jié)束:); fflush(stdin); while (c=getchar()!=) /t1指替換后的內(nèi)容長度 if (c=) break; else tht1=c; t1+; continue; if (t=t1) /將要被替換的內(nèi)容和替換后的內(nèi)容進(jìn)行長度比較 for (i=0;it1) for (i=0;it1;i+) r.sri+a=thi; for (i=a+t1;i=a;i-) r.sri

11、+t1-t=r.sri; for (i=0;it1;i+) r.sri+a=thi; ntext=ntext+t1-t; printf(替換成功); printf(n當(dāng)前文本信息為:n); for (i2=0;i2=ntext-1;i2+) printf(%c,r.sri2); getchar(); if (d=R|d=r) tihan(r,l); FILE *fp; int b11; fprintf(fp,The contents isn); for (b11=0;b11=ntext-1;b11+) fprintf(fp,%c,r.srb11); fclose(fp);int main()

12、shuru t; char n,i=0,p=a; int a3=0; printf(nnnnnnnnntttWelcom to use our TXT edition system!n); printf(nnttt 歡迎您使用文本編輯器軟件!n); printf(nnnnnnnnnpress Enter to continue.n); getchar();L1: system(cls); printf(nn The Function Of TXT Edition List n ); printf(n *n * *); printf(n * 0-clear all contents list *

13、n * *); printf(n * 1-Display all contents list *n * *); printf(n * 2-Input contents list *n * *); printf(n * 3-Lookfor contents list *n * *); printf(n * 4-replace contents list *n * *); printf(n * 5-insert contents list *n * *); printf(n * 6-move contents list *n * *); printf(n * 7-delete contents l

14、ist *n * *); printf(n * 8-exit contents list *n * *); printf(n *n); if (i=0) printf(ninput the number before function of you want to select:); else printf(ninput error! please select again); printf(nninput the number before function of you want to select:); fflush(stdin); scanf(%c,&n); switch (n) ca

15、se 0: system(cls); cs(t); i=0; getchar(); goto L1; break; case 1: system(cls); xs(t); i=0; getchar(); goto L1; break; case 2: system(cls); b+; if (b=1) ntext=0; Input(t); i=0; getchar(); goto L1; break; case 3: system(cls); chazhao(t,a3); i=0; getchar(); goto L1; break; case 4: system(cls); tihan(t,

16、a3); i=0; getchar(); goto L1; break; case 5: charu(t,a3); i=0; getchar(); goto L1; break; case 6: system(cls); kuaiyidong(t); i=0; getchar(); goto L1; break; case 7: system(cls); shanchu(t,a3,p); i=0; getchar(); goto L1; break; case 8: system(cls); printf(nnnnnnnnntttThanks to use our program!nnnnnn

17、nn); break; if (n!=0&n!=1&n!=2&n!=3&n!=4&n!=5&n!=6&n!=7&n!=8) i=1; goto L1; 4調(diào)試分析 5用戶手冊 清空以前的文本信息:將用數(shù)組存的數(shù)據(jù)內(nèi)容全部置為0; 顯示當(dāng)前文本信息:遍歷用數(shù)組存入的信息,并輸入到外部顯示器上; 編輯信息:定義一個結(jié)構(gòu)體,并在結(jié)構(gòu)體中定義一個字符型的一維數(shù)組和一個整型變量,這個整型變量用于記錄一維數(shù)組中存入數(shù)據(jù)的個數(shù); 替換文本信息:首先在數(shù)組中查找要被替換的信息,如果找到該信息,提示輸入要替換的信息內(nèi)容,否則提示未找到要被替換的信息; 插入文本信息:首先在數(shù)組中查找要插入點(diǎn),如果找到該插入點(diǎn),提

18、示輸入插入信息,確認(rèn)插入信息后,提示選擇向前插入信息還是向后插入信息,如果未找到插入點(diǎn),顯示未找到要插入的位置; 移動文本信息:首先在數(shù)組中查找要移動的信息,如果找到該信息,提示是進(jìn)行列移動還是進(jìn)行行移動,否則提示未找到要移動的信息; 刪除文本信息:首先在數(shù)組中查找要刪除的信息,如果找到該信息,提示是否確認(rèn)刪除該信息,通過確認(rèn)來刪除信息,如果未找到要刪除的信息,提示未找到該信息; 退出編輯器:顯示感謝使用該軟件并退出。6測試結(jié)果文本編輯器主界面主界面功能,如圖22所示。圖22 文本編輯器主界面系統(tǒng)功能 輸入文本信息功能,如圖23所示。圖23 輸入界面 查找文本信息,如圖24所示。圖24查到功能

19、界面 移動文本信息(列移動),如圖25,圖26所示。圖25 列移動功能圖26 列移動功能 移動文本信息(行移動),如圖27所示。圖27 行移動界面 顯示文本內(nèi)容,如圖28所示。圖28 進(jìn)行行移動后顯示的內(nèi)容7附錄1文件base含有自定義的MyArc類,Graph類,MyQueues類。2文件SmallestTree.cpp為本設(shè)計(jì)項(xiàng)目的主測試文件,含有main,kruskal算法函數(shù)和其他相關(guān)函數(shù).8心得體會程序的運(yùn)行結(jié)果與理論推導(dǎo)結(jié)果完全吻合,即該算法與程序設(shè)計(jì)滿足課程設(shè)計(jì)要求。該程序的主要優(yōu)點(diǎn)是簡單易懂,不存在理解上的障礙,也很自然地能想到這種解法。通過數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計(jì)使我們對所學(xué)知識有了更好的理解,也增強(qiáng)了大家的動手能力。同時(shí)也發(fā)現(xiàn)了自己的很多不足之處,對知識的應(yīng)用能力很是欠缺,應(yīng)用軟件的能力及編程水平與課程要求更是存在很大的差距。9參考文獻(xiàn)1 嚴(yán)蔚敏,吳偉民數(shù)據(jù)結(jié)構(gòu)(C語言版)M 北京:清華大學(xué)出版社,20092 錢能C+程序設(shè)計(jì)教程(第二版)M 北京:清華大學(xué)出版社,20053譚浩強(qiáng)C程序設(shè)計(jì)(第二版)M 北京:清華大學(xué)出版社,200520

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

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!