精品简易文本编辑器设计Word格式文档下载.docx

上传人:b****2 文档编号:14848667 上传时间:2022-10-25 格式:DOCX 页数:18 大小:84.75KB
下载 相关 举报
精品简易文本编辑器设计Word格式文档下载.docx_第1页
第1页 / 共18页
精品简易文本编辑器设计Word格式文档下载.docx_第2页
第2页 / 共18页
精品简易文本编辑器设计Word格式文档下载.docx_第3页
第3页 / 共18页
精品简易文本编辑器设计Word格式文档下载.docx_第4页
第4页 / 共18页
精品简易文本编辑器设计Word格式文档下载.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

精品简易文本编辑器设计Word格式文档下载.docx

《精品简易文本编辑器设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《精品简易文本编辑器设计Word格式文档下载.docx(18页珍藏版)》请在冰豆网上搜索。

精品简易文本编辑器设计Word格式文档下载.docx

2.1结构与算法分析

为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。

顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。

其特点为:

在顺序表上逻辑关系相邻的俩个元素在物理位置上也相邻;

在顺序表上可以随即存取表中的元素。

在编辑器的主界面中应有如下提示信息:

2.11清空以前的文本信将用数组存的数据内容全部置为0,显示当前文本信息:

遍历顺序表中存入的信息,并输出到显示器上。

2.12编辑信息:

定义一个结构体,并在结构体中定义一个字符型的一维数组和两个整型变量,整型变量用于记录一维数组中存入数据的的行数与列数。

typedefstruct

{

charsr[MAXSIZE];

inthang;

intlie;

}shuru;

2.13替换文本信息:

首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息。

2.14插入文本信息:

首先在数组中查找要插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置。

2.15移动文本信息:

首先在数组中查找要移动的信息,如果找到该信息,提示是进行列移动还是进行行移动,否则提示未找到要移动的信息。

2.16删除文本信息:

首先在数组中查找要删除的信息,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息。

2.2流程图

图2—1文本编辑器流程

第三章.详细设计

#include"

stdafx.h"

#include"

stdio.h"

malloc.h"

string.h"

iostream.h"

stdlib.h"

conio.h"

#include<

fstream.h>

#defineLink_Size100

intNUM,C,N;

typedefstructlist

{//1、定义链表结点

chardata[50];

//记录一行字符

intlength;

//记录一行字符长度

structlist*next;

structlist*prior;

introw;

}LinkList;

LinkList*head;

///////////////////////////////////////////////////////////////////////////////

LinkList*CreatWord()

{//编辑文本内容

LinkList*temp;

charch;

inti,j;

head->

next=(LinkList*)malloc(sizeof(LinkList));

prior=NULL;

temp=head->

next;

temp->

length=0;

for(i=0;

i<

50;

i++)

data[i]='

\0'

;

printf("

开始创建文本,请输入文章(输入#号结束):

\n"

);

for(j=0;

j<

Link_Size;

j++)//控制一页

{

i++)//控制一行

ch=getchar();

//接收输入字符

data[i]=ch;

length++;

if(ch=='

#'

{

NUM=j;

break;

//文章结束时,Num来记录整个文章的行数

}

}

length=i;

next=NULL;

next=(LinkList*)malloc(sizeof(LinkList));

next->

prior=temp;

temp=temp->

row=NUM+1;

system("

cls"

returntemp;

}

voidPrintWord()

{//显示当前文章内容

//定义文本行数变量j,每行字符数i

LinkList*p;

p=head->

\n当前文章的内容是:

"

=NUM&

&

p!

=NULL;

j++)

for(i=0;

(i<

50)&

(p->

data[i])!

='

printf("

%c"

p->

data[i]);

}

p=p->

///////////////////////////////////////////////////////////////////////////////////

voidSearchWord(char*str1,LinkList*temp)

{//查找文章中的字符或者字符串

charData[20];

//记录需要查找的字符内容

inti,j,k=0,sum=0;

intl=1;

strcpy(Data,str1);

=NUM;

i++)

{

j++)

{

if((temp->

data[j])==Data[k])k++;

//将输入的查找字符与链表中信息比较,找到第一个相同的字符

elseif(Data[k]!

{

j=j-k;

k=0;

}

if(Data[k]=='

sum++;

j=j-k+1;

//从主串第j-k个位置重新查找

\t\t第%d次出现在第%d行第%d列\n"

l,i+1,j+1);

l++;

k=0;

continue;

}

\t\t\t字符串总共出现次数为:

%d\n\n"

sum);

C=sum;

N=i*50+j;

}

//////////////////////////////////////////////////////////////////////////////

voidDeleteWord(char*str2)

{//从主串第j-k个位置重新查找

charData[20];

//存储需要删除的字符或者字符串

LinkList*temp,*term;

inti,j,k,m,y,num;

strcpy(Data,str2);

for(y=0;

y<

C;

y++)

num=50;

k=0,m=0;

temp=head;

term=temp;

temp=temp->

for(j=0;

{

if((temp->

elseif(Data[k]!

){j=j-k;

k=0;

if(Data[k]=='

{

num=j;

break;

}

if(num<

50)break;

for(;

for(;

if(j+1<

k)

{

term->

data[50-k+num]=temp->

data[j+1];

//删除的字符串不在最后一行,将下一行的字符(由temp指向)前移到前行

else

temp->

data[j-k+1]=temp->

j=0;

/////////////////////////////////////////////////////////////////////////////////////////////

LinkList*InsertWord(LinkList*temp)

{//向文章中插入字符或者字符串

inth,l;

\n\t\t请输入要插入的字符或字符串:

getchar();

gets(Data);

\n\t\t当前文章内容为:

PrintWord();

\n\t\t请输入要插入的行:

scanf("

%d"

&

h);

\n\t\t请输入要插入的列:

l);

inti=(h-1)*50+l;

LinkList*a;

intn=strlen(Data);

intm;

intinsertRow=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1