- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计报告文本编辑和串查找统计
数据结构与算法设计
课程设计报告
题目:文本编辑和串查找统计
学生姓名:
学 号:
班 级:
指导教师:
2011年 12月 29日
目录
需求分析说明………………………………………………………………………….2
2. 总体设计 …………………………………………………………………… ……3
详细设计 ……………………………………………………………………………4
实现部分 ……………………………………………………………………………5-7
总结 ……………………………………………………………………………8
需求分析说明
题目与要求
文本编辑和串查找统计
任务:输入一页文字,程序可以统计出文字、数字、空格和其它标点符号的个数。
静态存储一页文章,每行最多不超过80个字符,共N行;
功能要求:
1)、分别统计出其中英文字母数、空格数、标点符号及整篇文章总字数;
2)、统计某一字符串在文章中出现的次数,并输出该次数;
3)、删除某一子串,并将后面的字符前移。
要求用菜单选择操作,分别用几个子函数实现相应的功能;
输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:(1)分行输出用户输入的各行字符;
(2)分5行输出全部字母数、数字个数、空格个数、“标点符号个数”文章总字数
(3)输出删除某一字符串后的文章;
1.2 本程序涉及的知识点
链串的插入,删除,查找,模式匹配(knp算法)及文件的写入与写出,用switch,case语句进行菜单的选择,用while语句进行循环,用if语句进行条件的判断等等。
2 总体设计
2.1 基本思路
本文采用链式存储字符串,链串的插入采用后插法,以‘*’为字符串结束的标志。在插入字符串的同时用文件存储字符串。
删除算法的基本思路:输入要删除的字符串,同样以‘#’结束,然后在文中查找该字符串,若找到了则把它删除,同时长度要减少;否则,没找到不能删除。
查找算法与删除算法类似;但也有不同之处,不同在于:这里是要查找某字符串在文中出现的次数,因此,当找到该字符串后还要继续往后查找,并将次数加1;直到文章的末尾才结束查找。
用菜单做选择,用switch,case语句进行选择判断,并用类的对象调用类的成员函数以实现特定的功能。
2.2 功能设计
根据提示选择相应功能
y n
选择操作 退出
调用相应函数
是否继续?
3.详细设计
ca类中有data和next分别表示输入的数据和指向下一个地址;另外还包含5个子函数,分别是1,void shuru()函数,用尾插法建立链串,并将字符串存入文件,遇到*时结束;2,void chazhao()函数,用于查找某个字符,当遇到的字符大于等于48并且小于等于57时,数字个数加1,当遇到的字符为标点符号时,相应的标点符号数加1,并输出;判断完后指针后移。3,void shanchu()为删除字符串的函数,输入一个字符,若在文中找到了一个字符与要删除的第一个字符相同,则指针分别往后移,若文中的下一个字符与第二个字符不相同,则继续找文中的下一个字符与要删除的字符从第一个字符开始从新匹配,直到要删除的字符都匹配完;找到了要删除的字符串在文中的位置后,将文中与这串字符匹配的第一个字符开始到最后一个匹配的这段字符删除;若没有找到该字符串则不能删除。4,void print1(link )函数,输出要删除的字符串。 5,void print2()函数用于查找字符串在文中出现的次数;设置一个整型变量num,用于统计出现次数,其初始值为0。同样采用模式匹配的算法,但不同的是,找到第一次在文中出现的位置后num+1,并且还要继续找文中的下一个,找到了又要num+1,直到文章的末尾,然后输出num值。
部分函数模块流程图:
void Chazhao(ca *L)
ca *H = L;char s[80], *q;ca *p;cout输入该子串: ;cins;
While
(P!=NULL)(Q!=NULL)
if(P-data==Q-data )
您可能关注的文档
- 中考数学复习(不等式).doc
- 湘教版七年级.doc
- 河南省五年初中毕业生学业暨高级中等学校招生考试数学试卷.doc
- (北师大版)二年级数学上册教案 一分能干什么 4.doc
- 谈论语文教学中的朗读.doc
- 普法安全教案上集.doc
- 《钢铁是怎样炼成的》感悟随写.doc
- 笔记本蓝屏代码.pdf
- 论如何“创建幸福家庭”及发展人口文化的意义.doc
- 选修6默写听写卷.doc
- 2025-2026年度国内抗酸药及治疗消化性溃疡和胃肠胀气用药市场发展规划及投资前景咨询报告.doc
- 2025-2026年度第一学期园务计划.doc
- 2025-2026年度第一学期学校工作计划.docx
- 2025-2026年度口服轮状病毒活疫苗市场深度分析及产业链投资价值研究咨询报告.doc
- 高考历史一轮复习 世界史 第03讲 走向整体的世界(原卷版).docx
- 高考历史一轮复习 世界现代史单元检测(学生版).docx
- 高考历史一轮复习 世界史 第03讲 走向整体的世界(解析版).docx
- 中考数学总复习第七模块图形的变化练习题整理.docx
- 《幼儿园管理条例》专业解读课件.pptx
- 人教版二年级数学上册第一二单元综合素质达标测试题课件.pptx
文档评论(0)