![簡易文本編輯器(共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)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上數據結構 課 程 設 計題 目 簡易文本編輯的探究 系 (部) 電子與信息工程系 班 級 姓 名 學 號 指導教師 王 靜 2011年01月03日專心-專注-專業(yè)電子與信息工程系數據結構課程設計任務書設計題目簡易文本編輯器已知技術參數和設計要求要求:1、具有圖形菜單界面;2、查找,替換(等長,不等長),插入(插串,文本塊的插入)、塊移動(行塊),刪除3、可正確存盤、取盤;正確顯示總行數。設計內容與步驟1、結點結構的設計2、算法設計與分析3、程序設計、實現、調試4、課程設計說明書設計工作計劃與進度安排1、設計工作 4 學時2、實現與調試 16 學時3、課程設計說明書 8
2、 學時設計考核要求1、考勤 30%2、課程設計說明書 70%計算機教研室制簡易文本編輯的探究張 權安康學院 計算機科學與技術09級 陜西省 安康市 摘要:簡易文本編輯是最常用的文檔提取和編輯工具。通過對簡易文本的研究,利用C語言實現了從文件中讀取數據,并進行的提取和簡易編輯的功能。沒有脫離C語言下數組長度的有限性。關鍵字:文件提取、存儲;字符串替換、查找;插入;刪除;行移動;1 引言在操作系統(tǒng)中,外存中的數據、文檔或程序,都是以文件的形式保存,甚至對目錄和各種設備的操作也都等同于文件的操作。因此對文件的操作就要求首先從文件中讀取數據,然后對讀取的數據進行操作,最后,當操作完成后再將數據重新寫入
3、文件中。在此過程中必須熟練掌握文件的基本操作。首先要調用一個文件,需要有以下的信息:1、文件當前的讀寫位置,文件存放在哪個磁介質中,含盤符及路徑。2、與該文件對應的內存緩沖區(qū)的地址。3、緩沖區(qū)中未被處理的字符串。4、文件操作方式,是讀數據還是寫數據。從文件中讀取數據,然后以鏈表的形式放入內存中,對文件數據進行查找替換刪除操作。找到要進行操作的字符串的位置,然后再進行一系列的操作。最后,完成對文件數據的操作,重新調用文件指針將數據寫入文件操作,完成實驗。將數據從文件中讀取出來以后,在進行操作。2 問題分析一個簡易文本編輯器應該具有圖形菜單界面,包括查找,替換(等長,不等長),插入(插串,文本塊的
4、插入)、塊移動(行塊),刪除文本信息等功能并可正確存盤、取盤,正確顯示總行數。3 數據結構與算法分析3.1 結構與算法分析為實現數據結構的有序存儲,該編輯器應該用順序表來存儲輸入的信息。順序表是數據結構中線性表的一種,它是用一塊地址連續(xù)的存儲空間依次存儲線性表的元素。其特點為:在順序表上邏輯關系相鄰的倆個元素在物理位置上也相鄰;在順序表上可以隨即存儲表中的元素。在編輯器的主界面中如下提示信息: 3.11 清空以前的文本信息:將用數據內容全部置為0;顯示當前文本信息:遍歷用數組存入的信息,并輸出到顯示器上: 3.12 編輯信息:定義一個結構體,并在結構體中定義一個字符型的一維數組和一個整型變量,
5、這個整型變量用于記錄一維數組中存入數據的個數; 3.13 替換文本信息:首先在數組中查找要被替換的信息,如果找到該信息,提示輸入要替換的信息內容,否則提示未找到要被替換的信息: 3.14 插入文本信息:首先在數組中查找要插入的點,如果找到該插入點,提示輸入插入信息,確認插入信息后,提示選擇向前插入信息還是向后插入信息,如果未找到插入點,顯示未找到要插入的位置; 3.15 移動文本信息:首先在數組中查找要移動的信息,如果找到該信息,提示是進行列移動還是行移動,否則提示未找到要移動的信息; 3.16 刪除文本信息:首先在數組中查找要刪除的信息,如果找到該信息,提示是否確認刪除該信息,通過確認來刪除
6、信息,如果未找到要刪除的信息,提示未找到該信息;4 結語本實驗通過對文件數據的操作,主要考查了一下幾個方面的知識:1、對文件的基本操作,包括數據的讀取和重新寫入;2、要求掌握對數組的熟練運用,包括數組的,查找,替換,刪除,插入等;3、重點要求掌握在函數調用。通過對本實驗的學習,熟練掌握了以上的知識,我們才能繼續(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("運行后數據為: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("運行后數據為: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("運行后數據為: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) /讀取數據ch=fgetc(fp);si+=ch;si='0'printf("原文本內容為: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;輸入查找的數據:n");gets(a);if(index(s,a)!=-1) printf("找到n");elseprintf("找不到!n");break; printf("輸入要替換的數據:n");gets(r);th(s,a,r);break; /替換case 2:printf("輸入要插入的數據:n");gets(m);printf("輸入要插入的位置:n");scanf("%d",&q);cr(s,m,q);getchar();break;
13、 /插入case 3:printf("輸入要移動的數據:n");gets(t);if(index(s,t)=-1)break;printf("輸入要移動的位置:n");scanf("%d",&q);yidong(s,t,q);getchar();break;case 4:printf("輸入要刪除的數據: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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度牛奶質量安全追溯體系建設合同4篇
- 2025年度農產品質量追溯體系建設合同3篇
- 2025版新能源項目民工權益保障合同4篇
- 港口小學2025版炊事員勞動合同續(xù)簽及更新協(xié)議3篇
- 2025年度農用車租賃與農業(yè)技術研發(fā)合作合同4篇
- 2025年度智能門窗安裝與售后服務合同4篇
- 2025年度擴大勞務合同范本:核能產業(yè)勞務輸出協(xié)議3篇
- 2025年度心理咨詢與治療個人勞務合同書2篇
- 南昌市二零二五年度租賃合同范本:公寓租賃規(guī)范版2篇
- 2025版企業(yè)年會場地租賃合同范本8篇
- 《企業(yè)人力資源管理師考試用書考試通過必備一級》
- 2023年高考英語考前必練-非謂語動詞(含近三年真題及解析)
- 風電工程需要編寫的專項施工方案及危大工程目錄
- 商業(yè)計劃書(BP)財務計劃風險控制資本退出與附錄的撰寫秘籍
- 全國職工拔河比賽執(zhí)行方案
- 冶金廠、軋鋼廠工藝流程圖
- 七年級下冊《Reading 1 A brave young man》優(yōu)質課教案牛津譯林版-七年級英語教案
- 中國人婚戀狀況調查報告公布
- 《木蘭詩》第1第2課時示范公開課教學PPT課件【統(tǒng)編人教版七年級語文下冊】
- GB/T 11144-2007潤滑液極壓性能測定法梯姆肯法
- 國家開發(fā)銀行
評論
0/150
提交評論