简易文本编辑器文档格式.docx
- 文档编号:14543573
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:20
- 大小:299.12KB
简易文本编辑器文档格式.docx
《简易文本编辑器文档格式.docx》由会员分享,可在线阅读,更多相关《简易文本编辑器文档格式.docx(20页珍藏版)》请在冰豆网上搜索。
清空以前的文本信息:
将用数组存的数据内容全部置为0;
显示当前文本信息:
遍历用数组存入的信息,并输入到外部显示器上;
编辑信息:
定义一个结构体,并在结构体中定义一个字符型的一维数组和一个整型变量,这个整型变量用于记录一维数组中存入数据的个数;
替换文本信息:
首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息;
插入文本信息:
首先在数组中查找要插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置;
移动文本信息:
首先在数组中查找要移动的信息,如果找到该信息,提示是进行列移动还是进行行移动,否则提示未找到要移动的信息;
删除文本信息:
首先在数组中查找要删除的信息,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息;
退出编辑器:
显示感谢使用该软件并退出。
文本编辑器的运行流程图,如图2—1所示。
图2—1文本编辑器流程图
3详细设计
#include<
stdio.h>
stdlib.h>
string.h>
malloc.h>
time.h>
#defineMAXSIZE100
intntext;
//全局变量
intb=0;
typedefstruct
{
charsr[MAXSIZE];
inthang;
intlie;
}shuru;
intstrindex(shurum,chart[],inti2,intl)//查找要操作的数据的位置(模式匹配)
inti4=l,j=0;
while(i4<
ntext&
&
j<
i2)
{
if(m.sr[i4]==t[j])//继续匹配下一个字符
j++;
i4++;
//主串和子串依次匹配下一个字符
}
else//主串、子串指针回溯重新开始下一次匹配
i4=i4-j+1;
//主串从下一个位置开始匹配
j=0;
//子串从头开始匹配
if(j>
=i2)
return(i4-i2);
}//返回匹配的第一个字符的下标
else
return(-1);
//模式匹配不成功
}
voidcharu(shuru&
k,intl)//向文本中插入内容
system("
cls"
);
inti,t=0,t2=0,a=-1;
charcr[20],pd,x[500],c,d;
inti2;
printf("
\n当前文本信息为:
\n"
for(i2=0;
i2<
=ntext-1;
i2++)
%c"
k.sr[i2]);
\n输入您要在哪个内容前插入,以@结束:
"
fflush(stdin);
while((c=getchar())!
='
@'
)//用一个数组接收要插入在哪个内容之前
if(c=='
)
break;
cr[t]=c;
t++;
continue;
a=strindex(k,cr,t,l);
//查找并返回要插入的位置点
if(a!
=-1)
l=a+t;
inths=1,ls=0;
for(b=0;
b<
a;
b++)
ls++;
if(k.sr[b]=='
\n'
hs++;
ls=0;
if(a==-1)
\n查找到结尾没有找到插入点\nR:
重新查找点\n双击回车键返回菜单:
l=0;
d=getchar();
\n您要插入的位置是第%d行,第%d列之前\nA:
不是此位置向后继续找插入点\nB:
在此位置插入\nR:
重新查找点\n双击回车键:
返回菜单重新插入\n请选择:
hs,ls+1);
pd=getchar();
if(pd=='
a'
||pd=='
A'
charu(k,l);
elseif(pd=='
b'
B'
\n\n输入您要插入的内容:
x[t2]=c;
t2++;
for(i=ntext;
i>
=a;
i--)
k.sr[i+t2]=k.sr[i];
for(i=0;
i<
t2;
i++)
k.sr[i+a]=x[i];
ntext=ntext+t2;
插入成功\n"
getchar();
if(d=='
r'
||d=='
R'
FILE*fp;
intb11;
fprintf(fp,"
Thecontentsis\n"
for(b11=0;
b11<
b11++)
k.sr[b11]);
fclose(fp);
voidtihan(shuru&
r,intl)//内容替换
intt=0,t1=0,i,a;
charc,th[20],d,d1,bth[20];
r.sr[i2]);
\n输入要被替换的内容,以@结束:
)//t指替换前内容的长度
bth[t]=c;
a=strindex(r,bth,t,l);
//查找要被替换的内容的位置
if(r.sr[b]=='
\n查找到结尾没有找到要被替换的内容\n继续查找请按R,双击回车键退出\n"
//printf("
\n%d"
a);
i1);
ntext);
\n\n已经找到要查找的数据:
\n\t\t在第%d行,第%d列\nR:
继续向后查找相同内容\nA:
进一步进行替换操作\n请选择:
if(d!
d!
\n是否要替换该内容?
\nA:
替换给内容\n双击回车键:
返回主菜单\n请选择:
d1=getchar();
if(d1=='
||d1=='
\n输入要替换的内容,以@结束:
)//t1指替换后的内容长度
th[t1]=c;
t1++;
if(t==t1)//将要被替换的内容和替换后的内容进行长度比较
t1;
r.sr[i+a]=th[i];
if(t>
t1)
for(i=a+t1;
ntext;
r.sr[i]=r.sr[i+t-t1];
ntext=ntext+t1-t;
r.sr[i+t1-t]=r.sr[i];
替换成功"
tihan(r,l);
r.sr[b11]);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 文本 编辑器
![提示](https://static.bdocx.com/images/bang_tan.gif)