文档详情

简易文本编辑说明书.doc

发布:2018-10-11约1.28万字共30页下载文档
文本预览下载声明
PAGE 中 北 大 学 课程设计说明书 学 院、系: 专 业: 班 级: 学 生 姓 名: 学 号: 设 计 题 目: 简易文本编辑器 起 迄 日 期: 2016年12月16日~2016年12月29日 指 导 教 师: 日期: 2016年12月29日 1 设计目的 通过用户调查分析及实际需求,开发出一个文本编辑器,可以方便用户对文本进行编辑。系统需要实现如下基本功能: (1)具有图形菜单界面; (2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除; (3)可正确存盘、取盘; (4)正确显示总行数。 2 任务概述 要设计一简易的文本编辑器,要求有图形菜单界面,也就是菜单选择的界面,要实现的功能有对文本进行存盘,取盘,在某一个盘中新建一个TXT的文件,在里面输入内容,对这个文件进行取盘,显示出文本内容,并在显示的时候显示行数,具有对文本进行查找、替换、插入、移动、删除等功能。 为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的两个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息: = 1 \* GB2 ⑴显示当前文本信息:从文件中读出文本,在某一个盘中创建一个文本文件,所以要读出来,显示到显示器上,并统计出行数。 = 2 \* GB2 ⑵查找文本信息:因为在下面做插入,删除,移动之类的都需用到查找,在查找的时候,也要调用一个字符匹配模式的程序,来判断查找的内容是否符合所要查找的内容。 = 3 \* GB2 ⑶删除文本信息:首先在数组中查找要删除的信息,查找的时候调用匹配模式的子函数,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息; = 4 \* GB2 ⑷插入文本信息:首先调用字符匹配模式的子函数找到插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,选择是否在这个位置插入,如果是的话执行插入,不是的话再往下查找下一个插入点。 = 5 \* GB2 ⑸ 替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息; = 6 \* GB2 ⑹ 保存文本信息:在这里使用文件写入读出的功能,把你修改完的内容保存到你所建立的文本中。 = 7 \* GB2 ⑺ 显示文本内容:读出文件中的所有字符,显示到显示器上。 = 8 \* GB2 ⑻ 退出 3 模块划分 (1)系统主要包含主程序模块和其他操作模块。其调用关系如图(一)所示。 主函数 各操作模块 主函数 各操作模块 图(一) (2)文本编辑器的运行流程图如图(二)所示。 图(二) (3)系统子模块及其功能设计: 1.文件的打开:void open(char text[]); 2.文件的保存:void save(char text[]); 3.查找文本:void search(char text[],int l); 4.字符的匹配:int strindex(char text[],char t[],int i2,int l); 5.文本的输出:void output(char text[]); 6.删除文本:void Delete(char p[],int l); 7.插入文本:void insert(char text[],int l); 8.替换文本:void Replace(int status); 4 主要函数说明及其N-S图 (1)对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,在程序的执行中,先是进入的主函数,在主函数中调用了菜单函数,进行功能的选择,各个模块分为多个函数来实现。 在程序中,设置了几个全局变量,来记录文本的内容等信息: char text[MAX]=; //文本编辑域 char name[20]=; //文件保存的位置 int status=0; //显示是否保存过的状态 int ntext; //文本编辑的位置 (2)字符匹配 在这个程序中要特别注意的是字符的匹配,因为查找、插入、替换都需要用到这一步设计。在这里我设计了一个子模块来实现匹配: int strindex(char text[],char t[],i
显示全部
相似文档