沈阳理工大学课程设计专用纸I摘要当下C++语言是一门重要的课程学习,学会运用并结合其他的知识一起解题是一件值得我们重视的,数据结构是一门结合C++知识的重要课程,因此我们要学会将平时课本的知识运用到我们现实生活当中,这样才能让我们所学的知识更加深刻。简易文本编辑器的问题就是一个例子,传统的纸质文档已经不能满足大家的需求,有容易丢失、查找不方便等缺点。计算机信息管理为人们的生活、工作提供了方便,提高了效率。“简易文本编辑器”就是为了帮助老师、同学或其他一些需要使用文本编辑的人员进行管理和分析的一种计算机应用程序。关键词:简易文本编辑器,数据结构,顺序表。沈阳理工大学课程设计专用纸II目录一、需求分析..............................................................................................................................11.1问题描述.........................................................................................................................11.2基本任务.........................................................................................................................1二、概要设计..............................................................................................................................12.1主界面设计.....................................................................................................................12.2数据结构设计................................................................................................................1三、详细设计..............................................................................................................................23.1清空内容模块................................................................................................................23.2打开文件模块................................................................................................................23.3输入模块.........................................................................................................................23.4插入模块.........................................................................................................................23.5删除模块.........................................................................................................................23.6替换模块.........................................................................................................................23.7显示模块.........................................................................................................................23.8保存模块.........................................................................................................................33.9系统层次图.....................................................................................................................3四、测试结果..............................................................................................................................34.1文本编辑器主界面.......................................................................................................34.2系统功能.........................................................................................................................4五、调试分析..............................................................................................................................7六、心得体会..............................................................................................................................8七、参考文献..............................................................................................................................9八、程序源代码........................................................................................................................10沈阳理工大学课程设计专用纸1一、需求分析1.1问题描述传统的纸质文档已经不能满足大家的需求,有容易丢失、查找不方便等缺点。计算机信息管理为人们的生活、工作提供了方便,提高了效率。“简易文本编辑器”就是为了帮助老师、同学或其他一些需要使用文本编辑的人员进行管理和分析的一种计算机应用程序。1.2基本任务通过用户调查分析及实际需求,系统需要实现如下基本任务:(1)输入数据信息建立文本;(2)打开文本读取已保存的信息;(3)插入新的信息到文本中;(4)删除不再需要的文本信息;(5)替换不需要的文本信息;(6)显示所有的文本信息;(7)保存所输入、插入、替换过的文本信息;(8)清空文本信息。二、概要设计2.1主界面设计为了实现简易文本编辑器的各项功能,设计一个含有多个菜单项的主控菜单模块以操作系统的各项功能,进而方便用户使用系统。2.2数据结构设计为实现数据的有序存储,该编辑器应该用顺序存储结构来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的俩个元素在物理位置上也相邻;在顺序表上可以随即存取表中的元素。沈阳理工大学课程设计专用纸2三、详细设计3.1清空内容模块清空以前的文本信息,将用数组存的数据内容全部置为0。3.2打开文件模块确认打开文件并提示未保存的数据将会丢失,如果未选择打开文件,则返回主菜单。3.3输入模块输入文本信息,从主菜单中选择输入,提示输入内容,并统计文本字符数和行数。3.4插入模块插入文本信息,首先在数组中查找要插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置。3.5删除模块删除文本信息,首先在数组中查找要删除的信息,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息。3.6替换模块替换文本信息,首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息。3.7显示模块显示当前文本信息,遍历用数组存入的信息,并输入到外部显示器上。沈阳理工大学课程设计专用纸33.8保存模块保存当前信息,并提示输入文件名,确认保存之后提示保存成功。3.9系统层次图图3-1系统层次图四、测试结果4.1文本编辑器主界面主界面功能,如图4—1所示。图4—1文本编辑器主界面简易文本编辑器删除插入输入打开文件清空内容替换显示保存沈阳理工大学课程设计专用纸44.2系统功能⑴输入文本信息功能,如图4—2所示。图4—2输入界面⑵查找文本信息,如图4—3所示。图4—3查找功能界面沈阳理工大学课程设计专用纸5⑶显示文本信息,如图4—4所示。图4—4显示文本界面⑷插入操作,如图4—5所示。图4—5插入功能界面沈阳理工大学课程设计专用纸6⑸删除操作,如图4—6所示。图4—6删除功能界面⑹替换文本内容,如图4—7所示。图4—7替换功能界面沈阳理工大学课程设计专用纸7⑺文件保存,如图4—8所示。图4—8保存功能界面五、调试分析程序设计没有按照一定的流程来,导致程序臃肿,可重复利用率太低,比如程序中的chazhao函数,在替换,删除等的过程中可以充分利用到,从而减少代码的长多,提高可读性和减少时间的复杂性,设计开始的时候没有充分考虑到,到最后无法在短时间内修改完成;程序的选择语句运行比较的多,当初是为了程序的安全和便捷,选择了较多的选择,确认步骤,这样一来使得程序中的选择语句比较的多,比较乱。这个在概要设计中没有充分的理清思路,导致程序的可读性较差。沈阳理工大学课程设计专用纸8六、心得体会这是第一次比较全面的设计一个可执行多种功能的程序的课程设计,暴露出较多的知识点的缺乏,比如文件的打开与保存等。程序的运行结果与理论推导结果基本吻合,即该算法与程序设计基本满足课程设计要求。该程序的优点是简单易懂,不存在理解上的障碍,很自然地能想到这种解法。但是该程序比较臃肿,可重复利用率低,还有待修改和完善。通过这次数据结构的课程设计使我对所学知识有了更好的理解,增强了自己的动手能力,但同时也发现了自己的不足之处,对知识的应用能