用字符串实现一个简单的行编辑器Word文档下载推荐.docx
- 文档编号:13809831
- 上传时间:2022-10-13
- 格式:DOCX
- 页数:11
- 大小:178.69KB
用字符串实现一个简单的行编辑器Word文档下载推荐.docx
《用字符串实现一个简单的行编辑器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《用字符串实现一个简单的行编辑器Word文档下载推荐.docx(11页珍藏版)》请在冰豆网上搜索。
课题背景
行编辑器是文本编辑器的一种,针对行进行编辑。
此刻看来固然超级地老式,这种编辑器起源于操作员还利用电传打字机的年代,也确实是一个打印机连着键盘,因为没有显示器,也就无法在文档中移动光标。
行编辑器只能从事最简单的输入输出。
输入、编辑、文档显示并非能同步地进行。
一样而言,用户无法直接输入文本,而只能在文本终端上通过简要的命令,对已有的文档进行添加或编写。
命令和文本,和编辑器的相应输出,会依照他们的输入顺序,从底部开始一一显示。
尽管命令一样会显示被修改的行,但如果是要将行连同文档中的上下文显示,那么需要另外单独的命令。
此刻常见的编辑器,都是通过移动光标,来选取要编辑的文本段落,与此不同的是,行编辑只能对“当前行”进行编辑。
一样也能够在行内进行上下文匹配,或选择特定行,以决定哪部份文档将被编辑或显示。
固然,这些编辑每次都只能针对一行。
行编辑器就只能一行一行的编辑,不能犯错,一犯错就得重来。
因此咱们用字符串来概念,能够增强行编辑器的应用,增强可读性,加速人们的编辑文本的效率,从而推动社会的进展。
这确实是其重要意义。
课程设计目的
数据结构是在整个运算机科学与技术领域上普遍被利用的术语。
它用来反映一个数据的内部组成,即一个数据由那些成份数据组成,以什么方式组成,呈什么结构。
数据结构有逻辑上的数据结构和物理上的数据结构之分。
逻辑上的数据结构反映成份数据之间的逻辑关系,而物理上的数据结构反映成份数据在运算机内部的存储安排。
数据结构是数据存在的形式。
数据结构是信息的一种组织方式,其目的是为了提高算法的效率,它通常与一组算法的集合相对应,通过这组算法集合能够对数据结构中的数据进行某种操作。
数据结构课程的主要目的是介绍一些常用的数据结构,阐明数据结构内在的逻辑关系,讨论它们在计算机中的存储表示,并结合各种数据结构,讨论对它们实行的各种运算的实现算法。
生活中的例子,比如此刻要做一个考试系统,要描述每一个考生的信息,有姓名、性别、考号等,全数这些信息就组成一个小数据结构,每一个考生有他自己的数据结构,这些结构要如何寄存在运算机中,各个结构之间是什么关系,对整体需要哪些操作,比如查询、删除,如何存储会使如此的操作效率更高,这些确实是数据结构要解决的问题。
如图1-1。
字符串————————————行编辑
图1-1
图实现的数据结构
课程设计内容
本课程设计是用字符串实现一个简单的行编辑器,其中包括字符的按行录入、修改、替换、查询。
如图1-2所示:
行编辑器
字符的录入
字符的修改
字符的替换
字符的查询
图行编辑器功能框架图
2设计思路与方案
设计思路
栈是一种先进后出的线性表。
它只许诺在表的一端进行插入和删除元素,而在另一端不进行任何操作。
比如假设栈为q=(a1,a2,…an),那么a1确实是栈低元素,an那么是栈顶元素。
栈中的元素是依照a1,a2,…an的顺序进入的,出栈是能够依照那个顺序依次退出。
如图2-1
a1,a2,…an
a1,a2,a3,…an进栈
图2-1C栈元素进栈
an,…a2,a1
图2-2C栈元素出栈后进入D栈
最后D栈出栈的元素序列是:
a1,a2,…an。
与输入序列完全一致。
数据结构设计(还必需写详细些)
栈是一种先进后出的线性表,为了能依照原先的输入顺序输出元素,我在程序中设计了两个栈,第一个栈用来存储输入的字符,然后把第一个栈的元素出栈,而且把出栈的元素放入第二个栈中,如此就实现了出栈是元素的顺序和最开始输入的顺序是一致的了。
第一,构造一个空栈函数InitStack(SqStack&
S);
然后设计输入函数push(SqStack&
S,chare)和出栈函数pop(SqStack&
S,char&
e);
在这两个函数里,咱们通过顶指针的增加(*++=e)和指针的减少来实现元素的进栈和出栈(e=*)。
咱们通过设计函数DestroyStack(SqStack&
S)来清空栈中所有的元素,通过利用free()函数来释放*的地址。
通过函数PrintStack(SqStack&
S)来输出显示输入的所有元素。
3详细实现
输入文本
概念一个输入函数,显示“请输入字符串”,从而能够输入字符。
编辑字符
存储每一行的元素
指向后一个节点的指针
指向前一个节点的指针
编辑文本
确定此行是否被删除的标志
N
Y
图编辑文本流程图
修改字符
本操作的流程图如下所示:
输入要查找的文档
查找该文档在链表中的位置
判断位置是否为0
输出文档的位置信息
输出没有该文档
图3-2文档的显示流程图
输出文本
挪用单链表中的Find函数,查找该文件内容在单链表中的位置,若是位置异样,输出提示信息”没有该文件”,不然,挪用单链表中的Get函数,找出该文件并输出。
操作流程图如下所示:
查找该文件在链表中的位置
输出没有该文本
图3-3输出文本流程图
4运行环境与结果
运行环境
在本课程设计中,系统开发平台为Windows2000,程序设计语言为VisualC++,程序的运行环境为VisualC++。
VisualC++一样分为三个版本:
学习版、专业版和企业版,不同的版本适合于不同类型的应用开发。
实验中能够利用这三个版本的任意一种,在本课程设计中,以VisualC++为编程环境。
MicrosoftVisualC++是Microsoft公司的MicrosoftVisualStudio开发工具箱中的一个C++程序开发包。
VisualC++包中除包括C++编译器外,还包括所有的库、例子和为创建Windows应用程序所需要的文档。
自1993年Microsoft公司推出VisualC++后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。
VisualC++从最初期的版本,进展到最新的版本,VisualC++已经有了专门大的转变,在界面、功能、库支持方面都有许多的增强。
最新的版本在编译器、MFC类库、编辑器和联机帮忙系统等方面都比以前的版本做了较大改良。
尽管微软公司推出了VisualC++.NET(VisualC++,但它的应用的专门大的局限性,只适用于Windows2000,WindowsXP和Windows。
因此实际中,更多的是以VisualC++为平台。
VisualC++是Microsoft公司推出的目前利用最普遍的基于Windows平台的可视化编程环境。
VisualC++是在以往版本不断更新的基础上形成的,由于其功能壮大,灵活性好,完全课扩展和具有壮大的Internet支持,因此在各类C++语言开发工具中脱颖而出,成为目前最为流行的C++语言集成开发环境。
VisualC++秉承VisualC++以前版本的优良特性,为用户提供了一套良好的可视化开发环境:
要紧包括文本编辑器、资源编辑器、工程创建工具、Debugger调试器等等。
用户能够在集成开发环境中创建工程、感动工程、成立、打开和编辑文件、编译、链接、运行、调试应用程序。
运行结果
(1)在程序开始运行时,就会显示出提示语,提示“请输入字符串”,如以下图所示。
.
图4-1显示最初运行的页面
(2)输入字符串。
结果如以下图所示:
图4-2输入字符串
(3)当输入#那么能够消去一个字符,如下图
图4-3输入#后的运行图
(3)当输入@那么能够消去一个字符,如下图
图4-4输入@后的运行图
(5)提示语“Pressanykeytocontinue”退出程序。
如以下图12所示:
图4-5退出程序
5终止语
课程设计是培育学生综合运用所学知识,发觉,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察进程.随着科学技术进展的日新月异,单片机已经成为现今运算机应用中空前活跃的领域,在生活中能够说得是无处在。
回忆起这次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整两礼拜的日子里,能够说得是苦多于甜,可是能够学到很多很多的的东西,同时不仅能够巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次课程设计使我知道了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会效劳,从而提高自己的实际动手能力和独立试探的能力。
在设计的进程中碰到问题,能够说得是困难重重,这毕竟第一次做的,不免会碰到过各类各样的问题,同时在设计的进程中发觉了自己的不足的地方,对以前所学过的知识明白得得不够深刻,把握得不够牢固,尔后必然好勤学习.。
与其临渊羡鱼,不如退而结网。
这次数据结构课程设计给我的最大的印象确实是若是自己有了爱好,就动手去做,困难在勇气和毅力下是抬不了头的。
从做那个数据结构课程设计开始,不管碰到什么困难,我都没有一丝的舍弃的念头。
出于对知识的渴望,出于对新技术的好奇,出于对一切未知的求知。
我完成了这次数据结构课程设计,只是这只是我学习路上的驿站,语言并非重要毕竟它仅仅是工具,用好一个工具并非是一件值得为外人道的情形,主若是了解学习思想。
在尔后的日子里,我会好勤学习专业知识,不断进步。
参考文献
[1]麻志毅,<
C语言解析教程>
(原书第4版)机械工业出版社2002
[2]徐宝文李志谭浩强《C程序设计语言》(第二版·
新版)C++程序设计机械工业出版社2004
[3]Pascal之父NiklausWirth《算法+数据结构=程序》科学出版社2001
[4]苏运霖《数据结构与算法》中南工业大学出版社2002
[5]Shaffer《数据结构与算法分析》(C++版、JAVA版)电子工业出版社1999
[6]粟利民,孙强.如何用VC++和VisualFoxpro进行ActiveX数据通信.
[7]谭浩强.运算机C语言教程[M].北京:
电子工业出版,2001
[8]陈向阳.网络工程计划与设计[M].北京:
清华大学出版社,2007
附录:
源程序代码
//程序功能:
用字符串实现一个简单的编辑器
//程序作者:
刘慧
//最后修改日期:
2020-3-12
#include<
>
#defineppprintf
#definessscanf
#defineD“%c”
main()
{
inti=0,j;
chara[250]={‘\0’};
charc,*last;
a[i]=’\n’;
last=a;
i++;
pp(“thetagis~\n”);
while((c=g
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 用字 实现 一个 简单 编辑器