欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    数据结构课程设计-文章编辑.doc

    • 资源ID:51847381       资源大小:101KB        全文页数:18页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构课程设计-文章编辑.doc

    课程设计(论文)题 目: 文章编辑 院 (系): 专业班级: 姓 名: 学 号: 指导教师: 2013年 9 月 20日西安建筑科技大学华清学院课程设计(论文)任务书专业班级:计算机2011 学生姓名: 指导教师(签名): 一、课程设计(论文)题目文章编辑二、本次课程设计(论文)应达到的目的数据结构是实践性很强的课程。课程设计是加强学生实践能力的一个强有力手段。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。目的:熟练字符串表在链式存储结构上的实现(提示: 用双向链表实现)。 三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等) 静态存储一页文章,每行最多不超过80个字符,共N行。可以输入大写、小写的英文字母、任何数字及标点符号。输入数据:大写、小写的英文字母、任何数字及标点符号(每行字数<=80);分别统计出其中英文字母数和空格数及整篇文章总字数;统计某一字符串在文章中出现的次数,并输出该次数;删除某一子串,并将后面的字符前移;分行输出用户输入的各行字符;分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数";输出删除某一字符串后的文章。四、应收集的资料及主要参考文献: 由于本课程没有安排“课内上机”学时,因此,在课程设计之前必须自己已经上机练习了“线性表”的基本操作。 参考文献:1.本年级使用的教材:数决结构与算法分析(C+版),电子工业出版社,2005.7,Clifford A.Shaffer编著2. 数据结构与算法,科学出版社,2005.08,赵文静 祁飞等编著3. 数据结构-C+语言描述,西安交通大学出版社,1999.01,赵文静编著4.VC+深入详解,电子工业出版社,2007.7,孙鑫,于安萍编著5.C+程序设计, 清华大学出版社, 2005.8,COHOON & DAVIDSON编著五、审核批准意见教研室主任(签字) 设计总说明本次课程设计是利用我们数据结构这门课程中所学习的线性表及与其相关的一些知识所完成的。通过使用双向链表来实现文章编辑的各项功能。文章编辑需要统计文章中的所有文字信息,需要分行显示,涉及到很多方面的知识,要使用链表来存储文章。文章编辑程序的主要功能是统计文章中的全部字母数、数字个数、空格个数和文章总字数,并且能准确的查找、删除字符串。主要应用的函数和语句有循环,查找,删除等。由程序开始运行后进行字符串的录入,之后进行字符的输出,然后是利用循环和查找,进行字符的统计并输出已经找到的字符(包括字母、数字、空格)出现的次数以及总共的字符数。在这些运行完之后,根据要求还有一项功能-删除,对指定的字符进行删除,同样,这里也需应用到循环,查找和删除。关键字:C,链表,遍历,函数,指针 目录1.设计目的12.问题描述23.需求分析23.1 数据需求23.2 基本功能需求23.3 非功能性需求34.概要设计34.1 数据结构34.2 系统包含的函数44.3 函数间的关系64.4 系统功能模块图65.详细设计75.1 结构体的详细定义75.2 系统函数详细介绍75.3 系统功能模块介绍85.4 具体模块设计86.调试分析107.使用说明127.1输入一段文字127.2 统计文章中各字符串个数127.3 删除某一字符串138.设计总结139.参考文献14数据结构课程设计-文章编辑1.设计目的“数据结构”是计算机科学与技术专业一门十分重要的专业技术基础课,计算机科学各领域及有关的应用软件都要使用到各种数据结构。在我国,”数据结构与算法”已经作为理工科非计算机专业必修的信息技术基础课程之一。世界上许多科技人员对学习、研究数据结构和算法都非常重视,对于从事计算机科学及其应用的科技工作者来说,数据结构与算法更是必须透彻地掌握的重要基础。学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。课程设计是加强学生实践能力的一个强有力手段。课程设计所安排的题目,在难度和深度方面都大于平时的上机训练,要求同学在完成设计和编程大型作业的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。课程设计要求学生在完成程序设计的同时能够写出比较规范的设计报告。严格实施课程设计这一环节,对于学生基本程序设计素养的培养和软件工作者工作作风的训练,将起到显著的促进作用。2.问题描述 文章编辑用于输入一段文字,并统计这段文章中字母、数字、空格、某一字符串的个数以及文章的总字数,查找文章的某一特定字符串、删除某一特定字符串并输出删除这一特定字符串后的文章。3.需求分析3.1 数据需求 输入:大写、小写的英文字母、任何数字及标点符号。 3.2 基本功能需求 此系统主要实现了以下功能:静态存储一页文章,每行最多不超过80个字符,共N行。可以输入大写、小写的英文字母、任何数字及标点符号。要求:1、分别统计出其中英文字母数和空格数及整篇文章总字数;2、统计某一字符串在文章中出现的次数,并输出该次数;3、删除某一子串,并将后面的字符前移;存储结构使用线性表,分别用几个子函数实现相应的功能。输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。输出形式:1、分行输出用户输入的各行字符; 2、分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"; 3、输出删除某一字符串后的文章。 在编辑过程中,遇到的问题有对字符的统计过程中需要用ASCII码,在自已开始直接用的是字母或者数字。不知道怎么结束文章输入操作,最后在查找ASCII码时发现可以用ASCII码中的end控制符结束文章的输入。3.3 非功能性需求用户界面需求:简洁、易用、易懂、友好的用户界面。硬件要求:装有Visual C+6.0的计算机。可靠性需求:保证用户在正常使用本系统时,用户的操作或误操作不会产生数据的丢失。4.概要设计4.1 数据结构由程序开始运行后进行字符串的录入,之后进行字符的输出,然后是利用循环和查找,进行字符的统计并输出已经找到的字符(包括字母、数字、空格)出现的次数以及总共的字符数。在这些运行完之后,根据要求还有一项功能-删除,对指定的字符进行删除,同样,这里也需应用到循环,查找和删除。4.2 系统包含的函数主要函数包括:int FindString(LINE * &head,char *str) /*统计str在文章中出现的次数*/求在一行中Str出现的次数的流程图,如图4-1所示:开始始count=0;h=0;len1=0; len2=strlen(str);p->datai=str0i+k=0;j=0;p->datai+j=strjk+;j+;k=len2count+;i=i+k-1;结束YNYNNY 图4-1统计str出现次数流程图 查找第一个字符,如果有第一个字符即p->datai=str0,设计数器k=0查找这个字符后面的字符与要查找的字符串是否匹配即p->datai+j=strj,如果匹配k+重复第二步,如果k=len2,则查找到,count+;如果没查找到,重新进行第一步void delstringword(char *s,char *str) /*删除字符串*s中的字符串*str*/ strpi jsfor(m=0;m<i;m+)tmpcount+=sm;for(n=j;n<len;n+)tmpcount+=sn;tmp图4-2 删除某一特定字符串实现思想:从字符串s中寻找str第一次出现的位置 *p=strstr(s,str);len=strlen(s);i=len-strlen(p)即前i项恰好不含要删除的字符串,将前i项复制到tmp中j=i+strlen(str) 即要删除的字符串在i+1和j之间,将j之后的字符串复制到tmp中将tmp赋给串s,返回s4.3 函数间的关系整个程序主要包括统计各个字符串个数函数、删除某特定字符串函数以及主函数,主函数调用实现各功能所用的函数。4.4 系统功能模块图图4-1 系统功能模块图5.详细设计5.1 结构体的详细定义定义结构体struct line 文本采用顺序存储,行与行之间采用链式存储。typedef struct line char *data; struct line *next;LINE; /*创建一链表,同时向里面输入文本数据*/void Create(LINE * &head) printf ("请输入一页文章,以Ctrl+E(E)为结尾(每行最多输入80字符!):n");5.2 系统函数详细介绍1、统计字母数:int CountLetter(LINE * &head)2、统计数字数:int CountNumber(LINE * &head) 3、统计空格数:int CountSpace(LINE * &head)4、统计文章的总字数:int CountAll(LINE * &head)5、统计str在文章中出现的次数:int FindString(LINE * &head,char *str)6、删除指定的字符串void delstringword(char *s,char *str)7、向屏幕输出文章void OutPut(LINE * &head)开始菜单输入文章浏览文章统计信息统计字符串删除字符串退出5.3 系统功能模块介绍图5-4主程序设计流程图 5.4 具体模块设计(1)统计字符个数算法流程图i=0 n=0i<N i>=Nj=0 len=strlen(wzi)j<len j>=lenif(wzij>=n1&&wzij<=n2)n+j+i+return n算法结束图5-1 统计字符个数算法流程图(2)查找某一字符串出现的次数算法流程图i=0 n=0i<N i>=Nc=strstr(wzi,s)c!=0 c=0c=strstr(c+lens,s)n+i+return n算法结束图5-2 查找某一字符串出现的次数算法流程图(3)删除某一字符串算法流程图i+i=0 n=0i<N i>=Nc=strstr(wzi,s)c!=0 c=0leni=strlen(wzi);lenc=strlen(c);p=leni-lencreturn n算法结束for(k=1;k<=lens;k+)for(j=p;j<=leni;j+)wzij=wzij+1; leni=strlen(wzi) wzij-1='0'leni=strlen(wzi);c=strstr(wzi,s); 图5-3 删除某一字符串算法流程图6.调试分析本软件是基于Windows的编程开发,所以,软件调试必须在Windows环境下进行。调试前须做好准备工作:(1) 需要安装Visual C+6.0的计算机一台;配置好之后,在Visual C+6.0环境下进行软件的调试。(2) 测试数据:输入文字并统计这段文字中各字符串的个数:在“输入文字”模块中,根据提示输入一段文字,按提示的方式确定后将会输出这段文章中的全部字母数、数字个数、空格字数以及文章总字数。例如:输入文字“Only if we hold on to our dream can we turn it into reality!只有坚持自己的梦想,我们才能梦想成真!”程序将会输出:全部字母数:46 数字个数:0 空格个数:12 文章总字数:9统计某一特定字符串的个数:在输入的文章中统计出某一特定字符串的个数。例如:统计“Only if we hold on to our dream can we turn it into reality!只有坚持自己的梦想,我们才能梦想成真!”这段文字中“i”出现的次数,结果为:i出现的次数为:4。 删除某一字符串:在输入的文章中删除某一特定字符串;例如:删除“Only if we hold on to our dream can we turn it into reality!只有坚持自己的梦想,我们才能梦想成真!”这段文字中“自己”这两个字,输出为:Only if we hold on to our dream can we turn it into reality!只有坚持的梦想,我们才能梦想成真!(3) 算法改进设计:本程序的文章为用户输入的文章,只能做即时输入的统计、编辑,而不能对已有的磁盘文件中的文章进行统计、编辑,如果引入文件流类,就可以打开磁盘文件,对其进行统计、编辑并保存,这是有待改进的。7.使用说明7.1输入一段文字 按提示输入以下一段文字:“Only if we hold on our dream can we turn it into reality!只有坚持自己的理想,我们才能梦想成真!”输出如图7-1所示。图7-1 输入文章信息7.2 统计文章中各字符串个数图7-2统计特定字符串7.3 删除某一字符串图7-3删除特定字符串8.设计总结回顾起此次课程设计,我感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,在这两个多星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到的问题颇多,可以说是困难重重。例如,设计之初就遇到一个问题:输入文章时,计算机怎样识别文章是否结束?输出文章时,怎样处理表示结束的字符?后来通过查阅资料,询问同学,最终找到了解决方法:输入文章时,以Ctrl+E(E)为结尾,当tmp0=5时,发现输入 E,则退出输入。输出时文章时,如果tmpstrlen(tmp)-1=5即发现表示结束的字符E,用p->datastrlen(tmp)-1='0'除去最后一个控制符 E。毕竟还是纸上谈兵多于实际操作的学生,难免会遇到过各种各样的问题,同时我也在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固通过这次课程设计,一定要把以前所学过的知识重新温习。 同时,在课程设计过程中,我学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪,黑夜过去了,我们收获的是黎明!最后,衷心地感谢老师和老师的悉心指导以及同学们的热情帮助!9.参考文献1 耿国华等编著,数决结构C语言描述(第二版),西安电子科技大学出版社,2008.7 2 赵文静,祁飞等编著,数据结构与算法,科学出版社,2005.083 赵文静编著,数据结构-C+语言描述,西安交通大学出版社,1999.014 孙鑫,于安萍编著,VC+深入详解,电子工业出版社,2007.75 COHOON & DAVIDSON编著,C+程序设计,清华大学出版社,2005.8

    注意事项

    本文(数据结构课程设计-文章编辑.doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开