数据结构课程设计--文章编辑系统

数据结构课程设计--文章编辑系统

ID:35625255

大小:396.00 KB

页数:20页

时间:2019-04-03

数据结构课程设计--文章编辑系统_第1页
数据结构课程设计--文章编辑系统_第2页
数据结构课程设计--文章编辑系统_第3页
数据结构课程设计--文章编辑系统_第4页
数据结构课程设计--文章编辑系统_第5页
资源描述:

《数据结构课程设计--文章编辑系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、滨江学院数据结构课程设计题目文章编辑系统院系专业班级学生姓名学号文章编辑系统2、内容综述:此系统要求功能:输入一页文字,程序可以统计出文字、数字、空格的个数。基本要求静态存储一页文章,每行最多不超过80个字符,共N行;s要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。可行性分析:对于文本的输入采用头插法将文本信息存储到链表已申请好的存储空间中对于文本内容的统计使用循环对已存储的文章进行匹配大写字母数、小写字母数、空格数、数字数直接通过条件比较即可得到对于文

2、本内容的处理查找部分仍是使用循环对已存储的文章进行匹配判断需要查找的字符或者字符串是否与文章中某部分内容相同如果存在相同的记录相同的个数。删除部分先使用程序的查找功能对文章中需要删除的字符或者字符串进行查找然后对其进行删除。2、系统设计2.1需求分析: 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:(1)、分行输出用户输入的各行字符;(2)、分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)、输出删除某一字符串后的文章;2.2总体设计根据题目,可得主

3、程序设计流程图如下所示:开始菜单输入文章浏览文章统计信息统计字符串删除字符串退出图2-1文章输入、浏览、统计串、统计及删除的详细流程如图2—2所示:开始显示文本信息且换行输入文本信息(<=80)选定选项1回车回车回车Ctrl+E显示输入内容并调出主菜单选定选项2调出主菜单回车回车调出主菜单回车选定选项3显示文章统计信息的结果回车显示出现次数输入要统计的字符串回车回车选定选项4接上页回车调出主菜单选定选项5输入要删除的字符串显示删除后的文本回车回车回车退出/结束选定选项6调出主菜单回车图2-22.2.1.输入模块存储结构:采用单链表结构存储文章,每个结点存储一行,每行最长

4、不超过80个字符。结构定义:typedefstructline{char*data;//字符串指针需要时动态分配内存structline*next;}LINE;算法描述:用gets函数接收输入,每遇到一个回车换行就新建一个结点,将当前行存入其data域。当发现输入为^E时,在Data的最后加上字符串结束标志,并置当前结点的Next指针域为NULL。2.2.2统计模块统计模块包括统计全部字母数,统计数字个数,统计空格个数,以及统计文章总字数,这四个部分的实现算法大体相同,四者的关系是:全部字母数+数字个数+空格个数=文章总字数,也就是说可以在统计出其中三者的前提下计算出第

5、四个的数量。另外一个重要的统计功能是统计某一字符串在整篇文章中出现的次数,这个需要用到串的模式匹配算法来实现。2.2.3删除模块删除模块的算法思想类同统计字符串的算法思想,由于采用了链表的存储结构,使得删除算法的时间复杂度大大减少。2.2.4查找模块intFindString(LINE*&head,char*str)/*统计str在文章中出现的次数*/求在一行中Str出现的次数的流程图:①.查找第一个字符,如果有第一个字符即p->data[i]==str[0],设计数器k=0②.查找这个字符后面的字符与要查找的字符串是否匹配即p->data[i+j]==str[j],如

6、果匹配k++③.重复第二步,如果k=len2,则查找到,count++;如果没查找到,重新进行第一步开始count=0;h=0;len1=0;len2=strlen(str);p->data[i]==str[0]i++k=0;j=0;p->data[i+j]==str[j]k++;j++;k=len2count++;i=i+k-1;结束YNYNNY图2-3voiddelstringword(char*s,char*str)/*删除字符串*s中的字符串*str*/实现思想:①.从字符串s中寻找str第一次出现的位置*p=strstr(s,str);②.len=strlen

7、(s);i=len-strlen(p)即前i项恰好不含要删除的字符串,将前i项复制到tmp中③.j=i+strlen(str)即要删除的字符串在i+1和j之间,将j之后的字符串复制到tmp中④.将tmp赋给串s,返回sstrpijsfor(m=0;m#include#include#includet

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。