简单行编辑器 数据结构 课程设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国矿业大学徐海学院计算机系 《软件认知实践》报告 姓 名: 学 号: 专 业: 设计题目: 简单行编辑器 指导教师: 2012 年 12 月 25 目 录 第 1 章 题目概述 1 第 1.1 节 题目要求 1 第 1.2 节 主要难点 2 第 2 章 系统流程图 3 第 3 章 数据结构和算法 4 第 4 章 核心代码分析 6 第 5 章 复杂度分析 10 第 6 章 总结 11 参考文献 13 中国矿业大学徐海学院《软件认知实践》报告 中国矿业大学徐海学院《软件认知实践》报告 PAGE PAGE 10 第1章 题目概述 在这次课程设计中我选的题目是文本编辑,文本编辑几乎是每个使用电脑的人都会遇到的问题,特别是网络小说作家们。在文本的编辑中,我们会时常遇到文本信息的统计问题、小型子串的查找问题、子串的查找和删除问题等。如果靠人自己去观察和执行相关操作的话,不仅累人,而且很容易出错。而使用计算机程序去实现的话,则会省力不少,而且相对来说非常精确。本程序使用了较快速的查找算法,可以大大提高检索的效率,相信这可一极大的方便用户用电脑编辑文本文件。 第 1.1 节 题目要求 文章编辑 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行; 要求 分别统计出其中英文字母数和空格数及整篇文章总字数; 统计某一字符串在文章中出现的次数,并输出该次数; 删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式: 分行输出用户输入的各行字符; 分4行输出全部字母数、数字个数、空格个数、文章总字数 输出删除某一字符串后的文章; 实现功能 文章内容的输入:包括字母、标点符号、数字等; 文章内容的统计:包括文章中大写字母、小写字母、数字、标点符 号、空格以 及文章所有字数的个数的统计; 文章内容的处理:包括对文章内容的查找、删除以,其中在查找的过程中统计出该字符或字符串在文章中出现的次数; 第 1.2 节 主要难点 本程序是对一段英文文章的内容进行处理,存储方式采用链式存储,没有文件操作,故本程序对其文本内容的所有操作都是在链表中进行的。对于文本的输入,采用头插法将文本信息存储到链表已申请好的存储空间中,在此部分设计中最大的问题在于输入文章过程中输入的字符数大于 80 时如何换行;对于文本内容的统计,使用循环对已存储的文章进行匹配,大写字母数、小写字母数、空格数、数字数直接通过比较即可得到,标点符号通过 ASCⅡ比较即可得到; 对于文本内容的处理,查找部分仍是使用循环对已存储的文章进行匹配,判断需要查找的字符或者字符串是否与文章中某部分内容相同,如果存在相同的记录相同的个数及位置并输出个数及位置。删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找,然后对其进行删除。文本编辑的基本内容为查看文本文件内容,统计内容基本信息,查找子串是否存在及其出现次数,查找并删除所有的相关子串并重新输出文本内容等等。 第2章 系统流程图 开始 开始 主函数 输入文字 统计个数 查找某一子串 输出文字 统计字母、数字、空 格、某一字符串的个 数以及文章总字数 删除这一子串 输出删除后的文 章 具体操作 第3章 数据结构和算法 1、定义结构体 struct line,文本行采用顺序存储,行与行之间采用链式存储. 2、主要函数: int FindString(LINE * head,char *str) /*统计 str 在文章中出现的次数 */求在一行中 Str 出现的次数的流程图: 开始 开始 count=0;h=0;len1=0; len2=strlen(str); i++ p-data[i]==str[0] N Y k=0;j=0; N p-data[i+j]==str[j] Y k++;j++; N k=len2 Y count++; i=i+k-1; 结束 ①.查找第一个字符,如果有第一个字符即 p-data[i]==str[0],设计数器k=0 ② . 查 找 这 个 字 符 后 面 的 字 符 与 要 查 找 的 字 符 串 是 否 匹 配 即p-data[i+j]==str[j],如果匹配 k++ ③.重复第二步,如果 k=len2,则查找到,count++;如果没查找到,重新进行第一步。 void delstringword(char *s,char *str) /* 删除字符串 *s 中的字符串 *str*/ p s str for(m=0;mi;m++) tmp[count++]=s[m]; i j for(n=j;

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档