数据结构简易文本编辑器.doc
《数据结构简易文本编辑器.doc》由会员分享,可在线阅读,更多相关《数据结构简易文本编辑器.doc(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、题目:【2】简易文本编辑器要求:1) 具有图形菜单界面;2) 查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除3) 可正确存盘、取盘;4) 正确显示总行数。1需求分析一个简易文本编辑器应该具有图形菜单界面,包括查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列块移动),删除文本信息等功能并可正确存盘、取盘,正确显示总行数。2概要设计 为实现数据的有序存储,该编辑器应该用顺序表来存储输入的信息。顺序表是数据结构中线性表的一种,它是用一块地址连续的存储空间依次存储线性表的元素。其特点为:在顺序表上逻辑关系相邻的俩个元素在物理位置上也相邻;
2、在顺序表上可以随即存取表中的元素。在编辑器的主界面中应有如下提示信息: 清空以前的文本信息:将用数组存的数据内容全部置为0; 显示当前文本信息:遍历用数组存入的信息,并输入到外部显示器上; 编辑信息:定义一个结构体,并在结构体中定义一个字符型的一维数组和一个整型变量,这个整型变量用于记录一维数组中存入数据的个数; 替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息; 插入文本信息:首先在数组中查找要插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入
3、的位置; 移动文本信息:首先在数组中查找要移动的信息,如果找到该信息,提示是进行列移动还是进行行移动,否则提示未找到要移动的信息; 删除文本信息:首先在数组中查找要删除的信息,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息; 退出编辑器:显示感谢使用该软件并退出。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 t
4、ihan(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 textMAX=;/文本编辑域char name20=;/文件保存的位置int status=0;/显示是否保存过的状态int ntext;/文本编辑的位置4用户使用说明 清空以前的文本信息:将用数组存的数据内容全部置为0; 显示当前文本信息:遍历用数组存入的信
5、息,并输入到外部显示器上; 编辑信息:定义一个结构体,并在结构体中定义一个字符型的一维数组和一个整型变量,这个整型变量用于记录一维数组中存入数据的个数; 替换文本信息:首先在数组中查找要被替换的信息,如果找到该信息,提示输入要替换的信息内容,否则提示未找到要被替换的信息; 插入文本信息:首先在数组中查找要插入点,如果找到该插入点,提示输入插入信息,确认插入信息后,提示选择向前插入信息还是向后插入信息,如果未找到插入点,显示未找到要插入的位置; 移动文本信息:首先在数组中查找要移动的信息,如果找到该信息,提示是进行列移动还是进行行移动,否则提示未找到要移动的信息; 删除文本信息:首先在数组中查找
6、要删除的信息,如果找到该信息,提示是否确认删除该信息,通过确认来删除信息,如果未找到要删除的信息,提示未找到该信息; 退出编辑器:显示感谢使用该软件并退出。5调试分析 /测试结果文本编辑器主界面主界面功能,如图22所示。图22 文本编辑器主界面系统功能 输入文本信息功能,如图23所示。 图23 输入界面 查找文本信息,如图24所示。 图24查到功能界面 显示文本信息,如图25。图25 4删除操作,如图2-6图26 (删除123)功能5插入操作 如图27所示。 图27 (在789前插入123)界面6替换文本内容,如图28所示。图28 (替换456为abc)的内容 6心得体会程序的运行结果与理论推
7、导结果完全吻合,即该算法与程序设计满足课程设计要求。该程序的主要优点是简单易懂,不存在理解上的障碍,也很自然地能想到这种解法。通过数据结构的课程设计使我们对所学知识有了更好的理解,也增强了大家的动手能力。同时也发现了自己的很多不足之处,对知识的应用能力很是欠缺,应用软件的能力及编程水平与课程要求更是存在很大的差距。7程序#include #include #include #include #define MAX 10000#define _CRT_SECURE_NO_DEPRECATE/在vs中取消warning的警告void menu(); void shuru(char text);vo
8、id 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 textMAX=;/文本编辑域char name20=;/文件保存
9、的位置int status=0;/显示是否保存过的状态int ntext;/文本编辑的位置 void dakai(char text)system(cls); FILE *fp;char pd,ch;char name30;int i=0;printf(输入A:确定打开文件(未保存的数据将会丢失) M:返回主菜单);fflush(stdin);pd=getchar();if (pd=A|pd=a)printf(请输入要打开文件名字(例如c:a.txt));scanf(%s,name);while (fp=fopen(name,r)=NULL)printf(n打开文件失败,请重新输入要打开的文件
10、名:);scanf(%s,name);cs(text);while(!feof(fp)ch=fgetc(fp);texti=ch;i+; texti=0; ntext=i; fclose(fp);printf(n文件读取成功n文件内容为n);dayin(text); if (pd=M|pd=m)menu(); void bc(char text)system(cls);FILE *fp;char pd;char tmp;int i;printf(n输入【A】保存;任意键返回主菜单不保存n); fflush(stdin);pd=getchar();if (!(pd=A|pd=a)menu();e
11、lse if(name20=NULL)printf(n请输入保存文件名(例如: c:a.txt):);scanf(%s,name);while (fp=fopen(name,w+)=NULL)printf(文件不存在,请重新输入文件名:);scanf(%s,name); printf(nA:确定;B:取消:); while(scanf(%c,&tmp)!=EOF)if (tmp=A | tmp=a) for(i=0;intext;i+) fprintf(fp,%c,texti); fclose(fp);status=1;printf(n文件保存成功n);break;if (tmp=B | tm
12、p=b)break; void cs(char text)int i;for (i=0;intext;i+)texti=0;ntext=0;status=0; int strindex(char text,char t,int i2,int l) /查找要操作的数据的位置(模式匹配)int i1=l,j=0;while (i1ntext&j=i2)return(i1-i2); /返回匹配的第一个字符的下标elsereturn(-1); /模式匹配不成功void menu()system(cls);time_t timep; time (&timep);printf(%s,ctime(&time
13、p);printf(nnnnnnnnntttWelcom to use our TXT edition system!n);printf(nnttt 欢迎您使用文本编辑器软件!n);printf(nnnnnnnnnpress Enter to continue.n);getchar();loop:system(cls);printf(nnnntt*简易文本编辑器*nn);printf(tttt-0.清空内容-n);printf(tttt-1.打开文件-n);if (ntext=0)printf(tttt-2.输入内容-n); else printf(tttt-2.继续输入-n);printf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 简易文本编辑器 简易 文本 编辑器
限制150内