文档详情

数据结构简易文本编辑器.doc

发布:2017-06-10约1.15万字共24页下载文档
文本预览下载声明
题目: 【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
显示全部
相似文档