![簡(jiǎn)易文本編輯器(共8頁(yè))_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b1.gif)
![簡(jiǎn)易文本編輯器(共8頁(yè))_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b2.gif)
![簡(jiǎn)易文本編輯器(共8頁(yè))_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b3.gif)
![簡(jiǎn)易文本編輯器(共8頁(yè))_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b4.gif)
![簡(jiǎn)易文本編輯器(共8頁(yè))_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)結(jié)構(gòu) 課 程 設(shè) 計(jì)題 目 簡(jiǎn)易文本編輯的探究 系 (部) 電子與信息工程系 班 級(jí) 姓 名 學(xué) 號(hào) 指導(dǎo)教師 王 靜 2011年01月03日專心-專注-專業(yè)電子與信息工程系數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)任務(wù)書(shū)設(shè)計(jì)題目簡(jiǎn)易文本編輯器已知技術(shù)參數(shù)和設(shè)計(jì)要求要求:1、具有圖形菜單界面;2、查找,替換(等長(zhǎng),不等長(zhǎng)),插入(插串,文本塊的插入)、塊移動(dòng)(行塊),刪除3、可正確存盤(pán)、取盤(pán);正確顯示總行數(shù)。設(shè)計(jì)內(nèi)容與步驟1、結(jié)點(diǎn)結(jié)構(gòu)的設(shè)計(jì)2、算法設(shè)計(jì)與分析3、程序設(shè)計(jì)、實(shí)現(xiàn)、調(diào)試4、課程設(shè)計(jì)說(shuō)明書(shū)設(shè)計(jì)工作計(jì)劃與進(jìn)度安排1、設(shè)計(jì)工作 4 學(xué)時(shí)2、實(shí)現(xiàn)與調(diào)試 16 學(xué)時(shí)3、課程設(shè)計(jì)說(shuō)明書(shū) 8
2、 學(xué)時(shí)設(shè)計(jì)考核要求1、考勤 30%2、課程設(shè)計(jì)說(shuō)明書(shū) 70%計(jì)算機(jī)教研室制簡(jiǎn)易文本編輯的探究張 權(quán)安康學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)09級(jí) 陜西省 安康市 摘要:簡(jiǎn)易文本編輯是最常用的文檔提取和編輯工具。通過(guò)對(duì)簡(jiǎn)易文本的研究,利用C語(yǔ)言實(shí)現(xiàn)了從文件中讀取數(shù)據(jù),并進(jìn)行的提取和簡(jiǎn)易編輯的功能。沒(méi)有脫離C語(yǔ)言下數(shù)組長(zhǎng)度的有限性。關(guān)鍵字:文件提取、存儲(chǔ);字符串替換、查找;插入;刪除;行移動(dòng);1 引言在操作系統(tǒng)中,外存中的數(shù)據(jù)、文檔或程序,都是以文件的形式保存,甚至對(duì)目錄和各種設(shè)備的操作也都等同于文件的操作。因此對(duì)文件的操作就要求首先從文件中讀取數(shù)據(jù),然后對(duì)讀取的數(shù)據(jù)進(jìn)行操作,最后,當(dāng)操作完成后再將數(shù)據(jù)重新寫(xiě)入
3、文件中。在此過(guò)程中必須熟練掌握文件的基本操作。首先要調(diào)用一個(gè)文件,需要有以下的信息:1、文件當(dāng)前的讀寫(xiě)位置,文件存放在哪個(gè)磁介質(zhì)中,含盤(pán)符及路徑。2、與該文件對(duì)應(yīng)的內(nèi)存緩沖區(qū)的地址。3、緩沖區(qū)中未被處理的字符串。4、文件操作方式,是讀數(shù)據(jù)還是寫(xiě)數(shù)據(jù)。從文件中讀取數(shù)據(jù),然后以鏈表的形式放入內(nèi)存中,對(duì)文件數(shù)據(jù)進(jìn)行查找替換刪除操作。找到要進(jìn)行操作的字符串的位置,然后再進(jìn)行一系列的操作。最后,完成對(duì)文件數(shù)據(jù)的操作,重新調(diào)用文件指針將數(shù)據(jù)寫(xiě)入文件操作,完成實(shí)驗(yàn)。將數(shù)據(jù)從文件中讀取出來(lái)以后,在進(jìn)行操作。2 問(wèn)題分析一個(gè)簡(jiǎn)易文本編輯器應(yīng)該具有圖形菜單界面,包括查找,替換(等長(zhǎng),不等長(zhǎng)),插入(插串,文本塊的
4、插入)、塊移動(dòng)(行塊),刪除文本信息等功能并可正確存盤(pán)、取盤(pán),正確顯示總行數(shù)。3 數(shù)據(jù)結(jié)構(gòu)與算法分析3.1 結(jié)構(gòu)與算法分析為實(shí)現(xiàn)數(shù)據(jù)結(jié)構(gòu)的有序存儲(chǔ),該編輯器應(yīng)該用順序表來(lái)存儲(chǔ)輸入的信息。順序表是數(shù)據(jù)結(jié)構(gòu)中線性表的一種,它是用一塊地址連續(xù)的存儲(chǔ)空間依次存儲(chǔ)線性表的元素。其特點(diǎn)為:在順序表上邏輯關(guān)系相鄰的倆個(gè)元素在物理位置上也相鄰;在順序表上可以隨即存儲(chǔ)表中的元素。在編輯器的主界面中如下提示信息: 3.11 清空以前的文本信息:將用數(shù)據(jù)內(nèi)容全部置為0;顯示當(dāng)前文本信息:遍歷用數(shù)組存入的信息,并輸出到顯示器上: 3.12 編輯信息:定義一個(gè)結(jié)構(gòu)體,并在結(jié)構(gòu)體中定義一個(gè)字符型的一維數(shù)組和一個(gè)整型變量,
5、這個(gè)整型變量用于記錄一維數(shù)組中存入數(shù)據(jù)的個(gè)數(shù); 3.13 替換文本信息:首先在數(shù)組中查找要被替換的信息,如果找到該信息,提示輸入要替換的信息內(nèi)容,否則提示未找到要被替換的信息: 3.14 插入文本信息:首先在數(shù)組中查找要插入的點(diǎn),如果找到該插入點(diǎn),提示輸入插入信息,確認(rèn)插入信息后,提示選擇向前插入信息還是向后插入信息,如果未找到插入點(diǎn),顯示未找到要插入的位置; 3.15 移動(dòng)文本信息:首先在數(shù)組中查找要移動(dòng)的信息,如果找到該信息,提示是進(jìn)行列移動(dòng)還是行移動(dòng),否則提示未找到要移動(dòng)的信息; 3.16 刪除文本信息:首先在數(shù)組中查找要?jiǎng)h除的信息,如果找到該信息,提示是否確認(rèn)刪除該信息,通過(guò)確認(rèn)來(lái)刪除
6、信息,如果未找到要?jiǎng)h除的信息,提示未找到該信息;4 結(jié)語(yǔ)本實(shí)驗(yàn)通過(guò)對(duì)文件數(shù)據(jù)的操作,主要考查了一下幾個(gè)方面的知識(shí):1、對(duì)文件的基本操作,包括數(shù)據(jù)的讀取和重新寫(xiě)入;2、要求掌握對(duì)數(shù)組的熟練運(yùn)用,包括數(shù)組的,查找,替換,刪除,插入等;3、重點(diǎn)要求掌握在函數(shù)調(diào)用。通過(guò)對(duì)本實(shí)驗(yàn)的學(xué)習(xí),熟練掌握了以上的知識(shí),我們才能繼續(xù)進(jìn)行以后的程序?qū)W習(xí)。附件:#include "stdio.h"#include "stdlib.h"#include "string.h"int index(char s1,char s2) /查找 int i=0,j,m,f=
7、0;while(s1i!='0')m=i;j=0;while(s2j!='0') if(s1m!=s2j) break; else m+; j+; if(s2j='0') return(i); else i+;return(-1);void th(char s,char t,char r) /替換 int j,p,m,n,i=1,a=1;while(index(s,t)!=-1) i=index(s,t);p=strlen(s); m=strlen(t); n=strlen(r); if(i<0) break; else if(m>n
8、) for(j=i+m;j<=p;j+) sj-m+n=sj; else if(m<n) for(j=p;j>=i+m;j-) sj-m+n=sj; for(j=0;j<n;j+) si+j=rj; sp-(m-n)='0' printf("運(yùn)行后數(shù)據(jù)為:n"); puts(s);void cr(char s1, char s2,int i) /插入 int k,l1,l2; l1=strlen(s1); l2=strlen(s2); for(k=l1-1;k>=i-1;k-) s1l2+k=s1k; for(k=0;k<
9、l2;k+) s1i-1+k=s2k; s1l1+l2-1='0' printf("運(yùn)行后數(shù)據(jù)為:n"); puts(s1);void shanchu(char s1,char s2) /刪除int n=1,s,m,i;while(index(s1,s2)!=-1)n=index(s1,s2);s=strlen(s1);m=strlen(s2);for(i=n;i<=s;i+)s1i=s1i+m; printf("運(yùn)行后數(shù)據(jù)為:n");puts(s1);void yidong(char s,char t,int i) /移動(dòng)int
10、n,a,m,f;n=index(s,t);a=strlen(s);m=strlen(t);for(f=n;f<=a;f+)sf=sf+m;cr(s,t,i); void main()char s100; int i=0,n=0,q,c,f=0;char ch,a100,r100,m100,t100,y='y'FILE *fp; fp=fopen("d:k4.txt","r+"); while(!feof(fp) /讀取數(shù)據(jù)ch=fgetc(fp);si+=ch;si='0'printf("原文本內(nèi)容為:n&
11、quot;);puts(s); /讀盤(pán)while(y='y'|y='Y')printf("*n");printf("1、查找與替換n");printf("2、插入n");printf("3、塊移動(dòng)n");printf("4、刪除n");printf("*n");printf("請(qǐng)選擇(14):");scanf("%d",&c);getchar();switch(c)case 1:printf(&q
12、uot;輸入查找的數(shù)據(jù):n");gets(a);if(index(s,a)!=-1) printf("找到n");elseprintf("找不到!n");break; printf("輸入要替換的數(shù)據(jù):n");gets(r);th(s,a,r);break; /替換case 2:printf("輸入要插入的數(shù)據(jù):n");gets(m);printf("輸入要插入的位置:n");scanf("%d",&q);cr(s,m,q);getchar();break;
13、 /插入case 3:printf("輸入要移動(dòng)的數(shù)據(jù):n");gets(t);if(index(s,t)=-1)break;printf("輸入要移動(dòng)的位置:n");scanf("%d",&q);yidong(s,t,q);getchar();break;case 4:printf("輸入要?jiǎng)h除的數(shù)據(jù):n");gets(t);if(index(s,t)!=-1) printf("找到n");elseprintf("找不到!n"); shanchu(s,t);break;printf("*n");printf("是否繼續(xù):Y/Nn");scanf("%c",&y); rewind(fp); /指針
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新《體育法》知識(shí)考試題庫(kù)200題(含答案)
- 2025年云南省職教高考《職測(cè)》必刷考試練習(xí)題庫(kù)(含答案)
- 《密碼法》知識(shí)競(jìng)賽考試題庫(kù)150題(含答案)
- 《保教知識(shí)與能力》(幼兒園)歷年教師資格考試真題題庫(kù)(含答案解析)
- 2025年江西洪州職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試近5年??及鎱⒖碱}庫(kù)含答案解析
- 高清視頻會(huì)議系統(tǒng)集成合同
- 仔豬購(gòu)銷(xiāo)合同協(xié)議書(shū)范本年
- 混凝土購(gòu)銷(xiāo)合同協(xié)議書(shū)
- 承包經(jīng)營(yíng)合同合同
- 承租人租房簡(jiǎn)單合同范本
- 大動(dòng)脈炎患者的血清代謝組學(xué)及口腔微生物群特征的初步研究
- 小學(xué)科學(xué)項(xiàng)目化學(xué)習(xí)活動(dòng)作業(yè)方案案例設(shè)計(jì)《設(shè)計(jì)制作動(dòng)力小車(chē)項(xiàng)目化學(xué)習(xí)》
- 茶與健康 第二講 茶成分課件
- 復(fù)工條件驗(yàn)收?qǐng)?bào)告
- 小學(xué)生作文稿紙A4打印稿
- 2023理論學(xué)習(xí)、理論武裝方面存在問(wèn)題及原因剖析18條
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第三章運(yùn)動(dòng)能力與個(gè)體差異
- (部編)五年級(jí)語(yǔ)文下冊(cè)小練筆(21篇)
- 《企業(yè)人力資源管理師考試用書(shū)考試通過(guò)必備一級(jí)》
- 2023年高考英語(yǔ)考前必練-非謂語(yǔ)動(dòng)詞(含近三年真題及解析)
- 高??萍汲晒D(zhuǎn)化政策與案例分享
評(píng)論
0/150
提交評(píng)論