![簡易文本編輯器(共8頁)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b1.gif)
![簡易文本編輯器(共8頁)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b2.gif)
![簡易文本編輯器(共8頁)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b3.gif)
![簡易文本編輯器(共8頁)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b4.gif)
![簡易文本編輯器(共8頁)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/4/fdb1977e-33bf-440f-aa82-239876dcbe7b/fdb1977e-33bf-440f-aa82-239876dcbe7b5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上數(shù)據(jù)結(jié)構(gòu) 課 程 設 計題 目 簡易文本編輯的探究 系 (部) 電子與信息工程系 班 級 姓 名 學 號 指導教師 王 靜 2011年01月03日專心-專注-專業(yè)電子與信息工程系數(shù)據(jù)結(jié)構(gòu)課程設計任務書設計題目簡易文本編輯器已知技術參數(shù)和設計要求要求:1、具有圖形菜單界面;2、查找,替換(等長,不等長),插入(插串,文本塊的插入)、塊移動(行塊),刪除3、可正確存盤、取盤;正確顯示總行數(shù)。設計內(nèi)容與步驟1、結(jié)點結(jié)構(gòu)的設計2、算法設計與分析3、程序設計、實現(xiàn)、調(diào)試4、課程設計說明書設計工作計劃與進度安排1、設計工作 4 學時2、實現(xiàn)與調(diào)試 16 學時3、課程設計說明書 8
2、 學時設計考核要求1、考勤 30%2、課程設計說明書 70%計算機教研室制簡易文本編輯的探究張 權(quán)安康學院 計算機科學與技術09級 陜西省 安康市 摘要:簡易文本編輯是最常用的文檔提取和編輯工具。通過對簡易文本的研究,利用C語言實現(xiàn)了從文件中讀取數(shù)據(jù),并進行的提取和簡易編輯的功能。沒有脫離C語言下數(shù)組長度的有限性。關鍵字:文件提取、存儲;字符串替換、查找;插入;刪除;行移動;1 引言在操作系統(tǒng)中,外存中的數(shù)據(jù)、文檔或程序,都是以文件的形式保存,甚至對目錄和各種設備的操作也都等同于文件的操作。因此對文件的操作就要求首先從文件中讀取數(shù)據(jù),然后對讀取的數(shù)據(jù)進行操作,最后,當操作完成后再將數(shù)據(jù)重新寫入
3、文件中。在此過程中必須熟練掌握文件的基本操作。首先要調(diào)用一個文件,需要有以下的信息:1、文件當前的讀寫位置,文件存放在哪個磁介質(zhì)中,含盤符及路徑。2、與該文件對應的內(nèi)存緩沖區(qū)的地址。3、緩沖區(qū)中未被處理的字符串。4、文件操作方式,是讀數(shù)據(jù)還是寫數(shù)據(jù)。從文件中讀取數(shù)據(jù),然后以鏈表的形式放入內(nèi)存中,對文件數(shù)據(jù)進行查找替換刪除操作。找到要進行操作的字符串的位置,然后再進行一系列的操作。最后,完成對文件數(shù)據(jù)的操作,重新調(diào)用文件指針將數(shù)據(jù)寫入文件操作,完成實驗。將數(shù)據(jù)從文件中讀取出來以后,在進行操作。2 問題分析一個簡易文本編輯器應該具有圖形菜單界面,包括查找,替換(等長,不等長),插入(插串,文本塊的
4、插入)、塊移動(行塊),刪除文本信息等功能并可正確存盤、取盤,正確顯示總行數(shù)。3 數(shù)據(jù)結(jié)構(gòu)與算法分析3.1 結(jié)構(gòu)與算法分析為實現(xiàn)數(shù)據(jù)結(jié)構(gòu)的有序存儲,該編輯器應該用順序表來存儲輸入的信息。順序表是數(shù)據(jù)結(jié)構(gòu)中線性表的一種,它是用一塊地址連續(xù)的存儲空間依次存儲線性表的元素。其特點為:在順序表上邏輯關系相鄰的倆個元素在物理位置上也相鄰;在順序表上可以隨即存儲表中的元素。在編輯器的主界面中如下提示信息: 3.11 清空以前的文本信息:將用數(shù)據(jù)內(nèi)容全部置為0;顯示當前文本信息:遍歷用數(shù)組存入的信息,并輸出到顯示器上: 3.12 編輯信息:定義一個結(jié)構(gòu)體,并在結(jié)構(gòu)體中定義一個字符型的一維數(shù)組和一個整型變量,
5、這個整型變量用于記錄一維數(shù)組中存入數(shù)據(jù)的個數(shù); 3.13 替換文本信息:首先在數(shù)組中查找要被替換的信息,如果找到該信息,提示輸入要替換的信息內(nèi)容,否則提示未找到要被替換的信息: 3.14 插入文本信息:首先在數(shù)組中查找要插入的點,如果找到該插入點,提示輸入插入信息,確認插入信息后,提示選擇向前插入信息還是向后插入信息,如果未找到插入點,顯示未找到要插入的位置; 3.15 移動文本信息:首先在數(shù)組中查找要移動的信息,如果找到該信息,提示是進行列移動還是行移動,否則提示未找到要移動的信息; 3.16 刪除文本信息:首先在數(shù)組中查找要刪除的信息,如果找到該信息,提示是否確認刪除該信息,通過確認來刪除
6、信息,如果未找到要刪除的信息,提示未找到該信息;4 結(jié)語本實驗通過對文件數(shù)據(jù)的操作,主要考查了一下幾個方面的知識:1、對文件的基本操作,包括數(shù)據(jù)的讀取和重新寫入;2、要求掌握對數(shù)組的熟練運用,包括數(shù)組的,查找,替換,刪除,插入等;3、重點要求掌握在函數(shù)調(diào)用。通過對本實驗的學習,熟練掌握了以上的知識,我們才能繼續(xù)進行以后的程序?qū)W習。附件:#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("運行后數(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("運行后數(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("運行后數(shù)據(jù)為:n");puts(s1);void yidong(char s,char t,int i) /移動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); /讀盤while(y='y'|y='Y')printf("*n");printf("1、查找與替換n");printf("2、插入n");printf("3、塊移動n");printf("4、刪除n");printf("*n");printf("請選擇(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("輸入要移動的數(shù)據(jù):n");gets(t);if(index(s,t)=-1)break;printf("輸入要移動的位置:n");scanf("%d",&q);yidong(s,t,q);getchar();break;case 4:printf("輸入要刪除的數(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國自動遙控車庫門數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年開式螺旋扣項目投資價值分析報告
- 2025至2030年中國硅碳棒碳化硅電熱元件數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國瘦身儀數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國星式膠砂攪拌機數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國建筑碎石數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國回轉(zhuǎn)式揉捏機數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國180度卡式彎頭數(shù)據(jù)監(jiān)測研究報告
- 2025-2030年插頭保護套行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025年度電子商務平臺運營優(yōu)化咨詢合同
- 2025年1月浙江省高考政治試卷(含答案)
- 教體局校車安全管理培訓
- 湖北省十堰市城區(qū)2024-2025學年九年級上學期期末質(zhì)量檢測綜合物理試題(含答案)
- 導播理論知識培訓班課件
- 空氣能安裝合同
- 電廠檢修安全培訓課件
- 初二上冊的數(shù)學試卷
- 2025年上半年重慶三峽融資擔保集團股份限公司招聘6人高頻重點提升(共500題)附帶答案詳解
- 四大名繡課件-高一上學期中華傳統(tǒng)文化主題班會
- 起重機械生產(chǎn)單位題庫質(zhì)量安全員
- 高中生物選擇性必修1試題
評論
0/150
提交評論