文档介绍:《数据结构与算法分析》课程设计报告课题名称: 文本编辑器课题设计人( 学号): 刘佳玉 20********** 指导教师: 朱宏评阅成绩: 评阅意见: 提交报告时间: 20 13年 12月 22日课程名称:文本编辑器学生姓名:刘佳玉学生学号: 20********** - 1- 文本编辑器计算机科学与技术专业学生刘佳玉指导老师朱宏[ 摘要] 文本编辑器( 或称文字编辑器) 是用作编写普通文字的应用软件, 它与文档编辑器(或称文字处理器)不同之处在于它并非用作桌面排版(例如文档格式处理)。它常用来编写程序的源代码。专业的计算机用户使用的文本编辑器往往不限制打开文件的大小。这样的编辑器在编辑大文件时,启动仍然很快,而且它们还能够编辑超过内存大小的文件。而简单的文本编辑器通常直接把文件读至内存。这样在处理较大文件时速度较慢,对于更大的文件,则干脆无法处理。我所做的这个文本编辑器包含插入、移除、替换、查找、显示和新建的功能,是一种简单的文本编辑器。关键词: 简单的文本编辑器插入移除替换查找显示新建一、实验名称:文本编辑器二、实验的目的和要求: 1. 采用 C++ 的 ASCII 码文件和串函数实现; 2. 熟练掌握串运算的应用; 3. 熟练掌握计算机系统的基本操作方法, 了解如何编辑、编译、链接和运行一个 C++ 程序; 4. 上机调试程序, 掌握查错、排错使程序能正确运行。课程名称:文本编辑器学生姓名:刘佳玉学生学号: 20********** - 2- 三、实验的环境: 指硬件和软件环境 1. 硬件环境: G405 +4G 内存+320G 硬盘+ 川大校园网 2. 软件环环境: 操作系统: Windows 7 编译系统的版本的特点: Dev-C++ 是一套用于开发 C/C++ 的自由的集成开发环境( IDE ) , 并以 GPL 作为散布许可。使用 MinGW 及 GDB 作为编译系统与除错系统。 Dev-C++ 的 IDE 是利用 Delphi 开发的。编辑软件特点: 包含强大的类和内嵌 WinAPI 的 MFC, 具有可视化的编程界面。四、算法描述:1 、用户可以选择自己输入文本或者直接使用程序以初始化的文本, 用 switch case 语句就可以根据用户不同的选择执行相应的代码。相应代码: cout<<"a 代表自己输入文本, b 代表使用电脑设置的文本"<<endl; cout<<" 请输入你的选择: "<<endl; char ch; cin>>ch; switch(ch)// 对用户的不同选择执行不同的代码{ case 'a':// 当用户选择自行输入文本时······ break; case 'b':// 当用户选择使用电脑设置的文本时····· break; } 课程名称:文本编辑器学生姓名:刘佳玉学生学号: 20********** - 3- 2、当用户选择自己输入文本时, 就需要写一些函数来存储这些信息, 可以将这些函数封装在一个模板类中,只要定义一个之歌类的对象( bianji ) 就可以在需要的时候调用类的函数。在这个时候需要调用的函数有: (h);// 设置文本的行数 (l);// 设置文本的列数 ();// 输入文本 ();// 显示文本 3 、单用户选择使用程序初始化的文本时,只要显示文本即可。这个时候需要的函数有: ();// 显示文本 4 、该文本编辑器有插入,移除,替换,查找,显示和重置的功能, 通过输出语句告知用户文本编辑器的功能, 并询问用户要使用哪个功能。相应代码: char ch='s';// 初始化 ch while(ch!='q')// 当 ch!='q' 时,就不会退出循环{ cout<<"i 代表插入文本"; cout<<"R 代表移除文本"; cout<<"r 代表替换文本"; cout<<"f 代表查找文本"; cout<<"s 代表显示当前文本"; cout<<"n 代表重新建立一个文本"; cout<<"q 代表退出"<<endl; cout<<" 请输入你的选择: "; cin>>ch; ······ }5 、当用户选择插入( insert )功能时,就只需要将当前行数加 1,将要插入的行及其后面的行的文本往后移一行, 在输入要插入的行的文课程名称:文本编辑器学生姓名:刘佳玉学生学号: 20********** - 4- 本即可,相应代码: while(h0>()||h0<1)// 如果要插入的行大于已有的// 最大行或者小于第一行就会要求重新输入一个{ cout<<" 输入错