数据结构课程设计报告--文章编辑_第1页
数据结构课程设计报告--文章编辑_第2页
数据结构课程设计报告--文章编辑_第3页
数据结构课程设计报告--文章编辑_第4页
数据结构课程设计报告--文章编辑_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东工业大学计算机科学学院课程规划(数据结构)班级级别分部0901西方人名的第一个字许学校编号教师张先伟2011年1月20日课程设计任务书与绩效评估主题名称文章编辑器一、本专题的目的和要求:1.设计目标巩固和加深对数据结构的理解,通过计算机实验和程序调试,加深对教科书知识的理解,最终使学生能够熟练地应用数据结构知识编写程序。(1)通过本课程的学习,您可以掌握几种基本数据结构的基本操作。(2)为给定的主题选择相应的数据结构,分析和设计算法,然后给出问题的正确解决过程,并编写实现代码。2.设计主题的要求:功能:输入一页文字,程序可以计算字数、数字和空格。静态存储一页文章,每行不超过80个字符,共n行;要求(1)分别计算整篇文章中英文字母和空格的数量以及单词的总数;(2)统计字符串在文章中出现的次数,并输出次数;(3)删除一个子字符串,并将以下字符向前移动。存储结构使用线性表和几个子函数来实现相应的功能。输入数据的形式和范围:可以输入大小写英文字母,任意数字和标点符号。输出形式:(1)逐行输出用户输入的字符;(2)输出4行“所有字母”、“数字数”,文章中的空格数和总字数(3)删除字符串后输出文章二。设计进度和完成每日周期内体积1.10-1.11选择参考书,查阅相关文献,完成数据收集和系统分析。1.121.14创建相关的数据结构并输入源程序。1.171.19调试程序,记录调试中出现的问题,初步完成课程设计报告。1.201.21提交课程设计报告的印刷版本,并做出课程设计回复。每个学生都被要求回答3-4个问题,这些问题来自于他自己的设计。考试结束后,将电子版的课程设计报告和源程序提交给班长统一制作光盘。三。主要参考资料和材料1严为民数据结构(C语言版)清华大学出版社19992严为民数据结构主题集(C语言版)清华大学出版社19993谭浩强C语言程序设计清华大学出版社4与所用编程环境相匹配的C语言或C相关材料Iv .绩效评估:设计结果:(由教师完成)教员:(签名)2011年1月21日内容第一章概述1第二章系统分析2第三章概要设计3第四章详细设计5第五章运行和测试14第六章总结和经验18参考文献19第一章概述课程设计是实践教学的重要环节。它以某一课程为基础,可以涵盖与该课程相关的所有方面。这是一门独立于课程的特殊课程。课程设计使学生能够更全面地学习和应用所学的课程,理解和掌握课程的相关知识。数据结构是一门重要的专业基础课,是计算机理论与应用的核心基础课。数据结构课程设计要求学生从数据结构的逻辑特征和物理表示、数据结构的选择和应用、算法的设计和实现等方面加深对课程基本内容的理解。同时,他们在编程方法、计算机操作等基本技能和科学风格方面接受了系统而严格的培训。在这个课程设计中,我选择了文章编辑这个主题。文章编辑主要包括修改、删除、统计字数等操作,但手工编辑效率较低,容易出错。然而,借助于计算机系统来编辑文章,可以极大地提高效率,降低错误率,并且可以使文章的编辑更加方便和高效。第二章系统分析1.文章编辑的基本功能包括:统计文章中的词信息;查询一个单词在文章中出现的次数;删除文章中出现的一个单词。为了实现上述功能,需要一个基于顺序存储结构的线性表来存储文章的内容。2.演示程序以用户和计算机之间对话的形式执行,这需要一个模块来完成用户和计算机之间的语言转换。这个模块直接写在主程序中。3.程序执行期间的命令:为了使用方便,程序使用基于菜单的方法来完成程序演示。几乎不需要输入任何特殊命令,只需按提示输入选择。4.测试数据:分别测试不同功能的几组不同数据。详情请参考操作测试。5.工艺流程图:第三章概要设计本章主要介绍1.数据结构设计实验主要使用基于顺序存储结构的线性表,并由一维数组表示。2.算法设计无效计数(字符)统计文章中的所有字母、数字、空格和字符,并将其输出到屏幕上。void strcount(char str),char temp)计算字符串temp在文章中出现的次数。void strdelete(char str,char temp)删除文章中的字符串temp。KMP国际机场(国际机场,国际机场)找到主字符串中第k个字符后模式字符串的第一个位置,如果模式字符串不在主字符串中,则返回-1。3.抽象数据类型的设计日常用品数据对象:d=ai | ai elemset,i=1,2,n,n 0数据关系:R1=| AI-1,AI d,I=2,n基本操作:init(Arti)操作结果:构建一个空文章输入(Arti)初始条件:文章Arti已经存在操作结果:输入文章继续输入(Arti)初始条件:文章Arti已经存在操作结果:继续录入文章del(Arti,pos,k)初始条件:文章Arti已经存在操作结果:删除文章中位置后的k个字符计数(Arti)初始条件:文章Arti已经存在操作结果:统计文章的所有字母、数字、空格和字符strcount(Arti,temp)初始条件:文章Arti已经存在操作结果:计算模式字符串在主字符串中出现的次数strdelete(Arti温度,t)初始条件:文章Arti已经存在操作结果:删除主字符串中第t个模式字符串的对应字符,如果t为0,则全部删除空(Arti)初始条件:文章Arti已经存在操作结果:判断物品是否为空lengh(Arti)初始条件:文章Arti已经存在操作结果:文章长度清除(Arti)初始条件:文章Arti已经存在操作结果:空文章输出(Arti)初始条件:文章Arti已经存在操作结果:输出文章日常用品第四章详细设计1.对应于抽象数据类型的类定义。文章/文章private:char str1000;public:第()条 str0= 0;void输入();/输入文章void continue _ input();/继续键入文章void del(int pos,int k);/删除文章中位置后的k个字符无效计数();/计算文章中字母、数字、空格和字符的总数整数(char temp);/计算模式字符串在主字符串中出现的次数国际旅行社(,国际旅行社);/删除主字符串中第T个模式字符串的对应字符。如果T为0,则将其全部删除。bool empty();/判断文章是否为空int length()/文章长度返回strlen(str);清空()/空文章 str0= 0;Void输出()/输出文章 printf(“% s n”,字符串);arti条;2.成员函数和其他子函数。/输入新文章void Article:input输入()int I=0;char c;打印(“请输入文章并以#: n结尾”);getchar();而(1)c=getchar();if(c=#)休息;一号=c;我;if(i=0)printf(您没有输入文章! n );其他str1= 0;printf(文章输入成功! n );/继续输入文章无效文章: Continue _ input()int i,j;char c;I=strlen(str);j=i .if(i=0)printf(提示:原文章为空!请输入文章,以#结束: n );其他printf(请继续输入文章,以#结束: n );getchar();而(1)c=getchar();if(c=#)休息;一号=c;我;if(i=j)printf(您没有继续输入文章! n );其他str1= 0;printf(文章输入成功! n );/删除pos位置之后的k个字符无效条款: del(int pos,int k)国际;(一=位置k-1;!= 0;一世=一世;strI-k= 0;/统计文章全部字母数、数字个数、空格个数、文章字符总数无效文章:计数()int字母=0,number=0,blank=0,all=0;整数1=0;同时(一世)!=0)if(isalpha(str一级)字母;否则如果(一号线)数字;否则如果(stri=)空白;如果(一号)!=n)全部;我;printf(文章字符统计信息如下: n );printf(字母个数:%dn ,字母);printf(数字个数:%dn ,数字);printf(空格个数:%dn ,空白);printf(字符总数:%dn ,全部);/取得模式串的然后值void get_next(char temp,下一个)int i=0,j=-1;int len=strlen(温度);下一个0=-1;而(i-1|tempi=tempj)下一个;我;j;if(tempi=tempj)下一个一号下一个j;其他下一个一世;/KMP算法,返回模式串在主串中第k个字符后的第一个位置,若模式串不在主串中,返回-1KMP国际机场(国际机场国际机场)int pos=-1;/模式串在主串中的位置int i,j;int len1,len2/主串与模式串的长度下一个81;/KMP算法中模式串的然后值len 1=strlen(str);len2=strlen(温度);get_next(临时,下一个);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论