欢迎来到天天文库
浏览记录
ID:35247284
大小:558.50 KB
页数:30页
时间:2019-03-22
《简易文本编辑器说明书》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、中北大学课程设计说明书学院、系:专业:班级:学生姓名:学号:设计题目:简易文本编辑器起迄日期:2016年12月16日~2016年12月29日指导教师:日期:2016年12月29日1设计目的通过用户调查分析及实际需求,开发出一个文本编辑器,可以方便用户对文本进行编辑。系统需要实现如下基本功能:(1)具有图形菜单界面;(2)查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除;(3)可正确存盘、取盘;(4)正确显示总行数。2任务概述要设计一简易的文本编辑器,要求有图形菜单界面,也就是菜单选择的界
2、面,要实现的功能有对文本进行存盘,取盘,在某一个盘中新建一个TXT的文件,在里面输入内容,对这个文件进行取盘,显示出文本内容,并在显示的时候显示行数,具有对文本进行查找、替换、插入、移动、删除等功能。为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的两个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息:⑴显示当前文本信息:从文件中读出文本,在某一个盘中创建一
3、个文本文件,所以要读出来,显示到显示器上,并统计出行数。⑵查找文本信息:因为在下面做插入,删除,移动之类的都需用到查找,在查找的时候,也要调用一个字符匹配模式的程序,来判断查找的内容是否符合所要查找的内容。⑶删除文本信息:首先在数组中查找要删除的信息,查找的时候调用匹配模式的子函数,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息;⑷插入文本信息:首先调用字符匹配模式的子函数找到插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,选择是否在这个位置插入,如果是的话执
4、行插入,不是的话再往下查找下一个插入点。⑸替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息;⑹保存文本信息:在这里使用文件写入读出的功能,把你修改完的内容保存到你所建立的文本中。⑺显示文本内容:读出文件中的所有字符,显示到显示器上。⑻退出3模块划分(1)系统主要包含主程序模块和其他操作模块。其调用关系如图(一)所示。主函数各操作模块图(一)(2)文本编辑器的运行流程图如图(二)所示。图(二)(3)系统子模块及其功能设计:1.文件的打开:voidopen(ch
5、artext[]);2.文件的保存:voidsave(chartext[]);3.查找文本:voidsearch(chartext[],intl);4.字符的匹配:intstrindex(chartext[],chart[],inti2,intl);5.文本的输出:voidoutput(chartext[]);6.删除文本:voidDelete(charp[],intl);7.插入文本:voidinsert(chartext[],intl);8.替换文本:voidReplace(intstatus);4主要函数说明及其N-S
6、图(1)对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,在程序的执行中,先是进入的主函数,在主函数中调用了菜单函数,进行功能的选择,各个模块分为多个函数来实现。在程序中,设置了几个全局变量,来记录文本的内容等信息:chartext[MAX]="";//文本编辑域charname[20]="";//文件保存的位置intstatus=0;//显示是否保存过的状态intntext;//文本编辑的位置(2)字符匹配在这个程序中要特别注意的是字符的匹配,因为查找、
7、插入、替换都需要用到这一步设计。在这里我设计了一个子模块来实现匹配:intstrindex(chartext[],chart[],inti2,intl)//查找要操作的数据的位置(模式匹配){inti1=l,j=0;while(i1=i2){retu
8、rn(i1-i2);}//返回匹配的第一个字符的下标elsereturn(-1);//模式匹配不成功}inti1=l,j=0;while(i1=i2)TFreturn(
此文档下载收益归作者所有