数据结构课程设计___文字编辑器.docVIP

  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文档。上传文档
查看更多
数据结构课程设计报告 学校:中南大学 学院:信息科学与工程学院 班级:计算机科学与技术1101班 姓名:杜茂鹏 课题:文字编辑器 时间:2013年7月3日 目 录 设计目的 问题描述 设计要求 设计构思 算法说明 测试结果 总结反思 源程序 1设计目的 1) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; 2) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4) 进行全面综合的训练,对课堂教学、实验等环节的有益补充。 5) 提高解决实际问题和培养软件工作所需的动手能力。 6) 深化理解和灵活掌握教学内容 7) 进行软件工程的综合训练。训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 2问题描述 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 3设计要求 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章; 6测试结果 8总结反思 通过本次课程设计,我对数据结构的理解进一步加深,我理解和掌握了每一段程序代码的功能及含义,并且能够实现文字编辑的主要功能:利用链表实现文字的存储问题,利用模式匹配查找字符串。学习数据结构,我学会如何将所学的知识运用到实际中,解决一些实际的问题,这才是学习的根本。 当然在实验中我也遇到了不少实际性的问题,编写的程度要与实际有联系,这就不能只依赖于课本,还要联系实际多多思考,重复调试,不断改进,才能编出一个符合实际的有价值的系统。 9源程序 #include stdio.h #includestdlib.h #include string.h #includemalloc.h //创造链表 typedef char DataType; typedef struct node { DataType ch[500]; struct node *next; }Lstring; //输入函数 Lstring *input() { FILE*fp; if((fp=fopen(E:\\文字编辑结果.txt,w))==0) { printf(打不开\n); exit(0); } Lstring *p,*head; int i=0,a=0; printf (************请输入一段文字,每行不超过80个字符,结束请按“#”************\n); p=(Lstring *)malloc(sizeof(Lstring)); head=p; p-ch[i]=0; p-next=0; char str[200]; while(1) { gets(str); if(strlen(str)80) { printf(每行最多输入80个字符,请重启程序\n); exit(0); } if(str[0]==35) { str[0]=\0; p-ch[0]=str[0]; break; } p-next=(Lstring *)malloc(sizeof(Lstring)); strcpy(p-ch,str); if(str[strlen(str)-1]==35) { p-ch[strlen(str)-1]=\0; break; } p=p-next; } p-next=NULL; i=0; while(1) { fputc(p-ch[i],fp); i++; if(p-ch[i]==\0) break; } fputc(\n,fp); fclose(fp); return head; } //输出函数 Lstring *OutPut(Lstring *head) {

文档评论(0)

liyxi26 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档