数据结构简易文本编辑器.doc
文本预览下载声明
题目:
【2】.简易文本编辑器
要求:
1) 具有图形菜单界面;
2) 查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除
3) 可正确存盘、取盘;
4) 正确显示总行数。⑴ 清空以前的文本信息:将用数组存的数据内容全部置为0;
⑵ 显示当前文本信息:遍历用数组存入的信息,并输入到外部显示器上;
⑶ 编辑信息:定义一个结构体,并在结构体中定义一个字符型的一维数组和一个整型变量,这个整型变量用于记录一维数组中存入数据的个数;
⑷ 替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息;
⑸ 插入文本信息:首先在数组中查找要插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置;
⑹ 移动文本信息:首先在数组中查找要移动的信息,如果找到该信息,提示是进行列移动还是进行行移动,否则提示未找到要移动的信息;
⑺ 删除文本信息:首先在数组中查找要删除的信息,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息;
⑻ 退出编辑器:显示感谢使用该软件并退出。
3 详细设计
void menu();
void shuru(char text[]);
void bc(char text[]);
void dakai(char text[]);
void dayin(char text[]);
void chazhao(char text[],int l);
void tihan(char text[],int l);
int strindex(char text[],char t[],int i2,int l);
void shanchu(char p[],int l);
void cs(char text[]);
void charu(char text[],int l);
void tuichu(int status);
char text[MAX]=; //文本编辑域
char name[20]=; //文件保存的位置
int status=0; //显示是否保存过的状态
int ntext; //文本编辑的位置
4用户使用说明
⑴ 清空以前的文本信息:将用数组存的数据内容全部置为0;
⑵ 显示当前文本信息:遍历用数组存入的信息,并输入到外部显示器上;
⑶ 编辑信息:定义一个结构体,并在结构体中定义一个字符型的一维数组和一个整型变量,这个整型变量用于记录一维数组中存入数据的个数;
⑷ 替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息;
⑸ 插入文本信息:首先在数组中查找要插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置;
⑹ 移动文本信息:首先在数组中查找要移动的信息,如果找到该信息,提示是进行列移动还是进行行移动,否则提示未找到要移动的信息;
⑺ 删除文本信息:首先在数组中查找要删除的信息,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息;
⑻ 退出编辑器:显示感谢使用该软件并退出。
5调试分析 /测试结果
文本编辑器主界面
主界面功能,如图2—2所示。
图2—2 文本编辑器主界面
系统功能
⑴ 输入文本信息功能,如图2—3所示。
图2—3 输入界面
⑵ 查找文本信息,如图2—4所示。
图2—4查到功能界面
⑶ 显示文本信息,如图2—5。
图2—5
{4}删除操作,如图2--6
图2—6 (删除123)功能
{5}插入操作 如图2—7所示。
图2—7 (在789前插入123)界面
{6}替换文本内容,如图2—8所示。
图2—8 (替换456为abc)的内容
6心得体会
程序的运行结果与理论推导结果完全吻合,即该算法与程序设计满足课程设计要求。该程序的主要优点是简单易懂,不存在理解上的障碍,也很自然地能想到这种解法。#include stdio.h
#include stdlib.h
#include time.h
#include string.h
#define MAX 10000
#define _CRT_SECURE_NO_DEPRECATE //在vs中取消warning的警告
void menu();
void shuru(char te
显示全部